微型计算机原理与接口技术实验1.3.1

时间:2021-10-16 01:26:43

【实验1.3.1】排除语法错误。

下面给出的是一个意想通过比较法完成8位二进制数转换成十进制数送屏幕显示功能的汇编语言源程序,但有很多语法错误。 要求实验者按照原样对源程序进行编辑,汇编后,根据TASM给出的错误信息对源程序进行修改,直到没有语法错误为止。然后进行链接,并执行相应的可执行文件。正确的执行结果是在屏幕上显示:25+9=34。

;FILENAME:EXA131.ASM
.486
DATA SEGMENT USE16
SUM DB '?','?'
MESG DB '25+9='
DB 0,0,'$' ;以'$'结尾,没有输出会乱码
N1 DB 9,0F0H
N2 DB 25
DATA ENDS
CODE SEGMENT USE16
ASSUME CS:CODE,DS:DATA
BEG: MOV AX,DATA
MOV DS,AX
MOV BX,OFFSET SUM
MOV AH,N1
MOV AL,N2
ADD AH,AL
MOV [BX],AH
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 BYTE PTR [BX],10
INC BYTE PTR [BX+7]
JMP LAST
NEXT: MOV DL,SUM
ADD BYTE PTR [BX+8],DL
ADD BYTE PTR [BX+7],30H
ADD BYTE PTR [BX+8],30H
RET
CHANG ENDP
CODE ENDS
END BEG