📄 11.asm
字号:
DATA SEGMENT ;定义数据段
SUM DW ? ;定义数据区
CN DW 64H ;循环次数100
STR DB '1+2+3+4+...+100=','$' ;定义输出字符串
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV AX,0
MOV CX,0
LP: INC CX
ADD AX,CX
CMP CX,CN
JB LP
MOV SUM,AX
MOV AH,09
MOV DX,OFFSET STR
INT 21H
MOV AX,SUM
XCHG AH,AL
MOV AH,0
CALL DISPBYTE
MOV AX,0
MOV AL,LOW SUM
CALL DISPBYTE
MOV AH,4CH
INT 21H
DISPBYTE PROC NEAR
PUSH CX
PUSH DX
MOV CL,4
SHL AX,CL
MOV DL,AH
CMP DL,0AH
JNC DISPHA ;dl>=0a?
ADD DL,30H
JMP DISPH0
DISPHA: ADD DL,37H ;ip=118
DISPH0: PUSH AX ;ip=11B
MOV AH,02
INT 21H
POP AX
SHR AL,CL
MOV DL,AL
CMP DL,0AH ;dl>=0a?
JNC DISPLA
ADD DL,30H
JMP DISPL0
DISPLA: ADD DL,37H ;ip=12F
DISPL0: MOV AH,02 ;ip=132
INT 21H
POP DX
POP CX
RET
DISPBYTE ENDP
CODE ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -