III. KHẢO SÁT TẬP LỆNH CỦA VDK 8951:
2. Các lệnh số học (Arithmetic Intrustion):
Lệnh cộng:
ADD A, Rn : (A) (A) + (Rn)
Cộng nội dung thanh ghi Rn với cộng nội dung thanh ghi A, kết quả lưu trong thanh ghi A, lệnh có ảnh hưởng đến thanh ghi trạng thái (cờ C).
ADD A, direct : (A) (A) + (direct)
Cộng nội dung ô nhớ có địa chỉ direct với nội dung thanh ghi A, kết quả lưu trong thanh ghi A, lệnh có ảnh hưởng đến thanh ghi trạng thái (cờ C).
ADD A, @ Ri : (A) (A) + ((Ri))
Cộng nội dung ô nhớ có địa chỉ chỉ chứa trong Ri với nội dung thanh ghi A, kết quả lưu trong thanh ghi A, lệnh có ảnh hưởng đến thanh ghi trạng thái (cờ C).
ADD A, #data : (A) (A) + # data
Cộng dữ liệu 8 bit với nội dung thanh ghi A, kết quả lưu trong thanh ghi A, lệnh có ảnh hưởng đến thanh ghi trạng thái (cờ C)
ADDC A, Rn : (A) (A) + (C) + (Rn)
Cộng nội dung thanh ghi Rn với nội dung thanh ghi A với bit C, kết quả lưu trong thanh ghi A, lệnh có ảnh hưởng đến thanh ghi trạng thái (cờ C).
ADDC A, direct : (A) (A) + (C) + (direct) ADDC A, @ Ri : (A) (A) + (C) + ((Ri))
SVTH:Lê Văn Thanh-10CDT1
Trang 29
ADDC A, # data : (A) (A) + (C) + # data
Lệnh trừ:
SUBB A, Rn : (A) (A) - (C) - (Rn)
SUBB A, direct : (A) (A) - (C) - (direct) SUBB A, @ Ri : (A) (A) - (C) - ((Ri)) SUBB A, # data : (A) (A) - (C) - 3 data
Lệnh tăng:
INC A : (A) (A) + 1 Tăng nội dung thanh ghi A lên 1
INC direct : (direct) (direct) + 1 INC @ Ri : ((Ri)) ((Ri)) + 1 INC Rn : (Rn) (Rn) + 1
INC DPTR : (DPTR) (DPTR) + 1
Lệnh giảm:
DEC A : (A) (A) - 1
DEC direct : (direct) (direct) - 1 DEC @ Ri : (Ri) (Ri) - 1
DEC Rn : (Rn) (Rn) - 1
Lệnh nhân:
MULL AB : (A) LOW [(A) x (B)]; có ảnh hưởng cờ OV. : (B) HIGH [(A) x (B)]; cờ Carry xóa.
Lệnh chia:
DIV AB : (A) Integer Result of [(A)/(B)]; cờ OV. : Remainder of [(A)/(B)]; cờ Carry xóa
Lệnh điều chỉnh:
DA A : Điều chỉnh thanh ghi A thành số BCD đúng trong
SVTH:Lê Văn Thanh-10CDT1
Trang 30
phép cộng BCD (thường DA A đi kèm với ADD, ADDC).
Nếu [(A3 - A0) > 9 ] và [(AC) = 1 ] (A3A0) (A3A0) + 6. Nếu [(A7 - A4) > 9 ] và [(C) = 1 ] (A7A4) (A7A4) + 6.