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..
