📄 htob.asm
字号:
十六进制转换成32位二进制
;************************************************************
DATA SEGMENT
MES DB 'enter a hex data:$'
DATA ENDS
;************************************************************
CODE SEGMENT
;------------------------------------------------------------
HTOB PROC FAR
ASSUME CS:CODE ,DS:DATA
MOV AX,DATA
MOV DS,AX
START:
MOV AH,9
LEA DX,MES
INT 21H
PUSH DS
SUB AX,AX
PUSH AX
CALL INPUT
CALL CRLF
CALL PRINT
CALL CRLF
JMP START
RET
HTOB ENDP
;-----------------------------------------------------------
INPUT PROC NEAR
MOV BX,0
NEWCHAR:
MOV AH,1
INT 21H
SUB AL,30H
JL EXIT
CMP AL,10D
JL ADDTO
SUB AL,27H
CMP AL,0AH
JL EXIT
CMP AL,10H
JGE EXIT
ADDTO:
MOV CL,4
SHL BX,CL
MOV AH,0
ADD BX,AX
JMP NEWCHAR
EXIT:
RET
INPUT ENDP
;---------------------------------------------------
PRINT PROC NEAR
MOV CX,16D
ROT:
SHL BX,1D
JC SET
MOV DL,30H
MOV AH,2
INT 21H
DEC CX
JNZ ROT
RET
SET:
MOV DL,31H
MOV AH,2
INT 21H
DEC CX
JNZ ROT
RET
PRINT ENDP
;------------------------------------------------------
CRLF PROC NEAR
MOV DL,0AH
MOV AH,2
INT 21H
MOV DL,0DH
MOV AH,2
INT 21H
RET
CRLF ENDP
;---------------------------------------------------------
CODE ENDS
;*********************************************************
END HTOB
;3Q
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -