语法练习和程序设计微机实验报告.doc

上传人:星星 文档编号:1077053 上传时间:2024-04-12 格式:DOC 页数:15 大小:154KB
下载 相关 举报
语法练习和程序设计微机实验报告.doc_第1页
第1页 / 共15页
语法练习和程序设计微机实验报告.doc_第2页
第2页 / 共15页
语法练习和程序设计微机实验报告.doc_第3页
第3页 / 共15页
语法练习和程序设计微机实验报告.doc_第4页
第4页 / 共15页
语法练习和程序设计微机实验报告.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、实 验 报 告实验名称语法练习和程序设计指导教师陈云芳实验类型验证实验学时2实验时间2012.10.11一、 实验目的和要求1、 进一步学习汇编语言源程序的编辑、汇编、目标文件的链接和可执行文件的执行全过程。2、 掌握汇编软件、TASM、TLINK、和TD的使用方法。3、掌握汇编语言的语法规则。 4、掌握循环程序的编写以及结束循环的方法。二、实验环境(实验设备)TASM汇编开发工具包,windows 7.三、实验原理及内容1、 【实验1.3.1】排除语法错误。要求通过比较法完成8位二进制数转换成十进制数送屏幕显示功能的汇编语言源程序。但有很多语法错误,要求按照原样对源程序进行编辑,汇编后,根据

2、TASM给出的错误信息对源程序进行修改,直到没有语法错误为止,然后进行链接,并执行相应的可执行文件。正确的执行结果是在屏幕上显示:25+9=34。源程序:.486DATA SEGMENT USE16SUM DB ?,?,MESG DB 25+9=DB 0,0N1 DB 9,F0HN2 DW 25 DATA ENDSCODE SEGMENT USE16ASSUME CS:CODE,DS:DATABEG: MOV AX,DATAMOV DS,AXMOV BX,OFFSET SUMMOV AH,N1MOV AL,N2ADD AH,ALMOV BX,AHCALL CHANGMOV AH,9MOV DX

3、,OFFSET MESGINT 21HMOV AH,4CHINT 21HCHANG: PROCLAST: CMP BX, 10JC NEXTSUB BX, 10INC BX+7JMP LASTNEXT: ADD BX+8,SUM ADD BYTE PTR BX+7, 30HADD BYTE PTR BX+8, 30HRETCHANG: ENDPCODE ENDSEND BEG用TASM编译后,提示出现5处错误。 经过多次修改以后代码如下.486DATA SEGMENT USE16SUM DB ?,?MESG DB 25+9= DB 0,0,$N1 DB 9N2 DB 25DATA ENDSCO

4、DE SEGMENT USE16 ASSUME CS:CODE , DS:DATABEG: 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 21HCHANG PROCLAST: CMP BYTE PTR BX,10 JC NEXT SUB BYTE PTRBX,10 INC BYTE PTR BX+7 MOV AH, BYTE PTRBX JMP LASTNE

5、XT: ADD BYTE PTRBX+8,AH ADD BYTE PTRBX+7 ,30H ADD BYTE PTRBX+8 ,30H RETCHANG ENDPCODE ENDS END BEG 修改以后用tasm编译,如下 再用TLINK链接 如下 最后运行如下 2、实验【2.3.4】从数据段NUM单元开始存有9个有符号数,并编写一个程序实现:找出最小值存放到数据段MIN单元,并将负数的个数以十进制的形式显示在屏幕上。编写多次修改后代码如下:.486DATA SEGMENT USE16NUM DB 4,5,-6,-37,2,-1,8,-15,1MIN DB ?AB DB 0DATA END

6、SCODE SEGMENT USE16 ASSUME CS:CODE , DS:DATABEG: MOV AX,DATA MOV DS,AX MOV BX,OFFSET NUM MOV CH,0 MOV CL,9AGAIN: CMP BYTE PTR BX ,0 JG NEXT1 INC AB CMP BYTE PTR BX, CH JG NEXT1 MOV CH,BYTE PTR BXNEXT1: INC BYTE PTR BX DEC CL JNE AGAIN MOV MIN,CH MOV AH,2 MOV DL,AB INT 21H MOV AH,4CH INT 21HCODE ENDS

7、 END BEG编译链接运行后,结果如下:三、实验原理及内容2、 【实验1.3.1】排除语法错误。要求通过比较法完成8位二进制数转换成十进制数送屏幕显示功能的汇编语言源程序。但有很多语法错误,要求按照原样对源程序进行编辑,汇编后,根据TASM给出的错误信息对源程序进行修改,直到没有语法错误为止,然后进行链接,并执行相应的可执行文件。正确的执行结果是在屏幕上显示:25+9=34。源程序:.486DATA SEGMENT USE16SUM DB ?,?,MESG DB 25+9=DB 0,0N1 DB 9,F0HN2 DW 25 DATA ENDSCODE SEGMENT USE16ASSUME

8、CS:CODE,DS:DATABEG: MOV AX,DATAMOV DS,AXMOV BX,OFFSET SUMMOV AH,N1MOV AL,N2ADD AH,ALMOV BX,AHCALL CHANGMOV AH,9MOV DX,OFFSET MESGINT 21HMOV AH,4CHINT 21HCHANG: PROCLAST: CMP BX, 10JC NEXTSUB BX, 10INC BX+7JMP LASTNEXT: ADD BX+8,SUM ADD BYTE PTR BX+7, 30HADD BYTE PTR BX+8, 30HRETCHANG: ENDPCODE ENDSE

9、ND BEG用TASM编译后,提示出现5处错误。 经过多次修改以后代码如下.486DATA SEGMENT USE16SUM DB ?,?MESG DB 25+9= DB 0,0,$N1 DB 9N2 DB 25DATA ENDSCODE SEGMENT USE16 ASSUME CS:CODE , DS:DATABEG: 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,4C

10、H INT 21HCHANG PROCLAST: CMP BYTE PTR BX,10 JC NEXT SUB BYTE PTRBX,10 INC BYTE PTR BX+7 MOV AH, BYTE PTRBX JMP LASTNEXT: ADD BYTE PTRBX+8,AH ADD BYTE PTRBX+7 ,30H ADD BYTE PTRBX+8 ,30H RETCHANG ENDPCODE ENDS END BEG 修改以后用tasm编译,如下 再用TLINK链接 如下 最后运行如下 2、实验【2.3.4】从数据段NUM单元开始存有9个有符号数,并编写一个程序实现:找出最小值存放到

11、数据段MIN单元,并将负数的个数以十进制的形式显示在屏幕上。编写多次修改后代码如下:.486DATA SEGMENT USE16NUM DB 4,5,-6,-37,2,-1,8,-15,1MIN DB ?AB DB 0DATA ENDSCODE SEGMENT USE16 ASSUME CS:CODE , DS:DATABEG: MOV AX,DATA MOV DS,AX MOV BX,OFFSET NUM MOV CH,0 MOV CL,9AGAIN: CMP BYTE PTR BX ,0 JG NEXT1 INC AB CMP BYTE PTR BX, CH JG NEXT1 MOV CH

12、,BYTE PTR BXNEXT1: INC BYTE PTR BX DEC CL JNE AGAIN MOV MIN,CH MOV AH,2 MOV DL,AB INT 21H MOV AH,4CH INT 21HCODE ENDS END BEG编译链接运行后,结果如下:四、实验小结(包括问题和解决方法、心得体会、意见与建议等) 1让我们熟悉了汇编语言编写过程,从编辑到编译再到链接最后到运行的整个过程。 2了解了如何根据tasm编译时提示的错误进行针对性的修改。 3 刚开始由于没有注意标号后面应加冒号“:“说明这一细节,用tasm编译时一直提示出错,但又不知道错在哪里。4使用tasm汇编工具汇编时,修改错误不太方便,需要根据提示错误行数,用edit编辑打开修改。 五、指导教师评语 成 绩批阅人日 期14

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 学术论文 > 毕业论文

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922