[求助]子程序从键盘输入的4位十进制数,并转换成对应的二进制数存放在DX寄存器中,给
请高手帮忙,谢谢我编的这个程序汇编和链接都正常通过了,可是在执行时,我按题目的要求输入了四位十进制数,
例如:1234回车,可回车后就出现如下的对话框
16位MS-DOS子系统
C:\WINDOWS\SESTEM32\CMD.EXE-------SHIYAN4
NTVDM CPU 遇到无效的指令。
CS:1213 IP:04ED OP:FF FF FF FF FF 选择“关闭”终止应用程序。
关闭 忽略
请高手帮指点一下错在哪里了,编成一个可以符合题目要求的程序。谢谢。
题目要求:编写一个子程序,使它能接收从键盘输入的4位十进制数,并转换成对应的二进制数存放
在DX寄存器中,并给出主程序的调用方式
DHCCC SEGMENT
ASSUME CS:DHCCC
REPEAT: CALL DECIBIN
CALL CRLF
JMP REPEAT
DECIBIN PROC NEAR
MOV DX,0
NEWCHAR: MOV AH,1
INT 21H
SUB AL,30H
JL EXIT
CMP AL,9
JG EXIT
CBW
XCHG AX,DX
MOV CX,10D
MUL CX
XCHG AX,DX
ADD DX,AX
JMP NEWCHAR
EXIT: RET
DECIBIN ENDP
CRLF PROC NEAR
MOV DL,0DH
MOV AH,2
INT 21H
MOV DL,0AH
MOV AH,2
INT 21H
RET
CRLF ENDP
DHCCC ENDS
END