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

Nguyên tác và quy trình cài đặt các ứng dụng trong windows p10 ppsx

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 (259.71 KB, 5 trang )

Lệnh này so sánh toán tử đích với toán tử nguồn bằng
cách lấy toán hạng đích trừ đi toán hạng nguồn. Tuy nhiên
kết quả được sử dụng để thiết lập giá trị cho các cờ nhớ
chứ không được chứa ở dâu cả.
Chương trình nguồn ViDu_1.asm

Code Segment
Assume cs:Code, ds:Code
Org 100h
Begin:
Mov ah,02
Mov cx,256 ;Số ký tự hiện thị
Mov Dl,0 ;DL chứa mã
ASCII bằng ký tự NULL
For:
Int 21h ;Xuất ra màn hình
Inc DL ;Tăng vị trí mã ASCII
lên
Loop For ;Lặp
Mov ah,4ch ; Trở về DOS
Int 21h ; đừng để xem
Code ends
end Begin
d. Gọi chương trình con
Dùng lệnh Call

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:
MOV AH,09H
MOV DX,OFFSET THONG_BAO
INT 21H
CALL XUONG_DONG
MOV AH,09H
MOV DX,OFFSET THONG_BAO1
INT 21H
CALL KT_SO
CMP AX,256
JA EXIT
MOV N1,AX
CALL XUONG_DONG
MOV AH,09H
MOV DX,OFFSET THONG_BAO2
INT 21H

CALL KT_SO
CMP AX,256
JA EXIT
MOV N2,AX
CALL XUONG_DONG
MOV AH,09H
MOV DX,OFFSET THONG_BAO3
INT 21H
CALL TICH2SO
CALL XUONG_DONG
EXIT: MOV AH,4CH
INT 21H
;
TICH2SO PROC
XOR AX,AX
MOV AX,N1
XOR BX,BX
MOV BX,N2
MUL BX
CALL INSO
RET
TICH2SO ENDP
;
KT_SO PROC
PUSH BX
PUSH CX
PUSH DX
XOR DX,DX
MOV N3,0
MOV CX,1

LOOP_1:
CALL NHAP_LAI
CMP AL,0DH
JE EXIT_2

×