ASSUME CS:CODESG,DS:DATASG,SS:STACKSG
DATASG SEGMENT
D10 DB '00033878','$'
D16 DB '00000000','$'
SHOW DB '0000H','$'
DATASG ENDS
STACKSG SEGMENT
DB 020H DUP (0FFH)
STACKSG ENDS
CODESG SEGMENT
START:
MOV BX,DATASG
MOV DS,BX
MOV BX,STACKSG
MOV SS,BX
MOV SP,010H
MOV SI,000H
MOV DI,000H
MOV CX,008H
DO0:
MOV AL,DS:D10[SI]
INC SI
SUB AX,030H ;'0'
MOV DS:D16[DI],AL
INC DI
LOOP DO0
MOV BX,00AH ;10
MOV SI,000H
MOV AX,000H
MOV CX,008H
DO1:
MUL BX
ADD AL,DS:D16[SI]
INC SI
LOOP DO1
MOV SI,4
MOV CX,004H
DO2:
PUSH AX
AND AL,00001111B
ADD AL,030H
CMP AL,039H
JNA J0
ADD AL,007H
J0:
DEC SI
MOV DS:SHOW[SI],AL
POP AX
SHR AX,1
SHR AX,1
SHR AX,1
SHR AX,1
LOOP DO2
LEA DX,DS:SHOW[0]
MOV AX,0900H
INT 21H
MOV AX,4C00H
INT 21H
CODESG ENDS
END START
汇编进行十进制字符串转十六进制字符串