📄 ex21.asm
字号:
;-----多字节数对16进指数的显示
;入口:SI指向要显示的数据,CX=显示的字节数
;出口:DI指向已转换好的ASCII数
EX21 PROC NEAR
PUSH AX
DO: MOV AL,[SI] ;取一个字节到AL
CALL EX2_16 ;调转换子程序
DEC SI ;指向下个数
LOOP DO
POP AX
RET
EX21 ENDP
;--------2 exchange 16-----
;将一个8位2进制数转换为2个16进指数ASCII码并显示
;入口:AL=数据
EX2_16 PROC NEAR
PUSH CX ;保护现场
PUSH BX
PUSH DX
G1: MOV BL,2 ;需转换2次
MOV BH, AL ;AL中的数暂存BH
MOV CL, 4 ;置移位位数
ROL AL, CL ;循环左移4位
G2: AND AL, 0FH ;得到低4位
CMP AL,10 ; BL <10?
JB S ; BL<10,转
ADD AL,07H ;大于10,加7
S: ADD AL,30H
;--------显示一个ASCII码 --------
MOV DL,AL ;送ASCII码
MOV AH,2
INT 21H ;显示一个ASCII码
MOV AL,BH
DEC BL
JNZ G2 ;2个数没转换完,继续
;恢复现场
POP DX
POP BX
POP CX
RET ;子程序返回
EX2_16 ENDP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -