- 1、本文档共25页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言实验报告qxf
汇编语言程序设计
实验报告
学号:
班级:
指导老师:
姓名:
实验时间:
学院:
目 录
实验一 认识Tddebug集成环境 实验日志 3
实验二 I/O程序设计 实验日志 4
实验三 代码转换程序设计 实验日志 7
实验四 分支程序设计 实验报告 11
附录:源代码 14
实验一: 14
实验二 第1题 15
实验二 第2题 16
实验二 第3题 17
实验二 第4题 18
实验三 第1题 19
实验三 第2题 20
实验三 第3题 21
实验四 23
实验一 认识Tddebug集成环境 实验日志
实验目的:
熟悉汇编程序的开发过程。
认识Tddebug集成操作软件。
掌握在Tddebug集成环境中编辑、编译、连接汇编语言程序方法。
掌握INT 21H软件中断来调用DOS内部子程序的方法
实验内容:
1. 打开D盘的Tangdu\tddebug\bin\tddebug.exe
2. 编辑源程序hallo world,ALT+F并生成一个扩展名为ASM的文本文件存盘
3. 编译原程序,ALT+C选择编译,生成扩展名为OBJ的目标文件,出现错误则返回到编辑窗口修改错误信息。
4. 链接目标程序。ALT+C选择link,生成exe文件
5. 运行可执行文件。ALT+R,弹出了程序运行的结果。
6. 使用Rmun菜单中的Debug调试程序,查看各段内存分配情况,和单步执行数据传送指令后各寄存器和数据段的内容。
运行结果:
心得体会:
在这次试验中,认识tddebug集成开发环境 ,掌握汇编语言基本程序设计。
由于是第一次实验,和课堂上理论知识的讲解还在初步阶段,没有涉及完整的汇编语言编程,因此不管是对于语言的运用和理解还是对集成开发环境的熟悉程度都很微薄。因此在实验过程遇到了许多小问题和困惑,不过在老师和同学帮助下都明白了不懂得地方。
(1)第一个问题是编程界面太小,因为不能用鼠标定位不方便查看。通过仔细查看实验指导书,找到快捷键F5可以放大/缩小窗口。同时了解了软件的其它快捷键方式。
(2)第二个问题是第一次使用tddebug集成环境编辑汇编代码,发现不能直接使用复制粘贴功能,就一行一行的敲代码。后来发现,可以使用记事本拷贝源代码,然后通过改变后缀名为ASM就能直接使用了。
(3)第一次看见完整的汇编程序,但是由于基础知识的匮乏,如此简单功能的程序也看不懂。最后在老师讲解后才稍微明白。不过这是基本功,需要在课堂上后课堂下的认真努力。
实验二 I/O程序设计 实验日志
实验目的:
理解软中断的调用方法及中断过程。
掌握INT 21H软件中断来调用DOS系统I/O子程序的方法。
掌握将存储在内存单元中的数据在屏幕上显示的方法。
掌握从键盘输入信息到内存的方法。
实验内容:
1.【示例】:将指定数据区中一个字节的数据以十六进制数形式显示在屏幕上。
设计思路:首先将该数以十六进制数形式分解,然后将每一位分别转换为ASCII码送屏幕显示。其中0H~9H之间的数加30H,即可得0H~9H的ASCII码,而AH~FH的ASCII码,则需再加7H。
2.编程由键盘输入任意一个字符,将该字符的ASCII码值显示在屏幕上。
设计思路:在第一题MOV SI,OFFSET SD之后增加如下代码段
MOV AH, 01H ;键盘输入并回显
INT 21H
MOV DS:[SI],AL ;将AL中键入的ASCII码存入数据段
MOV AH, 02H ;输出回车换行符
MOV DL, 0AH
INT 21H
3.从键盘输入两个1位十进制数,计算二者之和,并将结果显示在屏幕上。
设计思路:用01H输入字符,减去30H再相加;结果大于10,先输出“1”,再减去10后输出结果(+30H),小于10直接输出结果
DATA SEGMENT
NUM1 DB 0
NUM2 DB 0
NUM3 DB 0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV SI,OFFSET NUM1
MOV AH, 01H ;键盘输入并回显
INT 21H
SUB AL,30H
MOV DS:[SI],AL ;值存入数据段
MOV DS:[SI+2],AL
MOV AH, 02H ;显示字符+
MOV DL, 2BH
INT 21H
MOV
文档评论(0)