- Cú pháp: ADD Đích, nguồn - Thực hiện: Đích=Đích + nguồn - Giới hạn: toán hạng không được là 2 ô nhớ và thanh ghi đoạn - Lệnh này thay đổi cờ: AF, CF, OF, PF, SF, ZF Ví dụ1: Cho AX = 3488h -> thực hiện lệnh ADD AX,BX BX = 2212h -> tìm AX và xác định các bit của FR Giải: Thời gian thực hiện lệnh: AX= AX+ BX= 569Ah = 0101 0110 1001 1010 OF=0 ( không bị tràn) AF= 0 ( không nhớ từ bit BCD thấp sang BCD cao ) CF= 0 ( không nhớ) ZF= 0 ( kết quả khác 0) PF= 1( tổng số bit 1 trong kết quả chẵn) SF=0( số dương) - Sự thay đổi bộ nhớ: Trước Sau AX= 3488h AX= 569Ah BX= 2212h BX= 2212h • Mã lệnh - Dữ liệu từ thanh ghi đến thanh ghi
0 0 0 0 0 0 d w
mod reg r/m
- Dữ liệu trực tiếp đến thanh ghi
1 0 0 0 0 0 s w 0 0 0
mod r/m data data
if s w = 01 Lệnh ADC • Lệnh cộng có nhớ hai toán hạng • Cú pháp: ADC Đích, nguồn • Thực hiện: Đích = Đích + nguồn + CF • Giới hạn: toán hạng không được là 2 ô nhớ và thanh ghi đoạn • Lệnh này thay đổi cờ: AF, CF, OF, PF, SF, ZF • Ví dụ: ADD AL, 30H ADC AX, BX • Thời gian thực hiện Code C: int a = 1234, b = 303; a = a+b; • Mã lệnh