📄 十六进制转十进制3.asm
字号:
NAME ZHUAN
DATA SEGMENT PARA
RESULT DB 5 DUP(?),'$'
DATA ENDS
STACK SEGMENT PARA STACK
DW 100H DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
MEG DB'ERROR NUMBER!','$'
CRLF MACRO
MOV DL,0DH
MOV AH,2
INT 21H
MOV DL,0AH
MOV AH,2
INT 21H
ENDM
START:
MOV AX,SEG CODE
MOV DS,AX
MAIN:
CALL ZHUAN
CRLF
JMP MAIN
ZHUAN PROC NEAR
XOR BX,BX
NEXT1:
MOV AH,01
INT 21H
CMP AL,0DH
JZ RETU
SUB AL,30H ;接受部分有问题!!看看是不是应该把数上的程序部分都加上!
JL EXIT
SUB AL,07
CMP AL,0AH
JL EXIT
CMP AL,0FH
JG NEXT2
JMP NEXT3
NEXT2:
SUB AL,20H
CMP AL,0AH
JL EXIT
CMP AL,0FH
JG EXIT
JMP RETU
NEXT3:
MOV AX,DATA
MOV DS,AX
MOV CX,5
MOV AX,BX
MOV BX,10
MOV DI,OFFSET RESULT+4
LP1:XOR DX,DX
DIV BX
OR DL,30H
MOV BYTE PTR[DI],DL
DEC DI
LOOP LP1
MOV DX,OFFSET RESULT
JMP NEXT1
EXIT:
CRLF
MOV DX,OFFSET MEG
MOV AH,9
INT 21H
CRLF
JMP NEXT1
RETU:
RET
ZHUAN ENDP
MOV AH,4CH
INT 21H
CODE ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -