The multiply form of the instruction gives Rd:=Rm*Rs. Rn is ignored, a dịch - The multiply form of the instruction gives Rd:=Rm*Rs. Rn is ignored, a Việt làm thế nào để nói

The multiply form of the instructio

The multiply form of the instruction gives Rd:=Rm*Rs. Rn is ignored, and should be set
to zero for compatibility with possible future upgrades to the instruction set.
The multiply-accumulate form gives Rd:=Rm*Rs+Rn, which can save an explicit ADD
instruction in some circumstances.
Both forms of the instruction work on operands which may be considered as signed (2’s
complement) or unsigned integers.

Final - Open Access
ARM Instruction Set
4-14
ARM7TDMI-S Data Sheet
ARM DDI 0084D
The form of the shift field which might be expected to give ROR #0 is used to encode
a special function of the barrel shifter, rotate right extended (RRX). This is a rotate right
by one bit position of the 33 bit quantity formed by appending the CPSR C flag to the
most significant end of the contents of Rm as shown in
Figure 4-10: Rotate right
extended
.
Figure 4-10: Rotate right extended
Register specified shift amount
Only the least significant byte of the contents of Rs is used to determine the shift
amount. Rs can be any general register other than R15.
If this byte is zero, the unchanged contents of Rm will be used as the second operand,
and the old value of the CPSR C flag will be passed on as the shifter carry output.
If the byte has a value between 1 and 31, the shifted result will exactly match that of an
instruction specified shift with the same value and shift operation.
If the value in the byte is 32 or more, the result will be a logical extension of the shift
described above:
1LSL by 32 has result zero, carry out equal to bit 0 of Rm.
2LSL by more than 32 has result zero, carry out zero.
3LSR by 32 has result zero, carry out equal to bit 31 of Rm.
4LSR by more than 32 has result zero, carry out zero.
5ASR by 32 or more has result filled with and carry out equal to bit 31 of Rm.
6ROR by 32 has result equal to Rm, carry out equal to bit 31 of Rm.
7ROR by n where n is greater than 32 will give the same result and carry out as
ROR by n-32; therefore repeatedly subtract 32 from n until the amount is in the
range 1 to 32 and see above.
Note
The zero in bit 7 of an instruction with a register controlled shift is compulsory; a one in
this bit will cause the instruction to be a multiply or undefined instruction.
contents of Rm
value of operand 2
31
0
carry out
54
contents of Rm
value of operand 2
31
0
carry
out
1
C
in
Final - Open Access
ARM Instruction Set
4-15
ARM7TDMI-S Data Sheet
ARM DDI 0084D
4.5.3 Immediate operand rotates
The immediate operand rotate field is a 4 bit unsigned integer which specifies a shift
operation on the 8 bit immediate value. This value is zero extended to 32 bits, and then
subject to a rotate right by twice the value in the rotate field. This enables many
common constants to be generated, for example all powers of 2.
4.5.4 Writing to R15
When Rd is a register other than R15, the condition code flags in the CPSR may be
updated from the ALU flags as described above.
When Rd is R15 and the S flag in the instruction is not set the result of the operation is
placed in R15 and the CPSR is unaffected.
When Rd is R15 and the S flag is set the result of the operation is placed in R15 and
the SPSR corresponding to the current mode is moved to the CPSR. This allows state
changes which atomically restore both PC and CPSR. This form of instruction should
not be used in User mode.
4.5.5 Using R15 as an operand
If R15 (the PC) is used as an operand in a data processing instruction the register is
used directly.
The PC value will be the address of the instruction, plus 8 or 12 bytes due to instruction
prefetching. If the shift amount is specified in the instruction, the PC will be 8 bytes
ahead. If a register is used to specify the shift amount the PC will be 12 bytes ahead.
4.5.6 TEQ, TST, CMP and CMN opcodes
Note
TEQ, TST, CMP and CMN do not write the result of their operation but do set flags in
the CPSR. An assembler should always set the S flag for these instructions even if this
is not specified in the mnemonic.
The TEQP form of the TEQ instruction used in earlier ARM processors must not be
used: the PSR transfer operations should be used instead.
The action of TEQP in the ARM7TDMI-S is to move SPSR_ to the CPSR if the
processor is in a privileged mode and to do nothing if in User mode.
4.5.7 Instruction cycle times
Data Processing instructions vary in the number of incremental cycles taken as follows:
S, N and I are as defined in
6.2 Cycle Types
on page 6-3.
4.5.8 Assembler syntax
1MOV,MVN (single operand instructions.)
{cond}{S} Rd,
Processing Type Cycles
Normal Data Processing
1S
Data Processing with register specified shift 1S + 1I
Data Processing with PC written
2S + 1N
Data Processing with register specified shift and PC written 2S + 1N + 1I
Table 4-4: Incremental cycle times
Final - Open Access
ARM Instruction Set
4-16
ARM7TDMI-S Data Sheet
ARM DDI 0084D
2CMP,CMN,TEQ,TST (instructions which do not produce a result.)
{cond} Rn,
3AND,EOR,SUB,RSB,ADD,ADC,SBC,RSC,ORR,BIC
{cond}{S} Rd,Rn,
where:
is Rm{,} or,
{cond} is a two-character condition mnemonic. See
Table 4-2:
Condition code summary
on page 4-5.
{S} set condition codes if S present (implied for CMP, CMN, TEQ,
TST).
Rd, Rn and Rm are expressions evaluating to a register number.
if this is used, the assembler will attempt to generate a shifted
immediate 8-bit field to match the expression. If this is
impossible, it will give an error.
is or #expression, or
RRX (rotate right one bit with extend).
s are: ASL, LSL, LSR, ASR, ROR. (ASL is a synonym for LSL,
they assemble to the same code.)
4.5.9 Examples
ADDEQR2,R4,R5 ; If the Z flag is set make R2:=R4+R5
TEQSR4,#3 ; test R4 for equality with 3.
; (The S is in fact redundant as the
; assembler inserts it automatically.)
SUB R4,R5,R7,LSR R2 ; Logical right shift R7 by the number in
; the bottom byte of R2, subtract result
; from R5, and put the answer into R4.
MOV PC,R14 ; Return from subroutine.
MOVSPC,R14 ; Return from exception and restore CPSR
; from SPSR_mode.
Final - Open Access
ARM Instruction Set
4-17
ARM7TDMI-S Data Sheet
ARM DDI 0084D
4.6 PSR Transfer (MRS, MSR)
The instruction is only executed if the condition is true. The various conditions are
defined in
Table 4-2: Condition code summary
on page 4-5.
The MRS and MSR instructions are formed from a subset of the Data Processing
operations and are implemented using the TEQ, TST, CMN and CMP instructions
without the S flag set. The encoding is shown in
Figure 4-11: PSR transfer
on page
4-18.
These instructions allow access to the CPSR and SPSR registers. The MRS instruction
allows the contents of the CPSR or SPSR_ to be moved to a general register.
The MSR instruction allows the contents of a general register to be moved to the CPSR
or SPSR_ register.
The MSR instruction also allows an immediate value or register contents to be
transferred to the condition code flags (N,Z,C and V) of CPSR or SPSR_
without affecting the control bits. In this case, the top four bits of the specified register
contents or 32 bit immediate value are written to the top four bits of the relevant PSR.
4.6.1 Operand restrictions
•In User mode, the control bits of the CPSR are protected from change, so only
the condition code flags of the CPSR can be changed. In other (privileged)
modes the entire CPSR can be changed.
Note that the software must never change the state of the T bit in the CPSR. If
this happens, the processor will enter an unpredictable state.
•The SPSR register which is accessed depends on the mode at the time of
execution. For example, only SPSR_fiq is accessible when the processor is in
FIQ mode.
•You must not specify R15 as the source or destination register.
•Also, do not attempt to access an SPSR in User mode, since no such register
exists.
Final - Open Access
ARM Instruction Set
4-18
ARM7TDMI-S Data Sheet
ARM DDI 0084D
Figure 4-11: PSR transfer
Cond
0
000000000000
Rd
P
00010
s
001111
16
15
12
11
22
28
21
31
23
27
MRS (transfer PSR contents to a register)
Destination register
Source PSR
Condition field
0=CPSR
1=SPSR_
Cond
0
00000000
Rm
P
00010
d
1010011111
4
3
12
11
22
28
21
31
23
27
MSR (transfer register contents to PSR)
Source register
Destination PSR
Condition field
0=CPSR
1=SPSR_
Cond
0
Source operand
P
00
d
1010001111
12
11
22
28
21
31
23
27
MSR (transfer register contents or immdiate value to PSR flag bits only)
Destination PSR
Immediate Operand
0=CPSR
1=SPSR_
I
10
11
4
3
0
0=source operand is a register
1=source operand is an immediate value
11 8 7 0
Condition field
00000000
Rotate
Imm
Rm
Source register
Unsigned 8 bit immediate value
shift applied to Imm
Final - Open Access
ARM Instruction Set
4-19
ARM7TDMI-S Data Sheet
ARM DDI 0084D
4.6.2 Reserved bits
Only twelve bits of the PSR are defined in ARM7TDMI-S (N,Z,C,V,I,F, T & M[4:0]); the
remaining bits are reserved for use in future versions of the processor. Refer to
Figure 3-6: Program status register format
on page 3-12 for a full description of the
PSR bits.
To e n s u r e t h e m a x i m u m c o m p a t i b i l i t y b e t w e e n A R M 7 T D M I - S p r o g r a m s a n d f u t u r e
processors, the following rules should be observed:
•The reserved bits should be preserved when changing the value in a PSR.
•Programs should not rely on specific values from the reserved bits when
checking the PSR status, since they may read as one or zero in f
0/5000
Từ: -
Sang: -
Kết quả (Việt) 1: [Sao chép]
Sao chép!
Các hình thức multiply của các hướng dẫn cho Rd: = Rm * Rs. Rn được bỏ qua, và nên được đặt không để tương thích với có thể nâng cấp trong tương lai để tập lệnh.Các hình thức multiply-accumulate cho Rd: = Rm * Rs + Rn, mà có thể giúp tiết kiệm thêm rõ ràng hướng dẫn trong một số trường hợp. Cả hai hình thức các công việc giảng dạy trên operands có thể được coi là ký (2 bổ sung) hoặc unsigned số nguyên.Cuối cùng - truy cập mởCánh tay hướng dẫn thiết lập4-14ARM7TDMI-S Data SheetCÁNH TAY DDI 0084DCác hình thức của lĩnh vực thay đổi mà có thể được dự kiến sẽ cung cấp cho ROR #0 được sử dụng để mã hóa một chức năng đặc biệt của cần số thùng, xoay phải mở rộng (RRX). Đây là một phải xoay bởi một chút vị trí của số lượng 33 bit được hình thành bằng cách phụ thêm CPSR C gắn cờ để các Các kết thúc đáng chú ý nhất của nội dung của Rm như minh hoạ trong Hình 4-10: xoay phải mở rộng. Hình 4-10: xoay phải mở rộngĐăng ký được chỉ định thay đổi số tiềnChỉ là byte ít quan trọng của nội dung của Rs được sử dụng để xác định sự thay đổi số tiền. RS có thể là bất kỳ đăng ký chung khác hơn so với R15. Nếu này byte là zero, các nội dung không thay đổi của Rm sẽ được sử dụng như operand thứ hai, và giá trị cũ của lá cờ CPSR C sẽ được thông qua như cần số mang đầu ra. Nếu các byte có một giá trị giữa 1 và 31, kết quả shifted sẽ chính xác phù hợp của một hướng dẫn xác định sự thay đổi với cùng một giá trị và sự thay đổi hoạt động. Nếu các giá trị trong các byte là 32 hoặc nhiều hơn, kết quả sẽ là một phần mở rộng hợp lý của sự chuyển đổi Mô tả ở trên: 1LSL x 32 có kết quả bằng 0, thực hiện bình đẳng để bit 0 của Rm.2LSL x hơn 32 có kết quả bằng 0, thực hiện zero.3LSR x 32 có kết quả bằng 0, thực hiện bằng chút 31 Rm. 4LSR x hơn 32 có kết quả bằng 0, thực hiện zero. 5ASR bởi 32 trở lên có kết quả với đầy đủ và thực hiện bình đẳng để chút 31 Rm. 6ROR x 32 có kết quả bằng Rm, thực hiện bằng chút 31 Rm. 7ROR bởi n n là lớn hơn 32 sẽ cho kết quả tương tự và thực hiện như ROR bởi n-32; do đó liên tục trừ 32 từ n cho đến khi số tiền là trong các nằm trong khoảng 1 đến 32 và xem ở trên.Lưu ýChiếc zero trong bit 7 một giảng dạy với đăng ký một quản lý sự thay đổi là bắt buộc; một trong những trong bit này sẽ gây ra các hướng dẫn để là một multiply hoặc undefined hướng dẫn. nội dung của Rmgiá trị của operand 2310thực hiện54nội dung của Rmgiá trị của operand 2310thực hiệntrong1CởCuối cùng - truy cập mởCánh tay hướng dẫn thiết lập4-15ARM7TDMI-S Data SheetCÁNH TAY DDI 0084D4.5.3 ngay lập tức operand quayNgay lập tức operand xoay lĩnh vực là một số nguyên dấu 4 bit mà xác định một sự thay đổi hoạt động trên giá trị ngay lập tức 8 bit. Giá trị này là zero kéo dài đến 32 bit, và sau đó tùy thuộc vào xoay phải bởi hai lần giá trị trong lĩnh vực xoay. Điều này cho phép nhiều người Các hằng số phổ biến để được tạo ra, ví dụ: tất cả quyền lực của 2.4.5.4 viết để R15Khi Rd là một đăng ký khác hơn so với R15, tình trạng mã cờ trong CPSR có thể Cập Nhật từ những lá cờ ALU như mô tả ở trên. Khi Rd là R15 và cờ S trong giảng dạy không được thiết lập là kết quả của chiến dịch là Đặt trong R15 và CPSR là không bị ảnh hưởng.Khi Rd là R15 và cờ S thiết lập kết quả của các hoạt động được đặt trong R15 và SPSR tương ứng với các chế độ hiện tại sẽ được chuyển đến CPSR. Điều này cho phép nhà nước thay đổi mà atomically khôi phục cả PC và CPSR. Mẫu đơn này dùng cho học tập nên không được sử dụng trong chế độ người dùng. 4.5.5 sử dụng R15 như một operandNếu R15 (PC) được sử dụng như là một operand trong một chỉ dẫn xử lý dữ liệu đăng ký sử dụng trực tiếp. Giá trị PC sẽ là địa chỉ của các hướng dẫn, cộng với 8 hoặc 12 byte do hướng dẫn tải trước. Nếu số tiền thay đổi được chỉ định trong giảng dạy, máy PC sẽ là 8 byte phía trước. Nếu đăng ký một được sử dụng để xác định số tiền thay đổi máy PC sẽ là 12 byte trước.4.5.6 TEQ, TST, CMP và CMN mãLưu ýTEQ, TST, CMP và CMN không viết kết quả hoạt động của họ nhưng đặt cờ trong CPSR. Lắp ráp một nên luôn luôn đặt cờ S cho hướng dẫn ngay cả khi điều này không được xác định trong ghi nhớ. Các hình thức TEQP của các hướng dẫn TEQ được sử dụng trong bộ vi xử lý ARM trước đó không phải là sử dụng: các hoạt động chuyển PSR nên được sử dụng để thay thế.Hành động của TEQP trong ARM7TDMI-S là di chuyển SPSR_ để CPSR nếu các bộ vi xử lý là trong một chế độ đặc quyền và để không phải làm gì nếu ở chế độ người dùng.4.5.7 hướng dẫn chu kỳ lầnHướng dẫn xử lý dữ liệu khác nhau về số lượng gia tăng chu kỳ thực hiện như sau:S, N và tôi là theo quy định tại 6.2 vòng loại trên trang 6-3.4.5.8 lắp ráp cú pháp1MOV, MVN (hướng dẫn duy nhất operand.){cond} {S} Rd, Xử lý loại chu kỳXử lý dữ liệu bình thường1Xử lý dữ liệu với đăng ký chỉ định 1 sự thay đổi + 1IXử lý dữ liệu với PC viết lưu2 + 1NXử lý dữ liệu với đăng ký chỉ định sự thay đổi và PC viết 2 + 1N + 1I Bảng 4-4: gia tăng chu kỳ lầnCuối cùng - truy cập mởCánh tay hướng dẫn thiết lập4-16ARM7TDMI-S Data SheetCÁNH TAY DDI 0084D2CMP, CMN, TEQ, TST (hướng dẫn mà không sản xuất một kết quả.) {cond} RN, 3AND, EOR, SUB, RSB, THÊM, ADC, SBC, RSC, ORR, BIC{cond} {S} Rd, Rn,ở đâu: là Rm {,} hoặc < #expression >{cond} là một ghi nhớ điều kiện hai ký tự. Xem Bảng 4-2: Tình trạng mã tóm tắt trên trang 4-5.{S} thiết lập tình trạng mã nếu S hiện nay (ngụ ý cho CMP CMN, TEQ, TST). Rd, Rn và Rm là biểu thức đánh giá cho một số đăng ký. < #expression > nếu điều này được sử dụng, lắp ráp sẽ cố gắng để tạo ra một shifted ngay lập tức dài 8 bit để phù hợp với các biểu hiện. Nếu điều này là không thể, nó sẽ cho một lỗi. là hoặc #expression, hoặc RRX (xoay bên phải một chút với kéo dài). s là: ASL, LSL, LSR, ASR, ROR. (ASL là đồng nghĩa của LSL, họ lắp ráp để cùng mã.)4.5.9 ví dụADDEQR2, R4, R5; Nếu cờ Z được đặt làm cho R2: = R4 + R5TEQSR4, #3; kiểm tra R4 cho sự bình đẳng với 3. ; (S là trong thực tế dự phòng như các ; lắp ráp chèn nó tự động.)TIỂU R4, R5, R7, LSR R2; Hợp lý thay đổi đúng R7 bởi số trong ; byte dưới cùng của R2, trừ kết quả ; từ R5, và đặt câu trả lời vào R4.MOV PC, R14; Trở về từ chương trình con.MOVSPC, R14; Trở về từ ngoại lệ và khôi phục lại CPSR ; từ SPSR_mode.Cuối cùng - truy cập mởCánh tay hướng dẫn thiết lập4-17ARM7TDMI-S Data SheetCÁNH TAY DDI 0084D4.6 PSR chuyển (bà, MSR)Các hướng dẫn chỉ được thực hiện nếu các điều kiện là đúng sự thật. Các điều kiện khác nhau được định nghĩa trong Bảng 4-2: tình trạng mã tóm tắt trên trang 4-5. Các hướng dẫn MRS và MSR được hình thành từ một tập hợp con của việc xử lý dữ liệu hoạt động và được thực hiện bằng cách sử dụng các hướng dẫn TEQ, TST, CMN và CMP mà không có bộ cờ S. Mã hóa được thể hiện trong Hình 4-11: PSR chuyển trên trang 4-18.Những hướng dẫn này cho phép truy cập để đăng ký CPSR và SPSR. Hướng dẫn MRS cho phép nội dung của CPSR hoặc SPSR_ được chuyển đến một đăng ký chung. Hướng dẫn MSR cho phép nội dung của một đăng ký chung được chuyển đến CPSR hoặc SPSR_ Đăng ký. Hướng dẫn MSR cũng cho phép một giá trị ngay lập tức hoặc đăng ký nội dung phải chuyển giao cho tình trạng mã cờ (N, Z, C và V) CPSR hoặc SPSR_ mà không ảnh hưởng đến các bit kiểm soát. Trong trường hợp này, các bit bốn hàng đầu của các quy định đăng ký nội dung hoặc 32 bit giá trị ngay lập tức được viết để các bit bốn hàng đầu của PSR có liên quan. 4.6.1 operand hạn chế•In chế độ người dùng, các bit kiểm soát của CPSR được bảo vệ từ sự thay đổi, vì vậy chỉ tình trạng mã cờ của CPSR có thể được thay đổi. Khác (đặc quyền) chế độ toàn bộ CPSR có thể được thay đổi. Lưu ý rằng các phần mềm phải không bao giờ thay đổi trạng thái của bit T trong CPSR. NếuĐiều này xảy ra, bộ xử lý sẽ nhập vào một nhà nước không thể đoán trước.Đăng ký SPSR •mã truy cập phụ thuộc vào chế độ tại thời điểm thực hiện. Ví dụ, chỉ SPSR_fiq có thể truy cập khi bộ vi xử lý Chế độ FIQ. •Bạn không phải chỉ định R15 như đăng ký nguồn hoặc đích.•Also, không tìm cách truy cập vào một SPSR trong chế độ người dùng, kể từ khi không có đăng ký như vậy tồn tại.Cuối cùng - truy cập mởCánh tay hướng dẫn thiết lập4-18ARM7TDMI-S Data SheetCÁNH TAY DDI 0084D Hình 4-11: PSR chuyểnCond0000000000000RdP00010s00111116151211222821312327MRS (PSR chuyển nội dung vào một đăng ký)Điểm đến đăng kýNguồn PSRLĩnh vực tình trạng0 = CPSR1 = SPSR_Cond000000000RMP00010d1010011111431211222821312327MSR (chuyển đăng ký nội dung để PSR)Đăng ký nguồnĐích PSRLĩnh vực tình trạng0 = CPSR1 = SPSR_Cond0Nguồn operandP00d10100011111211222821312327MSR (chuyển đăng ký nội dung hoặc immdiate giá trị để PSR cờ bit chỉ)Đích PSRNgay lập tức Operand0 = CPSR1 = SPSR_Tôi10114300 = nguồn operand là một đăng ký1 = nguồn operand là một giá trị ngay lập tức11 8 7 0Lĩnh vực tình trạng00000000XoayImmRMĐăng ký nguồnGiá trị ngay lập tức điều 8 bitsự thay đổi áp dụng cho ImmCuối cùng - truy cập mởCánh tay hướng dẫn thiết lập4-19ARM7TDMI-S Data SheetCÁNH TAY DDI 0084D4.6.2 reserved bitChỉ mười hai bit của PSR được xác định trong ARM7TDMI-S (N, Z, C, V, tôi, F, T & M[4:0]); Các bit còn lại được dành riêng để sử dụng trong các phiên bản tương lai của bộ vi xử lý. Tham khảo Hình 3-6: chương trình tình trạng đăng ký định dạng trên trang 3-12 cho một mô tả đầy đủ về các PSR bit.E n s bạn là e t h e m x một tôi m u m c o m p một t tôi b tôi l tôi t y b e t w e e n A R M 7 T D M tôi - S p r o g r một u s n d f m t mày e bộ vi xử lý, các quy tắc sau đây nên được quan sát: •Mã bảo lưu bit cần được bảo tồn khi thay đổi các giá trị trong một PSR. •Programs không nên dựa vào các giá trị cụ thể từ các dự trữ bit khi kiểm tra trạng thái PSR, kể từ khi họ có thể đọc như một hoặc zero FA
đang được dịch, vui lòng đợi..
Kết quả (Việt) 2:[Sao chép]
Sao chép!
Các hình thức nhân của các hướng dẫn cho Rd: = Rm * Rs. Rn được bỏ qua, và nên được thiết lập
để không cho khả năng tương thích với các nâng cấp có thể trong tương lai để các tập lệnh.
Các hình thức nhân-tích lũy cho Rd: = Rm * Rs + Rn, có thể tiết kiệm một Thanh rõ ràng
hướng dẫn trong một số trường hợp.
Cả hai hình thức công tác giảng dạy về toán hạng có thể được coi như đã ký kết (2 của
bổ sung) hoặc unsigned số nguyên. Final - Open Access ARM Instruction Set 4-14 tấm ARM7TDMI-S liệu ARM DDI 0084D Các hình thức của các lĩnh vực mà có thể thay đổi được dự kiến sẽ cung cấp cho ROR # 0 được sử dụng để mã hóa một chức năng đặc biệt của shifter thùng, xoay phải mở rộng (RRX). Đây là một quyền xoay người một vị trí bit của số lượng 33 bit được hình thành bằng cách thêm các CPSR C cờ đến cuối quan trọng nhất của các nội dung của Rm như trong Hình 4-10: Xoay phải mở rộng. Hình 4-10: Xoay phải mở rộng Đăng ký thay đổi số lượng quy định Chỉ byte quan trọng nhất của các nội dung của Rs được sử dụng để xác định sự thay đổi số lượng. Rs có thể được bất kỳ đăng ký chung khác hơn so với R15. Nếu byte này là số không, các nội dung không thay đổi của Rm sẽ được sử dụng như là các toán hạng thứ hai, và các giá trị cũ của CPSR C cờ sẽ được thông qua ngày như đầu ra shifter carry. Nếu byte có giá trị từ 1 đến 31, kết quả chuyển chính xác sẽ phù hợp của một hướng dẫn quy định thay đổi với những hoạt động giá trị và sự thay đổi tương tự. Nếu giá trị trong byte là 32 hoặc nhiều hơn, kết quả sẽ là một phần mở rộng logic của sự thay đổi mô tả ở trên:. 1LSL 32 đã cho kết quả bằng không, thực hiện bằng bit 0 của Rm 2LSL hơn 32 đã cho kết quả bằng không, thực ra không. 3LSR 32 có kết quả bằng không, thực hiện bằng bit 31 của Rm. 4LSR bởi hơn 32 đã cho kết quả bằng không, thực ra không. 5ASR bởi 32 hay nhiều đã tập kết quả đầy và thực hiện bằng bit 31 của Rm. 6ROR 32 đã cho kết quả bằng Rm, thực hiện bằng bit 31 của Rm. 7ROR bởi n trong đó n là lớn hơn 32 sẽ cho kết quả tương tự và thực hiện như ROR bởi n-32; do đó liên tục trừ đi 32 từ n đến khi số tiền là trong. khoảng 1-32 và xem ở trên Chú ý Các số không ở bit 7 của một hướng dẫn với đăng ký kiểm soát sự thay đổi là bắt buộc; một trong bit này sẽ gây ra các hướng dẫn để có một nhân hoặc không xác định được hướng dẫn. nội dung của Rm giá trị của toán hạng 2 31 0 thực hiện 54 nội dung của Rm giá trị của toán hạng 2 31 0 mang ra 1 C trong Final - Open Access ARM Instruction Set 4-15 ARM7TDMI-S Data Sheet ARM DDI 0084D 4.5.3 Immediate toán hạng quay Toán hạng ngay lập tức xoay lĩnh vực là một số nguyên không dấu 4 bit trong đó xác định một sự thay đổi hoạt động trên 8 bit giá trị ngay lập tức. Giá trị này là số không mở rộng đến 32 bit, và sau đó đề cập tới quyền xoay bằng hai lần giá trị trong lĩnh vực xoay. Điều này cho phép nhiều hằng số chung được tạo ra, ví dụ như tất cả các quyền hạn của 2. 4.5.4 Viết để R15 Khi Rd là một đăng ký khác với R15, những lá cờ mã điều kiện trong CPSR có thể được cập nhật từ những lá cờ ALU như mô tả ở trên. Khi Rd là R15 và S cờ trong giảng dạy không có thiết lập các kết quả của các hoạt động được đặt trong R15 và CPSR là không bị ảnh hưởng. Khi Rd là R15 và S cờ được thiết lập là kết quả của các hoạt động được đặt trong R15 và các SPSR tương ứng với chế độ hiện tại được chuyển đến CPSR. Điều này cho phép nhà nước thay đổi mà nguyên tử khôi phục cả PC và CPSR. Đây là hình thức giảng dạy nên không được sử dụng trong chế độ người dùng. 4.5.5 Sử dụng R15 như một toán hạng Nếu R15 (máy tính) được sử dụng như một toán hạng trong một hướng dẫn xử lý dữ liệu thanh ghi được sử dụng trực tiếp. Các giá trị PC sẽ là địa chỉ của các hướng dẫn, cộng với 8 hoặc 12 byte do hướng dẫn nạp trước. Nếu số tiền chuyển đổi được quy định trong hướng dẫn, máy tính sẽ có 8 byte trước. Nếu đăng ký một là sử dụng để xác định số tiền chuyển đổi các máy tính sẽ là 12 byte trước. 4.5.6 TEQ, TST, CMP và CMN opcodes Lưu ý TEQ, TST, CMP và CMN không ghi kết quả của các hoạt động của họ, nhưng làm bộ cờ trong các CPSR. Một nhà lắp ráp nên luôn luôn đặt S cờ cho các hướng dẫn thậm chí nếu điều này không được quy định trong chuỗi kia. Các hình thức TEQP của lệnh TEQ được sử dụng trong các bộ xử lý ARM trước đó không được sử dụng:. Các hoạt động chuyển giao PSR nên được sử dụng thay vì các hành động của TEQP trong ARM7TDMI-S là để di chuyển SPSR_


















































































đến CPSR
nếu. xử lý là trong một chế độ đặc quyền và không phải làm gì nếu ở chế độ tài
4.5.7 Hướng dẫn chu kỳ thời gian
hướng dẫn xử lý số liệu khác nhau về số lượng các chu kỳ gia tăng thực hiện như sau:
S, N và tôi như được định nghĩa trong
6.2 Các loại chu kỳ
trên trang 6-3.
4.5.8 Assembler cú pháp
1MOV, mvn (hướng dẫn toán hạng duy nhất.)
{cond} {S} Rd,
Loại chế biến Cycles
Bình thường Data Processing
1S
Xử lý dữ liệu với quy định đăng ký 1S shift + 1I
Xử lý dữ liệu với PC bằng văn bản
2S + 1N
Xử lý dữ liệu với quy định đăng ký thay đổi và PC bằng văn bản 2S + 1N + 1I
Bảng 4-4: Thời gian chu kỳ Incremental
Final - Open Access
ARM Instruction Set
4-16
tấm ARM7TDMI-S liệu
ARM DDI 0084D
2CMP, CMN, TEQ, TST (hướng dẫn mà không ra kết quả.)
{} cond Rn,
3AND, EOR, SUB, RSB, ADD, ADC, SBC, RSC, ORR, BIC
{cond} {S} Rd, Rn,
Trong đó:
là Rm {,} Hay, <# expression>
{} cond là một điều kiện hai nhân vật ghi nhớ. Xem
Bảng 4-2:
Điều kiện mã số tóm
tắt. Trên trang 4-5
{S} thiết lập mã điều kiện nếu S hiện tại (ngụ ý cho CMP, CMN,
TEQ,. TST)
Rd, Rn và Rm là những biểu hiện đánh giá một số đăng ký.
< #expression> nếu điều này được sử dụng, lắp ráp sẽ cố gắng để tạo ra một chuyển
trường 8-bit ngay lập tức để phù hợp với các biểu thức. Nếu đây là
không thể, nó sẽ cho một lỗi.
là hoặc là #expression, hoặc
RRX (xoay phải một chút với mở rộng).
s là: ASL, LSL, LSR, ASR, ROR. (ASL là một từ đồng nghĩa với LSL,
họ lắp ráp để cùng mã.)
4.5.9 Ví dụ
ADDEQR2, R4, R5; Nếu Z cờ được thiết lập làm cho R2: = R4 + R5
TEQSR4, # 3; kiểm tra R4 cho bình đẳng với
3.; (S là trong thực tế dôi dư trong
quá; lắp ráp tự động chèn nó.)
SUB R4, R5, R7, LSR R2; Dịch phải logic R7 bởi số lượng
trong; các byte dưới cùng của R2, kết quả
trừ; từ R5, và đặt các câu trả lời vào R4.
MOV PC, R14; Trở về từ chương trình con.
MOVSPC, R14; Trở về từ ngoại lệ và khôi phục
CPSR; từ SPSR_mode.
Final - Open Access
ARM Instruction Set
4-17
tấm ARM7TDMI-S liệu
ARM DDI 0084D
4,6 PSR Transfer (MRS, MSR)
Các hướng dẫn chỉ được thực hiện nếu điều kiện là đúng. Các điều kiện khác nhau được
quy định tại
Bảng 4-2: Điều kiện mã tóm
tắt. Trên trang 4-5
Các hướng dẫn MRS và MSR được hình thành từ một tập hợp con của Xử lý dữ liệu
hoạt động và được thực hiện bằng cách sử dụng TEQ, TST, CMN và hướng dẫn CMP
mà không S cờ thiết lập. Các mã được hiển thị trong
Hình 4-11: chuyển PSR
trên trang
4-18.
Những hướng dẫn này cho phép truy cập vào các CPSR và SPSR đăng ký. Các hướng dẫn MRS
cho phép các nội dung của CPSR hoặc SPSR_sẽ được chuyển đến một đăng ký chung.
Các hướng dẫn MSR cho phép các nội dung của một thanh ghi chung sẽ được chuyển đến các CPSR
hoặc SPSR_đăng ký.
Các hướng dẫn MSR cũng cho phép một giá trị trực tiếp hoặc đăng ký nội dung được
chuyển giao cho những lá cờ mã điều kiện (N, Z, C và V) của CPSR hoặc SPSR_
mà không ảnh hưởng đến các bit điều khiển. Trong trường hợp này, bốn bit đầu của sổ đăng ký theo quy định
nội dung hoặc 32 bit giá trị tức thời bằng văn bản cho bốn bit đầu của PSR có liên quan.
4.6.1 hạn chế Operand
• Trong chế độ sử dụng, của các bit điều khiển của CPSR được bảo vệ từ sự thay đổi , vì vậy chỉ
những lá cờ mã điều kiện của CPSR có thể được thay đổi. Trong khác (đặc quyền)
Chế độ toàn bộ CPSR có thể được thay đổi.
Lưu ý rằng các phần mềm không bao giờ phải thay đổi trạng thái của bit T trong CPSR. Nếu
điều này xảy ra, bộ xử lý sẽ vào một trạng thái không thể đoán trước.
• Các SPSR đăng ký mà được truy cập phụ thuộc vào chế độ tại thời điểm
thực hiện. Ví dụ, chỉ SPSR_fiq có thể truy cập khi xử lý là trong
chế độ FIQ.
• Bạn không phải chỉ định R15 là nguồn hoặc ghi đích.
• Ngoài ra, không cố gắng để truy cập vào một SPSR trong chế độ người dùng, vì không có đăng ký như vậy
tồn tại.
Final - Open Access
ARM Instruction Set
4-18
tấm ARM7TDMI-S liệu
ARM DDI 0084D
Hình 4-11: PSR chuyển
Cond
0
000000000000
Rd
P
00.010
s
001.111
16
15
12
11
22
28
21
31
23
27
MRS (nội dung PSR chuyển đến đăng ký)
Điểm đến đăng ký
Nguồn PSR
Condition trường
0 = CPSR
1 = SPSR_
Cond
0
00000000
Rm
P
00.010
d
1010011111
4
3
12
11
22
28
21
31
23
27
MSR (nội dung đăng ký chuyển nhượng để PSR)
đăng ký Nguồn
Destination PSR
trường Condition
0 = CPSR
1 = SPSR_
Cond
0
Nguồn toán hạng
P
00
d
1010001111
12
11
22
28
21
31
23
27
MSR (nội dung đăng ký chuyển nhượng, giá trị immdiate để bit PSR cờ chỉ)
Destination PSR
Immediate Operand
0 = CPSR
1 = SPSR_
Tôi
10
11
4
3
0
​​0 = Nguồn toán hạng là một đăng ký
1 = Nguồn toán hạng là một giá trị tức
11 8 7 0
trường Condition
00000000
Rotate
Imm
Rm
Nguồn đăng ký
Unsigned 8 bit giá trị ngay lập tức
thay đổi áp dụng cho IMM
Final - Open Access
ARM Instruction Set
4 -19
tấm ARM7TDMI-S liệu
ARM DDI 0084D
4.6.2 bit Reserved
Chỉ mười hai bit của PSR được định nghĩa trong ARM7TDMI-S (N, Z, C, V, I, F, T & M [4: 0]); các
bit còn lại được dành cho sử dụng trong các phiên bản tương lai của bộ xử lý. Tham khảo
Hình 3-6: tình trạng chương trình định dạng đăng ký
trên trang 3-12 cho một mô tả đầy
đủ. Bit PSR
Để ensurethemaximumcompa tibilitybetween ARM 7 TDMI - programsandfuture S
vi xử lý, các quy tắc sau đây cần được quan sát thấy:
• Các bit dành riêng cần được bảo tồn khi thay đổi các giá trị trong một PSR.
• Chương trình không nên dựa trên các giá trị cụ thể từ các bit dành khi
kiểm tra tình trạng PSR, vì chúng có thể đọc như một hay không trong f
đang được dịch, vui lòng đợi..
 
Các ngôn ngữ khác
Hỗ trợ công cụ dịch thuật: Albania, Amharic, Anh, Armenia, Azerbaijan, Ba Lan, Ba Tư, Bantu, Basque, Belarus, Bengal, Bosnia, Bulgaria, Bồ Đào Nha, Catalan, Cebuano, Chichewa, Corsi, Creole (Haiti), Croatia, Do Thái, Estonia, Filipino, Frisia, Gael Scotland, Galicia, George, Gujarat, Hausa, Hawaii, Hindi, Hmong, Hungary, Hy Lạp, Hà Lan, Hà Lan (Nam Phi), Hàn, Iceland, Igbo, Ireland, Java, Kannada, Kazakh, Khmer, Kinyarwanda, Klingon, Kurd, Kyrgyz, Latinh, Latvia, Litva, Luxembourg, Lào, Macedonia, Malagasy, Malayalam, Malta, Maori, Marathi, Myanmar, Mã Lai, Mông Cổ, Na Uy, Nepal, Nga, Nhật, Odia (Oriya), Pashto, Pháp, Phát hiện ngôn ngữ, Phần Lan, Punjab, Quốc tế ngữ, Rumani, Samoa, Serbia, Sesotho, Shona, Sindhi, Sinhala, Slovak, Slovenia, Somali, Sunda, Swahili, Séc, Tajik, Tamil, Tatar, Telugu, Thái, Thổ Nhĩ Kỳ, Thụy Điển, Tiếng Indonesia, Tiếng Ý, Trung, Trung (Phồn thể), Turkmen, Tây Ban Nha, Ukraina, Urdu, Uyghur, Uzbek, Việt, Xứ Wales, Yiddish, Yoruba, Zulu, Đan Mạch, Đức, Ả Rập, dịch ngôn ngữ.

Copyright ©2025 I Love Translation. All reserved.

E-mail: