大家帮忙看一下我的程序,搞了半天,输出不对,帮我改改,谢谢了。
题目要求:通过比较法完成8位二进制数转换为10进制数,屏幕应该显示:25+9=34;FELE NAME:EXA131.ASM
.486
DATA SEGMENT USE16
SUM DB ?,?
MESG DB '25+9=',0DH,0AH,'$'
DB 0,0
N1 DW 9,0F0H
N2 DW 25
DATA ENDS
CODE SEGMENT USE16
ASSUME CS:CODE ,DS:DATA
BEG: MOV AX,DATA
MOV DS,AX
MOV BX,OFFSET SUM
MOV BX,N1
MOV AX,N2
MOV BX,AX
CALL CHANG
MOV AH,9
MOV DX,OFFSET MESG
INT 21H
MOV AH,4CH
INT 21H
CHANG PROC
LAST: CMP BYTE PTR [BX],10
JC NEXT
SUB BX,10
INC BYTE PTR [BX+7]
JMP LAST
NEXT:MOV CL,SUM
ADD BYTE PTR [BX+8],CL
ADD BYTE PTR [BX+7],30H
ADD BYTE PTR [BX+8],30H
RET
CHANG ENDP
CODE ENDS
END BEG