📄 双精度相加.asm
字号:
D_SEG SEGMENT
AUGEND DD 99251D
SUM DD ?
D_SEG ENDS
E_SEG SEGMENT
ADDEND DD -15962D
E_SEG ENDS
C_SEG SEGMENT
ASSUME CS:C_SEG, DS:D_SEG, ES:E_SEG
MAIN PROC FAR
START:
MOV AX, D_SEG
MOV DS, AX
MOV AX, E_SEG
MOV ES, AX
MOV AX, word ptr AUGEND
MOV DX, word ptr AUGEND+2
ADD AX, word ptr ES:ADDEND
ADC DX, word ptr ES:ADDEND+2
MOV BX, 04H ;附比较次数为4次
MOV SI,10
BEGIN1:
DIV SI ;除以10,商放在dx里面
PUSH DX ;把DX入栈
MOV DX, 0H ;把DX置零
DEC BX ;BX-1
CMP BX, 0 ;比较
JGE BEGIN1 ;大于或等于转移到begin1
BEGIN2:
POP DX ;把DX的值出栈
ADD DX, 30H ;转换为字符
MOV AH, 2H ;显示输出
INT 21H
INC BX ;BX的值减一
CMP BX, 3
JLE BEGIN2 ;小于或等于转移到begin2
STOP:
MOV AH,4CH
INT 21H
MAIN ENDP
C_SEG ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -