PUSH AX Quá trình hình thành giáo trình hướng dẫn sử dụng các hàm có sẵn trong win... Lệnh Cộng, trừ, nhân và chia a Lệnh Cộng ADD Cộng nội dung của toán hạng nguồn vào toán hạng đích v
Trang 1SUB AL,30H
XOR AH,AH
MOV DX,AX
MOV AX,N3
CMP CX,1
MOV BL,10
MUL BL
NOT_SUM_UP:
ADD AX,DX
MOV N3,AX
INC CX
CMP CX,3
JMP LOOP_1
EXIT_2:
MOV AX,N3
POP DX
POP CX
POP BX
RET
KT_SO ENDP
;
PUSH AX
Quá trình hình thành giáo trình hướng dẫn sử
dụng các hàm có sẵn trong win
Trang 2PUSH DX
MOV AH,02
MOV DL,13
INT 21H
MOV DL,10
INT 21H
POP DX
POP AX
RET
;
NHAP_LAI PROC
PUSH DX
LOOP2:
MOV AH,08
INT 21H
CMP AL,0DH
CMP AL,30H
CMP AL,39H
MOV DL,AL
MOV AH,02
INT 21H
Trang 3EXIT1: POP DX RET
NHAP_LAI ENDP
;
INSO PROC
MOV BX,10
XOR CX,CX N_ZERO:
XOR DX,DX DIV BX
PUSH DX
INC CX
OR AX,AX JNZ N_ZERO INSOLOOP:
POP DX
ADD DL,'0'
MOV AH,02 INT 21H
LOOP INSOLOOP RET
INSO ENDP
;
CSEG ENDS
END BEGIN
Trang 4a Lệnh Cộng, trừ, nhân và chia
a) Lệnh Cộng (ADD)
Cộng nội dung của toán hạng nguồn vào toán hạng đích và đặt kết quả ngay trong toán hạng đích
Cú pháp: ADD DEST,SRC
;DEST=DEST+SRC
Thí dụ:
ADD AX,BX ;AX=AX+BX
ADD AX,TEMP ;AX=AX+TEMP ;Temp phải là toán hạng loại word
ADD SUM,BX ;SUM=SUM+BX
ADD AX,TEMP[BX]
b) Lệnh Trừ (SUB SUBtract)
Mô tả: Lấy toán hạng đích trừ đi toán hạng nguồn, rồi đặt kết quả trong toán hạng đích
c) Lệnh Nhân (MUL)
Kết quả của phép toán này phụ thuộc vào số lượng toán hạng được chỉ ra Các bộ vi xử lý khác 80386và
80486 chỉ cho phép chỉ ra một với toán hạng Nếu chỉ ra một toán hạng thì nó nhân Al, AX, hoặc EAX với toán hạng đó tương ứng với các trường hợp toán hạng là 8, 16 hay 32 bit Và kết quả đặt trong AX hay DX:AX giống lệnh MUL
d) Lệnh Chia (DIV DIVde)
Trang 5Mô tả: Nếu toán hạng là giá trị loại byte, lệnh DIV lấy AX là số bị chia, đem chia cho toán hạng, phần nguyên của kết quả được đặt trong AL, phần dư được trong AH Nếu toán hạng là giá trị loại word, lệnh DIV lấy DX:AX làm số bị chia, đem chia cho toán hạng, phần nguyên của kết quả được đặt trong AX, phần dư đặt trong DX
Ví dụ tính tích hai so
Tichhaiso.asm
CSEG SEGMENT
ASSUME CS:CSEG,DS:CSEG
ORG 100H
BEGIN: JMP START
THONG_BAO DB "NHAP NHUNG SO NAM TRONG (0=<X<=255):$"
THONG_BAO1 DB "NHAP SO THU NHAT :=$"
THONG_BAO2 DB "NHAP SO THU HAI :=$"
THONG_BAO3 DB "TICH HAI SO LA :=$" N1 DW 0
N2 DW 0
N3 DW 0
START: