汇编语言语法练习与代码转换
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
(2014/ 2015 学年第二学期)
课程
名称微型计算机原理与接口技术
实验名称汇编语言语法练习与代码转换
实验时间2016年1
月1
3
日
指导
单位
计算机学院、软件学院
指导
教师
顾磊
学生姓名杜刚班级
学号
141103
学院(系)通信工程专
业
信息工程
实验报告
三、实验过程描述与结果分析
汇编语言源程序编写好以后,?必须经过下列几个步骤才能在机器上运行:
(1) 编辑源程序(生成.ASM文件)?
(2) 汇编源程序(.ASM??→?.OBJ)?
(3) 链接目标程序(.OBJ?→?.EXE?)?
(4) 调试可执行程序(使用调试程序Debug调试生成的.EXE文件)?
(5) 运行程序输出结果。
排除语法错误
要求通过比较法完成8位二进制数转换成十进制数送屏幕显示功能的汇编语言源程序。但有很多语法错误,要求按照原样对源程序进行编辑,汇编后,根据TASM给出的错误信息对源程序进行修改,直到没有语法错误为止,然后进行链接,并执行相应的可执行文件。正确的执行结果是在屏幕上显示:25+9=34。
修改后代码:(分号后为修改)
;FILENAME:
.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
;FILENAME:
.486
DATA SEGMENT USE16
MESG DB 'HELLO'
DB 0,0,0
DATA ENDS
CODE SEGMENT USE16
ASSUME CS:CODE,DS:DATA BEG: MOV AX,DATA
MOV DS,AX
MOV ES,AX
MOV CX,5
LL1: MOV MESG+5,0DH
MOV MESG+6,0AH
MOV MESG+7,'$'
CALL DISP
MOV MESG+5,0
MOV MESG+6,0
MOV MESG+7,0
LOOP LL1
MOV AH,4CH
INT 21H
DISP PROC
MOV AH,9
MOV DX,OFFSET MESG INT 21H
RET
DISP ENDP
CODE ENDS
END BEG