📄 新建 文本文档.txt
字号:
DATA SEGMENT
MSG1 DB 'Hex:', '$'
MSG2 DB 0DH, 0AH, 'Binary:', '$'
COUNT EQU 4
BUF DB 4 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX, DATA
MOV DS, AX
LEA DX, MSG1
MOV AH, 9
INT 21H
MOV CX, COUNT
MOV SI, 0
INPUT: ;通过四次循环从键盘读入四位十六进制数
MOV AH, 1
INT 21H
MOV BUF[SI], AL
DEC CX
INC SI
CMP CX, 0
JNZ INPUT
NEXT3: LEA DX, MSG2
MOV AH, 9
INT 21H
MOV CX, COUNT
MOV SI, 0
NEXT2: MOV BL, BUF[SI]
CMP BL , '9'
JBE OK ; 读入的字符<=9 转向 OK:
SUB BL, 7 ;读入字符>= 9 减7
OK: PUSH CX
MOV CL ,4
SHL BL, CL ; 逻辑左移4位,低4位à高4位
MOV CX, 4 ; 4次循环将当前处理字符的4位二进制输出
NEXT1: MOV DL, '0'
SHL BL, 1
JNC SKIP
INC DL
SKIP: MOV AH, 2
INT 21H
LOOP NEXT1
POP CX ;
INC SI
LOOP NEXT2 ; 4次循环将4位十六进制数,每位转换为对应的4位二进制
EXIT: MOV AH, 4CH
INT 21H
CODE ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -