再次求助!这个错误如何修改!?
从NUM开始的100个存储的单元之中,存放这ASII码表示的十六进制数,编写程序将其转换为十六进制数仍存放会原来存储单元下面这个代码,总报错,如何修改,谢谢指教!
DATA SEGMENT
NUM DB 7CH
S DB ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
MAIN PROC FAR
START: MOV AX,DATA
MOV DS,AX ;数据段段址送DS
LEA BX,NUM ;取NUM的偏址,送BX
LEA DI,S ;取S的偏址,送DI
MOV AL,[BX]
AND AL,0F0H ;留下高四位
MOV CL,4
STR AL,CL
CALL CHANGE ;调转换成ASCII的子程序
MOV AL,[BX]
AND AL,0FH ;留下低四位
CALL CHANGE ;调转换成ASCII的子程序
MOV AH,4CH
INT 21H
MAIN ENDP
CHANGE PROC ;转换成ASCII的子程序
CMP AL,10
JL NEXT ;如果(AL)<10,那么(AL)+30H,
ADD AL,'A'-'0'-10 ;否则(AL)+37H
NEXT: ADD AL,'0'
MOV [DI],DL ;存ASCII码
INC DI ;修改地址指针
RET
CHANGE ENDP
CODE ENDS
END START