实验一 汇编语言语法练习与代码转换
排除语法错误 下面给出的是一个通过比较法完成8位二进制数转换成十进制数送屏幕显示功能的汇编语言源程序,但有很多语法错误。要求实验者按照原样对源程序进行编辑,汇编后,根据MASM给出的错误信息对源程序进行修改,直到没有语法错误为止。然后进行链接,并执行相应的可执行文件。正确的执行结果是在屏幕上显示25+9=34。
【程序清单】
;FILENAME:
网页链接 .486
DATA SEGMENT USE16
SUM DB ?,?,
MESG DB ‘25+9=’
DB 0,0
N1 DB 9,F0H
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 AH, N1
MOV AL, N2
ADD AH, AL
MOV [BX], AH
CALL CHANG
MOV AH, 9
MOV DX, OFFSET MEST
INT 21H
MOV AH, 4CH
INT 21H
CHANG: PROC
LAST: CMP [BX], 10
JC NEXT
SUB [BX], 10
INC [BX+7]
JMP LAST
NEXT: ADD [BX+8], SUM
ADD [BX+7], 30H
ADD [BX+8], 30H
RET
CHANG: ENDP
CODE ENDS
END BEG
2、统计负数的个数,并求最大数。
设数据段有8个有符号数:
NUM DB -19,+28,37,-46,+55,61,-74,+255
请设计一个程序完成(1)统计并显示负数的个数
(2)找出真值最大的数,并以二进制的形式显示在屏幕上。
要求:统一提交实验报告的文档的电子版,文档中需将实验结果的截屏附上。