Lệnh tính toán số học

Một phần của tài liệu Tài liệu GIÁO TRÌNH LẬP TRÌNH HỆ THỐNG docx (Trang 44 - 45)

1. ADD - Cộng hai số nguyên

Cú pháp: ADD đích, nguồn ; đích ← đích + nguồn Nguồn : Reg, Mem, Immed.

Đích : Reg, Mem.

Ý nghĩa: Lấy toán hạng nguồn cộng toán hạng đích và lưu kết quả lưu toán hạng đích.

2. SUB - Trừ hai số nguyên

Cú pháp: SUB đích, nguồn ; đích ← đích – nguồn

Nguồn : Reg, Mem, Immed.

Đích : Reg, Mem.

Ý nghĩa: Lấy toán hạng đích (số bị trừ) trừ toán hạng nguồn (số trừ) và lưu kết quả ở

toán hạng đích.

Ví dụ: ADD AL, 15 ; AL ← AL + 15 ADD AX, DX ; AX ← AX + DX SUB BX, 15h ; BX ← BX – 15h

SUB DX, CL ; SAI vì DX là 16bit trong khi CL chỉ có 8bit ADD 15h, AL ; SAI vì đích là Immed

3. INC - Tăng 1 đơn vị (Increment)

Cú pháp: INC đích ; đích ← đích + 1

Đích : Reg, Mem.

Ý nghĩa: Tăng nội dung của toán hạng đích thêm 1 đơn vị.

4. DEC - Giảm 1 đơn vị (Decrmemt)

Cú pháp: DEC đích ; đích ← đích – 1

Đích : Reg, Mem. Ý nghĩa: Giảm nội dung của đích đi 1 đơn vị. Ví dụ: INC AL ; AL ← AL + 1 DEC AX ; AX ← AX - 1 INC bienC ; bienC ← bienC + 1 5. MUL - Nhân hai số nguyên

Cú pháp: MUL nguồn

Ý nghĩa: Nhân thanh ghi tích lũy với toán hạng nguồn. Tùy vào kích thước của toán

hạng nguồn mà CPU thực hiện phép nhân 8 hay 16 bit.

- Nhân 8 bit: dành cho toán hạng nguồn là 8 bit. Khi đó, CPU sẽ lấy thanh ghi AL nhân với toán hạng nguồn và lưu kết quả vào AX.

- Nhân 16 bit: dành cho toán hạng nguồn là 16 bit. Khi đó, CPU sẽ nhân thanh ghi AX với toán hạng nguồn và lưu kết quả vào cặp thanh ghi DX:AX (nghĩa là kết quả có 32 bit, 16 bit cao lưu vào DX, còn 16 bit thấp lưu vào AX) Ví dụ: MUL BL ; AX ← AL * BL (nhân 8 bit)

MUL BX ; DX:AX ← AX * BX (nhân 16 bit) MUL [1235h] ; AX ← AL * M[DS:1235h] (nhân 8 bit) 6. DIV - Chia hai số nguyên

Cú pháp: DIV nguồn

Nguồn: Reg, Mem

Ý nghĩa: lấy thanh ghi tích lũy (số bị chia) chia cho nguồn (số chia). Tùy vào kích

thước của toán hạng nguồn mà CPU thực hiện phép chia 8 hay 16 bit.

- Chia 8 bit: dành cho toán hạng nguồn là 8 bit. Khi đó, CPU sẽ lấy thanh ghi AX chia cho toán hạng nguồn. Thương số của kết quả được lưu vào AL còn phần dư lưu vào AH.

- Chia 16 bit: dành cho toán hạng nguồn là 16 bit. Khi đó, CPU lấy DX:AX (số 32 bit) chia cho toán hạng nguồn. Thương số của kết quả được lưu vào AX còn phần dư thì lưu vào DX.

Ví dụ: DIV DL ; AL, AH ← AX ÷ DL DIV BX ; AX, DX ← DX:AX ÷ BX

Một phần của tài liệu Tài liệu GIÁO TRÌNH LẬP TRÌNH HỆ THỐNG docx (Trang 44 - 45)