Ví dụ tập lệnh ARM.pdf

Preview:

Citation preview

Lệnh MOV • MOV R0, #1234;

• MOV R0, R1;

• MOV R0, # ’A’;

• MOVCS R0, R1; R0 R1 chỉ khi cờ nhớ (Carry) được lập (=1), R0 sẽ vẫn không thay đổi nếu cờ C bị xóa (=0)

• MOV R0, R1, LSL #2;

• MOV R0, R1, LSL R2;

• MOV R0, R1, LSR #3;

• MOV R0, R1, LSR R2;

• MOV R0, R1, ASR #4;

• MOV R0, R1, ASR R2;

• MOV R0, R1, ROR #2;

• MOV R0, R1, ROR R2;

• MOV R0, R1, RRX;

1

Truy cập bộ nhớ

• Đánh địa chỉ với độ lệch (Offset addressing):

LDR R0, [R1];

LDR R0, [R1, #4];

LDR R0, [R1, R2];

LDR R0, [R1, R2, LSL #3];

2

3

Truy cập bộ nhớ (tiếp)

• Đánh địa chỉ tiền chỉ số (Pre-index addressing):

LDR R0, [R1, #4]!;

LDR R0, [R1, R2]!;

LDR R0, [R1, R2, LSL #2]!;

• Đánh địa chỉ hậu chỉ số (Post-index addressing):

LDR R0, [R1], #4;

LDR R0, [R1], R2;

LDR R0, [R1], R2, LSL #2;

LDMIA r10, {r0,r1,r4}

LDMIB r10, {r0,r1,r4}

STMDA r10, {r0,r1,r4}

STMDB r10, {r0,r1,r4}

4

Truy cập bộ nhớ (tiếp)

IA

r1 Increasing

Address

r4

r0

r1

r4

r0

r1

r4

r0 r1

r4

r0

r10

IB DA DB

LDMxx r10, {r0,r1,r4}

STMxx r10, {r0,r1,r4}

Base Register (Rb)

5

PUSH và POP

6

Ví dụ tập lệnh ARM

7

• VD:

8

Định nghĩa hằng số

• Value1 DCW 12;

• EMESS DCB ‘Error’;

• SQRS DCB 1,4,9,16;

9

• Đặt số 12 vào vị trí ô nhớ có sẵn kế tiếp, và ấn định tên cho vị trí ô nhớ đó là Value1

• Cho phép xử lý một lượng lớn dữ liệu tại cùng một thời điểm

• Gán địa chỉ hoặc dữ liệu vào một tên

10

11

Ví dụ 1. Chuyển dữ liệu 16 bit

Ví dụ 2. Tìm số bù (đảo) của một số

13

Ví dụ 3. Cộng hai số

14

Ví dụ 3b. Cộng hai số & lưu KQ

15

Ví dụ 4. Dịch trái 1 bit

16

VD 5. Tách 1 byte thành nibble cao và thấp

17

VD 6. Tìm số lớn hơn trong 2 số

18

Các lệnh so sánh có dấu/không dấu

19

VD 7. Cộng 64 bit

20

VD 8. Tìm giai thừa từ 1 bảng sử dụng địa chỉ của vị trí ô nhớ

21

Bài tập

1. Chuyển DL 64 bit:

2. Trừ 32 bit:

22

3. Dịch phải 3 bit:

4. Tìm số nhỏ nhất trong 3 số:

23

5. Tổng các bình phương:

6. Dịch trái n bit:

24

7. Giải thích hoạt động, chức năng của chương trình sau:

25

26

8. Giải thích hoạt động, chức năng của chương trình sau:

Recommended