Professional Documents
Culture Documents
VXL Chuong3 P2 LenhDiChuyen
VXL Chuong3 P2 LenhDiChuyen
RAM Nội
7FH
MOV R3, 45H ; R3 <- (45H)
2AH 45H (MOV Rn, Direct)
Opcode 10101011 01110101
(HEX) ABH 45H
2AH 03H
00H
R3= (45H)=2AH
RAM Nội
7FH
45H 03H
R3= 45H
7FH 7FH
(2)
FBH 38H
(2) (1)
@R0
(1) @R1
R1 21H 01H R1 21H 01H
R0 00H R0 38H 00H
RAM Nội Võ Thị Thu Hồng RAM Nội 10
2. Lệnh MOVX
Chuyển dữ liệu giữa bộ nhớ trong và bộ nhớ dữ liệu ngoài
80H
Võ Thị Thu Hồng 12
2. Lệnh MOVX (TT)
Mnemonic Opcode (binary) Opcode Diễn giải Số MC
D7 D6 D5 D4 D3 D2 D1 D0 (HEX)
00F7H 8AH
(1)
R0 F7H 00H
RAM Nội Võ Thị Thu Hồng 13
2. Lệnh MOVX (TT)
Mnemonic Opcode (binary) Opcode Diễn giải Số MC
D7 D6 D5 D4 D3 D2 D1 D0 (HEX)
ACC 32H
0FH E0H
(2)
80H
0H
P2 19H ROM/RAM
Chương trình
Giá trị lúc sau
Giá trị lúc đầu Vùng SFR
MOV P2,A (3)
80H
0032H 04H
0031H 01H
BANG 0030H 00H
MOVC A, @A + PC (Đọc)
PSEN
XCH A, Rn 1 1 0 0 1 n2 n1 n0 C8 ÷ CF A Rn 1
XCH A, direct 1 1 0 0 0 1 0 1 C5 A (direct) 1
d7 d6 d5 d4 d3 d2 d1 d0 Byte 2
XCH A, @Ri 1 1 0 0 0 1 1 i C6 ÷ C7 A (Ri) 1
80H 80H
PUSH direct 1 1 0 0 0 0 0 0 C0 SP SP + 1 2
d7 d6 d5 d4 d3 d2 d1 d Byte 2 (SP) (direct)
0
POP direct 1 1 0 1 0 0 0 0 D0 (direct) (SP) 2
d7 d6 d5 d4 d3 d2 d1 d Byte 2 SP SP - 1
0
Chú ý:
+ Mặc định, ban đầu SP=07H => STACK chiếm cùng vị trí Bank
thanh ghi 1 do đó không nên dùng các địa chỉ vùng này khi sử
dụng STACK
+ Có thể đặt lại SP ban đầu: VD: MOV SP,#30H
+ Vùng Stack dao động từ địa chỉ 08H đến 7FH
+ Các lệnh tác động Stack: PUSH, POP, CALL (Gọi chương trình
con), RET và RETI (Lệnh quay về từ chương trình con)
Võ Thị Thu Hồng 24
5. Lệnh PUSH,POP (Ví dụ)
PUSH direct; Opcode 2bytes : C0H và byte địa chỉ direct
10H
0FH
01H 0EH
0BH 0DH
57H 0CH
0BH
PC 010BH