;子函数:输出双字节整数
;入口参数:AX传递要输出的双字节整数
;用到的寄存器:AX,DS,BX,DX,DI,SI
data3 SEGMENT
str DB 32 DUP('$(编译时去除此处括号)')
data3 ENDS
code3 SEGMENT
OutINT PROC FAR
ASSUME CS:code3,DS:data3
PUSH AX
PUSH BX
PUSH DX
PUSH DI
PUSH SI
PUSH DS
MOV BX,data3
MOV DS,BX
;双字节整数转为字符串
LEA DI,str
MOV BX,10
again3_1:
MOV DX,0
DIV BX
ADD DL,30H
MOV [DI],DL
INC DI
CMP AX,0
JNE again3_1
MOV [DI],'$(编译时去除此处括号)'
;反序
DEC DI
LEA SI,str
again3_2:
CMP DI,SI
JNA over3_1
MOV AH,[DI]
MOV AL,[SI]
MOV [SI],AH
MOV [DI],AL
INC SI
DEC DI
JMP again3_2
over3_1:
LEA DI,str
MOV DX,DI
MOV AH,09H
INT 21H
POP DS
POP SI
POP DI
POP DX
POP BX
POP AX
RET
OutINT ENDP
code3 ENDS
汇编源码学习14-子函数模块-输出双字节整数
最新推荐文章于 2021-03-17 11:03:17 发布