📄 04a.asm
字号:
CODE SEGMENT
ASSUME CS:CODE
START PROC FAR
STT:PUSH DS
SUB AX,AX
PUSH AX
;==============================
CLC
MOV AX,0
MOV DX,0
MOV BX,000FH
MOV CX,16
CHECK:
SHL BX,1
ADC DL,0
CMP DL,1
JZ COUNT
CONTINUE:
LOOP CHECK
JMP FINISH
COUNT:
ADD AL,1
DAA
CLC
MOV DX,0
JMP CONTINUE
FINISH:
MOV AH,0
MOV BX,0
MOV BL,AL ;分离AL的高4位和低4位,分离后AL中为高4位,BL中为低4位
AND AL,0F0H
MOV CL,4
SHR AL,CL
AND BL,0FH
CALL HEX2ASCII ;调用HEX2ASCII
CALL DISPLAY ;调用DISPLAY子程序
MOV AL,BL
CALL HEX2ASCII
CALL DISPLAY
;==============================
RET
START ENDP
HEX2ASCII PROC NEAR
CLC ;16进制转ASCII子程序
DAA
ADD AL,0F0H
ADC AL,40H
RET
HEX2ASCII ENDP
DISPLAY PROC NEAR
PUSH DX ;显示结果子程序
MOV DL,AL
MOV AH,2
INT 21H
POP DX
RET
DISPLAY ENDP
CODE ENDS
END STT
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -