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))
SVTH:Võ Văn Nhiệm Trang 27
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)) 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
SVTH:Võ Văn Nhiệm Trang 28
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 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.