📄 dechex.asm
字号:
DATA SEGMENT
NUM_A DB 0
NUM_B DB 10
SHOW1 DB 'Input DEC Number : $'
SHOW2 DB 'Onput HEX Number : $'
CHR DB 'H$'
DATA ENDS
;------------------------------------
STACK SEGMENT PARA STACK 'STACK'
DB 100 DUP( ? )
STACK ENDS
;------------------------------------
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
MAIN PROC FAR
START: PUSH DS
MOV AX,0
PUSH AX
MOV AX,DATA
MOV DS,AX
;----------------------------------------
CALL CRLF
MOV DX,OFFSET SHOW1
MOV AH,09H
INT 21H
LP: MOV AH,01H
INT 21H
CMP AL,','
JE EXIT
SUB AL,30H
MOV DL,AL
MOV AL,NUM_A
MOV BL,NUM_B
MUL BL
ADD AL,DL
MOV NUM_A,AL
JMP LP
EXIT: CALL CRLF
MOV DX,OFFSET SHOW2
MOV AH,09H
INT 21H
MOV DL,NUM_A
PUSH DX
AND DL,0F0H
MOV CL,4
SHR DL,CL
CMP DL,10
JB NUM_H
ADD DL,07H
NUM_H: ADD DL,30H
MOV AH,02H
INT 21H
POP DX
AND DL,0FH
CMP DL,10
JB NUM_L
ADD DL,07H
NUM_L: ADD DL,30H
MOV AH,02H
INT 21H
MOV DX,OFFSET CHR
MOV AH,09H
INT 21H
CALL CRLF
RET
MAIN ENDP
;-----------------------------------
CRLF PROC NEAR
MOV DL,0AH
MOV AH,02H
INT 21H
MOV DL,0DH
MOV AH,02H
INT 21H
RET
CRLF ENDP
;------------------------------------
CODE ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -