Tải bản đầy đủ (.pdf) (5 trang)

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 p1 pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (297.33 KB, 5 trang )

SUB AL,30H
XOR AH,AH
MOV DX,AX
MOV AX,N3
CMP CX,1
JE NOT_SUM_UP
MOV BL,10
MUL BL
NOT_SUM_UP:
ADD AX,DX
MOV N3,AX
INC CX
CMP CX,3
JA EXIT_2
JMP LOOP_1
EXIT_2:
MOV AX,N3
POP DX
POP CX
POP BX
RET
KT_SO ENDP
;
XUONG_DONG PROC
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
PUSH DX
MOV AH,02
MOV DL,13
INT 21H


MOV DL,10
INT 21H
POP DX
POP AX
RET
XUONG_DONG ENDP
;
NHAP_LAI PROC
PUSH DX
LOOP2:
MOV AH,08
INT 21H
CMP AL,0DH
JE EXIT1
CMP AL,30H
JB LOOP2
CMP AL,39H
JA LOOP2
MOV DL,AL
MOV AH,02
INT 21H
EXIT1: 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
a. 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 CL,10 ;CL=CL+10
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)
Mô 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:

×