23 lines
1001 B
NASM
Executable File
23 lines
1001 B
NASM
Executable File
DATA SEGMENT
|
||
NUM1 DD 11451400H ; 被加数
|
||
NUM2 DD 19198100H ; 加数
|
||
SUM DD ? ; 结果
|
||
DATA ENDS
|
||
CODE SEGMENT
|
||
ASSUME CS:CODE, DS:DATA
|
||
start:
|
||
MOV AX, DATA
|
||
MOV DS, AX
|
||
MOV AX, WORD PTR NUM1 ; 将NUM1低位赋给AX
|
||
MOV WORD PTR SUM, AX ; 将AX赋给SUM低位(MOV指令不能直接在两个内存单元间赋值)
|
||
MOV AX, WORD PTR NUM2 ; 将NUM2低位赋给AX
|
||
ADD WORD PTR SUM, AX ; 将AX加到SUM的低位上
|
||
|
||
MOV AX, WORD PTR NUM1+2 ; 将NUM1高位赋给AX
|
||
ADC WORD PTR SUM+2, AX ; ADC(Add with Carry)将AX加到SUM的高位(初始为零)上,再加上CF存着的低位进位
|
||
MOV AX, WORD PTR NUM2+2 ; 将NUM2高位赋给AX
|
||
ADD WORD PTR SUM+2, AX ; 将AX加到SUM的高位上
|
||
MOV AH, 4CH ; 退出程序
|
||
INT 21H
|
||
CODE ENDS
|
||
END start |