📄 2.asm
字号:
;FILENAME:2.ASM
.486
DISP MACRO NNN
MOV AH,0EH
MOV AL,NNN
INT 10H
ENDM
DATA SEGMENT USE16
MESG DB 'Please input 4 hex numbers:',0DH,0AH,'$'
MESG1 DB 'Input error!$'
BINARY DW 0
DATA ENDS
CODE SEGMENT USE16
ASSUME CS:CODE,DS:DATA
BEG: MOV AX,DATA
MOV DS,AX
MOV AH,9
MOV DX,OFFSET MESG
INT 21H
MOV CH,4
WAIT_IN: MOV AH,08H
INT 21H
MOV BL,AL
CMP AL,'0'
JL ERROR ;非法键入转
CMP AL,'9'
JA NEXT1
JMP NEXT2
NEXT1: CMP AL,'A'
JL ERROR ;非法键入转
CMP AL,'F'
JG ERROR ;非法键入转
SUB BL,7
NEXT2: SUB BL,30H ;生成二进制数
DISP AL ;显示位代码
SAL BL,4
MOV CL,4
LAST1: SAL BL,1
RCL BINARY,1 ;生成二进制数
DEC CL
JNZ LAST1
DEC CH
JNZ WAIT_IN
DISP 'H' ;显示'H'
DISP '=' ;显示'='
DISP2: MOV BP,BINARY
MOV CX,16
LAST3: MOV AL,'0'
RCL BP,1
JNC NEXT3
MOV AL,'1'
NEXT3: DISP AL
LOOP LAST3
DISP 'B'
MOV AH,4CH
INT 21H
ERROR: DISP AL
DISP 0AH
MOV AH,9
MOV DX,OFFSET MESG1
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END BEG
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -