8086汇编语言上机调试 实验报告

8086汇编语言上机调试 实验报告

ID:1245062

大小:907.19 KB

页数:9页

时间:2017-11-09

8086汇编语言上机调试 实验报告_第1页
8086汇编语言上机调试 实验报告_第2页
8086汇编语言上机调试 实验报告_第3页
8086汇编语言上机调试 实验报告_第4页
8086汇编语言上机调试 实验报告_第5页
资源描述:

《8086汇编语言上机调试 实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、一、实验目的(1)掌握常用DEBUG命令:G,D,R,T,U,Q。(2)掌握工具软件EMU8086。(3)掌握完整程序设计方法的格式,能正确书写数据段,代码段等。(4)掌握简单的数值转换算法二.实验原理2.1汇编语言程序的上机过程2.1.1、在计算机上运行汇编语言程序的过程如下图所示图1汇编语言程序的建立及汇编过程2.1.2、汇编语言程序上机过程1)、用编辑程序(如EDIT.EXE)建立ASM源文件;2)、用汇编程序(如MASM.EXE)把ASM文件转汇编成OBJ文件;3)、用连接程序(如LINK.EXE)把OBJ文件转连接成EXE文件;4)、用调试程

2、序(如DEBUG.COM)来调试和执行5)、生成EXE或COM文件2.2、汇编语言程序格式存储器的物理地址由段基址和偏移地址组合而成,任何一个逻辑段,无论是代码段,数据段,堆栈段,附加段都必须进行段定义,以便连接程序把不同段和模块连接成一个可执行程序。此外,还必须明确段和段寄存器之间的关系,这可使用段分配语句来完成。2.2.1、段定义语句四个逻辑段不一定全部要定义,通常代码段和数据段是必须的,附加段可以省略。但当代码段中使用了串指令,必须设置附加段作目标串基址用,附加段也可用来存放数据,增大数据段容量。(1)代码段:存放程序执行的指令(2)数据段:存放

3、程序所需的数据(3)堆栈段:存放程序执行的临时信息数据段定义格式:DATASEGMENT;数据段RESULT_1DB1RESULT_2DB1RESULT_3DB1DATAENDS附加段的定义:EXTRASEGMENTDEST_BUFFERDB50DUP(‘?’)EXTRAENDS堆栈段的定义:STACKSEGMENTSTACK;堆栈段STADB64DUP(0)STACK_TOPDB0STACKENDS2.2.2、段分配语句在8086/8088系统中存储器采用分段结构,各段容量≦64K字节,用户可以设置多个逻辑段,但只允许4个逻辑段同时有效,段分配语句用

4、来完成将逻辑段分别定义成代码段、数据段、堆栈段和附加段。由于ASSUME伪指令只指定某个段分配给哪个段寄存器,并将代码段的段基址自动装入CS寄存器中,而不能自动把其它段基址装入相应的段寄存器中,所以在代码段的开始要有一段初始化程序完成这一工作。对堆栈段来说除了将段基址送入SS寄存器外,还要将栈顶偏移地址置入堆栈指示器SP中。ASSUMECS:段名,DS:段名,ES:段名,SS:段名2.3、将000H-3E7H范围内的二进制数转换成BCD码2.3.1、程序框图:对于0-999(即000H-3E7H)范围内的二进制数2.3.2、参考程序:将AX中的三位数拆

5、为三个BCD码,并存入Result开始的三个单元DATASEGMENT;数据段RESULT_1DB1RESULT_2DB1RESULT_3DB1DATAENDSSTACKSEGMENTSTACK;堆栈段STADB64DUP(0)STACK_TOPDB0STACKENDSCODESEGMENT;代码段ASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AX;设置数据段MOVAX,STACKMOVSS,AX;设置堆栈段LEASP,STACK_TOP;设置栈顶指针MOVAX,2afHMOVC

6、L,100DIVCLMOVRESULT_1,AL;除以100,得百位数MOVAL,AHMOVAH,0MOVCL,10DIVCLMOVRESULT_2,AL;余数除以10,得十位数MOVRESULT_3,AH;余数为个位数MOVAX,4C00H;返回DOSINT21H;CODEENDSENDSTART;最后一行要按回车键三、实验及报告要求3.1用合适的编辑软件编辑以上源文件并存入合适目录;要求补充注释未注释的伪指令和指令;3.2分别在DOS和Windows下编译、连接生成可执行文件,比较两个环境下生成的机器码的长度和内容;试指出第2、5、7、10、14条

7、指令的IP和机器码。3.3分别在debug和emu8086下调试该可执行文件,给出程序运行时的各段地址(CS=?,DS=?SS=?ES=?)举例说明debug的t,d,g,u等命令操作方法并对寄存器的变化作出解释;试改变被转换的三位数,并解释转换过程中标志寄存器中各标志位的结果;如何观察转换结果的变化?3.4写出完整的实验报告,特别是“实验结果”与“实验总结体会”部分,是评分的主要依据。实验总结中要求结合实验中的经验、教训或体会对汇编语言格式、调试方法和微机原理学习方法作出总结。四、实验结果4.1、注释源程序中的伪指令和指令;DATASEGMENT;数

8、据段RESULT_1DB1;结果1是低八位,初始量为’1’RESULT_2DB1;结果1是低八

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。