📄 lizhi.asm
字号:
DATA SEGMENT
DATA1 DB 3,9,6,9,5
DATA2 DB 2,8,4,8,2
DATA3 DB 'bei jian shu:',0DH,0AH,'$'
DATA4 DB 'jian shu:',0DH,0AH,'$'
DATA5 DB 'result:',0DH,0AH,'$'
DATA7 DB 'over press any key',0DH,0AH,'$'
DATA8 DB 5 DUP(?)
DATA ENDS
MSTACK SEGMENT STACK
STT DB 50 DUP(?)
TOP EQU LENGTH STT
MSTACK ENDS
CODE SEGMENT
MAIN PROC FAR
ASSUME CS:CODE,DS:DATA,SS:MSTACK
START:
MOV AX,MSTACK
MOV SS,AX
MOV SP,TOP
PUSH DS
SUB AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
CALL XIANSHI
CALL JIAN
CALL SHUCHU
MAIN ENDP
JIAN PROC NEAR
MOV DI,OFFSET DATA1
MOV BX,OFFSET DATA2
MOV BP,OFFSET DATA8
MOV CX,5
L1: MOV DH,[DI]
MOV DL,[BX]
CMP DH,DL
JL JIA
SUB DH,DL
MOV [BP],DH
INC BP
INC DI
INC BX
DEC CX
CMP CX,0
JE L7
JMP L1
JIA: ADD DH,10
SUB DH,DL
MOV [BP],DH
INC BP
INC DI
SUB DI,1
INC BX
DEC CX
CMP CX,0
JE L7
JMP L1
L7: RET
JIAN ENDP
XIANSHI PROC NEAR
MOV CX,5
MOV DX,OFFSET DATA3
MOV AH,09
INT 21H
MOV DI,OFFSET DATA1+4
L2: MOV BL,[DI]
MOV DL,BL
AND DL,0FH
ADD DL,30H
MOV AH,02
INT 21H
DEC DI
DEC CX
CMP CX,0
JNE L2
MOV CX,5
MOV DX,OFFSET DATA4
MOV AH,09
INT 21H
MOV DI,OFFSET DATA2+4
L3: MOV BL,[DI]
MOV DL,BL
AND DL,0FH
ADD DL,31H
MOV AH,02
INT 21H
DEC DI
DEC CX
CMP CX,0
JNE L3
MOV AH,07
INT 21H
RET
XIANSHI ENDP
SHUCHU PROC NEAR
MOV CX,5
MOV DX,OFFSET DATA5
MOV AH,09
INT 21H
MOV DI,OFFSET DATA8+4
L4:
MOV BL,[DI]
AND BL,0FH
ADD BL,30H
MOV DL,BL
MOV AH,02
INT 21H
DEC DI
DEC CX
CMP CX,0
JNE L4
MOV DX,OFFSET DATA7
MOV AH,09
INT 21H
MOV AH,07
INT 21H
SHUCHU ENDP
CODE ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -