GIỚI THIỆU TẬP LỆNH CỦA VI XỬ LÝ 8085
I. NHÓM LỆNH DI CHUYỂN 8 BIT:
1. Lệnh truyền dữ liệu giữa các thanh ghi:
+ Cú pháp: MOV d, s
• s (source): tượng trưng cho các thanh ghi phát.
0 1 d d d s s s
• d (destination): tượng trưng cho thanh nhận.
+ Mã đối tượng:
+ Các bit ddd và sss tra ở BẢNG 2.1 cuối tập lệnh.
+ Ý nghóa: chuyển nội dung thanh ghi s vào thanh ghi d, nội dung thanh ghi s vẫn còn.
+ Lệnh này chiếm 1 byte, số chu kỳ xung clock = 4.
+ Thanh ghi trạng thái không thay đổi.
(Tương tự cho các lệnh khác).
2. Lệnh chuyển dữ liệu thanh ghi vào ô nhớ:
Cú pháp: MOV M, s
3. Lệnh chuyển dữ liệu từ ô nhớ vào thanh ghi:
Cú pháp: MOV d, M
4. Lệnh truyền tức thời dữ liiệu 8 bit vào thanh ghi:
Cú pháp: MVI d, D8
5. Lệnh truyền tức thời dữ liệu 8 bit vào ô nhớ:
Cú pháp: MVI M, D8
II. NHÓM LỆNH TĂNG GIẢM 8 BIT:
1. Lệnh tăng nội dung thanh ghi:
+ Cú pháp: INR d
0 0 d d d 1 0 0
+ Mã đối tượng:
+ Ý nghóa: Lệnh này tăng nội dung thanh ghi lên một đơn vò.
+ Lệnh nầy chiếm 1 byte , số chu kỳ xung clock = 4.
+ Lệnh nầy ảnh hưởng đến thanh ghi trạng thái trừ bit Cy không ảnh hưởng.
(Tượng tự cho các lệnh khác)
2. Lệnh giảm nội dung thanh ghi:
Cú pháp: DCR d
3. Lệnh tăng nội dung ô nhớ:
Cú pháp: INR M
4. Lệnh giảm nội dung ô nhớ:
Cú pháp: DCR M
III. NHÓM LỆNH SỐ HỌC GIỮA THANH GHI A VÀ THANH GHI
1. Lệnh cộng thanh ghi:
+ Cú pháp: ADD s
1 0 0 0 0 s s s
+ Mã đối tượng:
+ Ý nghóa: nội dung thanh ghi A được cộng với nội dung thanh ghi s, kết quả chứa trong
thanh ghi A , nội dung thanh ghi s vẫn còn.
+ Lệnh này chiếm một byte, số chu kỳ xung clock = 4.
+ Lệnh này ảnh hưởng đến thanh ghi trạng thái.
2. Lệnh cộng thanh ghi có số nhớ ban đầu:
+ Cú pháp: ADC s
1 0 0 0 1 s s s
+ Mã đối tượng:
+ Ý nghóa: nội dung thanh ghi A được cộng với nội dung thanh ghi s cộng với bit Cy, kết
quả chứa trong thanh ghi A, nội dung thanh ghi s vẫn còn.
+ Lệnh nầy chiếm 1 byte, số chu kỳ xung clock = 4.
+ Lệnh nầy ảnh hưởng đến thanh ghi trạng thái.
(Tương tự cho các lệnh khác)
3. Lệnh trừ thanh ghi:
Cú pháp: SUB s
4. Lệnh trừ thanh ghi có số nhớ ban đầu:
Cú pháp: SBB s
5. Lệnh and với thanh ghi:
Cú pháp: ANA s
6. Lệnh Ex-or với thanh ghi:
Cú pháp: XRA s
7. Lệnh or với thanh ghi:
Cú pháp: ORA s
8. Lệnh so sánh với thanh ghi:
Cú pháp: CMP s
IV. NHÓM LỆNH SỐ HỌC GIỮA Ô NHỚ VỚI THANH GHI A:
1. Lệnh cộng với ô nhớ:
+ Cú pháp: ADD M
1 0 0 0 0 1 1 0
+ Mã đối tượng:
+ Ý nghóa: nội dung thanh ghi A được cộng với nội dung ô nhớ có đòa chỉ chứa trong cặp
thanh ghi HL, kết quả chứa trong thanh ghi A, nội dung ô nhớ không thay đổi.
+ Lệnh nầy chiếm 1 byte, số chu kỳ xung clock = 7.
+ Lệnh nầy ảnh hưởng đến thanh ghi trạng thái.
2. Lệnh cộng ô nhớ có số nhớ ban đầu:
+ Cú pháp: ADC M
1 0 0 0 1 1 1 0
+ Mã đối tượng:
+ Ý nghóa: nội dung thanh ghi A được cộng với dung ô nhớ có đòa chỉ chứa trong cặp thanh
ghi HL, kết quả chứa trong A, nội dung ô nhớ không thay đổi.
+ Lệnh nầy chứa 1 byte, số chu kỳ xung clock = 7.
+ Lệnh nầy ảnh hưởng đến thanh ghi trạng thái.
(Tương tự cho các lệnh khác)
3. Lệnh trừ với ô nhớ:
Cú pháp: SUB M
4. Lệnh trừ ô nhớ có số nhớ ban đầu:
Cú pháp: SBB M
5. Lệnh and với ô nhớ:
Cú pháp: ANA M
6. Lệnh Ex-or với ô nhớ:
Cú pháp: XRA M
7. Lệnh or với ô nhớ:
Cú pháp: ORA M
8. Lệnh so sánh với ô nhớ:
Cú pháp: CMP M
V. NHÓM LỆNH SỐ HỌC GIỮA THANH GHI A VÀ DỮ LIỆU 8 BIT:
1. Lệnh cộng tức thời với dữ liệu 8 bit:
+ Cú pháp: ADI D8
1 1 0 0 0 1 1 0
Dữ liệäu 8 bit D8
+ Mã đối tượng:
+ Ý nghóa: nội dung thanh ghi A được cộng với dữ liệu 8 bit D8, kết quả chứa trong thanh
ghi A.
+ Lệnh nầy chứa 2 byte, số chu kỳ xung clock = 7.
+ Lệnh nầy ảnh hưởng đến thanh ghi trạng thái.
2. Lệnh cộng tức thời với dữ liệu 8 bit có số nhớ ban đầu:
+ Cú pháp: ACI D8
1 1 0 0 1 1 1 0
Dữ liệäu 8 bit D8
+ Mã đối tượng:
+ Ý nghóa: nội dung thanh ghi A được cộng với dữ liệu 8 bit D8, cộng với bit Cy, kết quả
chứa trong thanh ghi A.
+ Lệnh nầy chứa 2 byte, số chu kỳ xung clock = 7.
+ Lệnh nầy ảnh hưởng đến thanh ghi trạng thái.
( Tương tự cho các lệnh khác )
3. Lệnh trừ tức thời với dữ liệu 8 bit:
Cú pháp: SUI D8
4. Lệnh trừ tức thời với dữ liệu 8 bit có số nhớ ban đầu:
Cú pháp: SBI D8
5. Lệnh and tức thời với dữ liệu 8 bit:
Cú pháp: ANI D8
6. Lệnh Ex-or tức thời với dữ liệu 8 bit:
Cú pháp: XRI D8
7. Lệnh or tức thời với dữ liệu 8 bit:
Cú pháp: ORI D8
8. Lệnh so sánh tức thời với dữ liệu 8 bit:
Cú pháp: CPI D8
VI. NHÓM LỆNH NẠP TỨC THỜI CẶP THANH GHI:
1. Lệänh nạp cặp thanh ghi BC:
+ Cú pháp: LXI B, D16
0 0 0 0 0 0 0 1
8 bit thấp
8 bit cao
+ Mã đối tượng:
+ Ý nghóa: dữ liệu 16 bit D16 được nạp vào cặp thanh ghi BC.
+ Lệnh nầy chiếm 3 byte, số chu kỳ xung clock = 10.
+ Không ảnh hưởng đến thanh ghi trạng thái.
(Tương tự cho các lệnh khác)
2. Lệnh nạp cặp thanh ghi DE:
Cú pháp: LXI D, D16
3. Lệnh nạp cặp thanh ghi HL:
Cú pháp: LXI H, D16
4. Lệnh nạp cặp thanh ghi SP:
Cú pháp: LXI SP, D16
VII. NHÓM LỆNH PUSH:
1. Lệnh cất cặp thanh ghi BC:
+ Cú pháp: PUSH B
1 1 0 0 0 1 0 1
+Mã đối tượng:
+Ý nghóa: nội dung cặp thanh ghi BC được copy vào ngăn xếp. Nội dung thanh ghi B
được cất vào ngăn xếp tại đòa chỉ (SP-1), thanh ghi C được cất vào ngăn xếp tại đòa chỉ (SP-
2), nội dung thanh ghi SP giảm đi 2.
+ Lệnh này chiếm 1 byte, số chu kì xung clock =12.
+Lệnh này không ảnh hưởng đến thanh ghi trạng thái.
(Tương tự cho các lệnh khác)
2. Lệnh cất cặp thanh ghi DE:
Cú pháp: PUSH D
3. Lệnh cất cặp thanh ghi HL:
Cú pháp: PUSH H
4. Lệnh cất cặp thanh ghi AF:
Cú pháp: PUSH PSW
VIII. NHÓM LỆNH POP:
1. Lệnh chuyển nội dung ngăn xếp vào cặp thanh ghi:
+ Cú pháp: POP B
1 1 0 0 0 0 0 1
+ Mã đối tượng:
+ Ý nghóa: chuyển nội dung từ ngăn xếp vào cặp thanh ghi BC. Nội dung ngăn xếp có
đòa chỉ chứa trong SP được chuyển cho thanh ghi C, nội dung của ngăn xếp có đòa chỉ
(SP+1) được chuyển cho thanh ghi B, sau lệnh POP nội dung của SP tăng lên 2.
+ Lệnh này chiếm một byte, số chu kì clock =12.
+ Lệnh này không ảnh hưởng đến thanh ghi teạng thái.
(Tương tự cho các lệnh khác cùng nhóm).
2. Lệnh chuyển nội dung ngăn xếp vào cặp thanh ghi DE:
+ Cú pháp: POP D
3. Lệnh chuyển nội dung ngăn xếp vào cặp thanh ghi HL:
+ Cú pháp: POP H
4. Lệnh chuyển nội dung ngăn xếp vào cặp thanh ghi AF:
+ Cú pháp: POP PSW
IX. NHÓM LỆNH CỘNG CẶP THANH GHI VỚI CẶP THANH GHI:
1. Lệnh cộng cặp thanh ghi BC:
+ Cú pháp: DAD B
0 0 0 0 1 0 0 1
+ Mã đối tượng:
+ Ý nghóa: nội dung cặp thanh ghi BC được cộng với cặp thanh ghi HL, kết quả cất trong
cặp thanh ghi HL. Thanh ghi L được cộng với C, thanh ghi H được cộng với B.
+ Lệnh này chiếm 1 byte, số chu kỳ clock =10.
+ Lệnh này chỉ làm ảnh hưởng đến bit trạng thái Cy.
Tương tự cho các lệnh cùng nhóm này như sau:
2. Lệnh cộng cặp thanh ghi DE:
+ Cú pháp: DAD D
3. Lệnh cộng cặp thanh ghi HL:
+ Cú pháp: DAD H
4. Lệnh cộng cặp thanh ghi SP:
+ Cú pháp: DAD SP
X. NHÓM LỆNH TĂNG CẶP THANH GHI:
1.Lệnh tăng cặp thanh ghi BC:
+ Cú pháp: INX B
+ Mã đối tượng:
+Ý nghóa: nội dung cặp thah ghi BC tăng thêm một đơn vò.
+ Lệnh này chiếm 1 byte, số chu kỳ clock =6.
+ Lệnh này không làm ảnh hưởng đến thanh ghi trạng thái.
(Tương tự cho các lệnh khác)
2. Lệnh tăng cặp thanh ghi DE:
+ Cú pháp: INX D
1. Lệnh tăng cặp thanh ghi HL:
+ Cú pháp: INX H
2. Lệnh tăng cặp thanh ghi SP:
+ Cú pháp: INX SP
0 0 0 0 0 0 0 1