要求将ASCII码表示的十六进制数转成十进制并输出。
我的代码如下
可是运行后发现,输出的是乱码加我所要的答案
百思不得其解,那位大侠帮忙看一下~~
谢谢
DATA SEGMENT
DATA1 DB '124F ' ;四位十六进制ASCII
DATA2 DB 4 DUP(?) ;四位十六进制数
DATA3 DB 5 DUP(0), '$ '
TEMP1 DB 5 DUP(0) ;
TEMP2 DW ?
DATA ENDS
STACKS SEGMENT
DW 1000 DUP(?)
STACKS ENDS
CODE SEGMENT
MAIN PROC FAR
ASSUME CS:CODE,DS:DATA,SS:STACKS
START: MOV AX,DATA
MOV DS,AX
MOV SI,3 ;
MOV CX,4
A_TO_H: XOR AH,AH
MOV AL,DATA1[SI];装入待转换十六进制ASCII
CBW
PUSH AX
CALL TRANS_
POP AX
MOV DATA2[SI],AL;保存转成的十六进制数
DEC SI
LOOP A_TO_H
MOV AL,DATA2+3
MOV AH,DATA2+1
MOV BL,DATA2+2
MOV BH,DATA2
MOV CL,4
SHL BX,CL
ADD AX,BX
MOV TEMP2,AX
MOV SI,4 ;
MOV CX,4
XOR AH,AH