汇编语言程序设计实验篇(emu8086)

汇编语言程序设计实验篇(emu8086)

ID:45685517

大小:1.01 MB

页数:33页

时间:2019-11-16

汇编语言程序设计实验篇(emu8086)_第1页
汇编语言程序设计实验篇(emu8086)_第2页
汇编语言程序设计实验篇(emu8086)_第3页
汇编语言程序设计实验篇(emu8086)_第4页
汇编语言程序设计实验篇(emu8086)_第5页
资源描述:

《汇编语言程序设计实验篇(emu8086)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1.汇编语言程序设计实验篇1.1.汇编系统软件简介Emu8086-MicroprocessorEmulator是集源代码编辑器、汇编/反汇编工具以及debug的模拟器。它能模拟一台"虚拟"的电脑运行程序,拥有独立的“硬件”,避免访问真实硬件。该软件兼容Intel的下一代处理器,包括PentiumII、Pentium4。利用该软件提供的调试工具,能够单步跟踪程序,观察程序执行过程中寄存器、标志位、堆栈和内存单元的内容。1.1.1创建程序1.COMTEMPLATE程序本章与指令相关的实验都是用COMTEMPLATE类型的程序完成的。打开

2、emu8086,在“welcome…”对话框中,单击按钮,创建文件。在“choosecodetemplate”对话框中,选择“COMtemplate-simpleandtinyexecutablefileformat,puremachinecode.”后,单击按钮。在如所示的编辑界面中,在“;addyourcodehere”部分输入相应的指令,第一条指令默认的偏移地址为100h。输入全部指令后,单击按钮,保存相应的程序段。1.EXETEMPLATE程序本章与DOS功能调用和汇编源程序相关的实验都是用EXETEMPLATE程序完成的。

3、打开emu8086,在“welcome…”对话框中,单击按钮,创建文件。在“choosecodetemplate”对话框中,选择“EXEtemplate-advancedexecutablefile.header:relocation,checksum.”后,单击按钮。在如图所示的编辑界面中,已经可以给出了源程序的框架,包含数据段、堆栈段和代码段的定义以及必要的功能调用等,在“addyourdatahere”和“;addyourcodehere”部分可以分别输入相应的变量定义和指令。输入全部指令后,单击按钮,保存相应的程序。1.1.

4、1执行程序在编辑界面中,如图所示,单击按钮,自动完成源程序的编译和链接。在“emulator”对话框中(),左边部分列出了寄存器的当前值,右边部分是已经输入的程序段,中间部分是右边每条指令的物理地址和对应的机器代码,中间的文本框中列出了当前指令的CS和IP。单击按钮,可以单步执行一条指令;单击按钮,可以一次执行完所有程序;单击按钮,可以重新回到第一条指令的位置处;单击按钮,可以重新加载另一个程序。修改“emulator”对话框中文本框的内容,也可以观察其它段的内容,在图所示界面中,DS=0700H,若要察看该数据段中偏移地址为600

5、0H位置处的内存单元内容,可以在文本框中输入0700:6000,显示结果如图所示,中间部分依次列出从该地址开始的所有字节的内容。在“emulator”对话框的底部,单击按钮,可以观察栈的内容;单击按钮,可以观察标志寄存器中标志位的内容。在“emulator”对话框中,选择“view”菜单中的“memory”菜单项,也可以观察内存的情况。在“RandomAccessMemory”对话框中,可以修改文本框中的值可以确定所要观察的地址,该值由段基地址:段内偏移地址构成,如图所示,当前要观察的内存地址为(6000:0010)。在显示结果中,

6、左边是逻辑地址,中间是从该地址的开始连续16个字节的内容,右边是每个字节对应的字符。在该对话框中,也可以直接修改存储器单元的值,如图所示,从60010H开始的连续4个字节的内容已经被修改为12H,34H,56H和78H。1.1基础实验1.1.1数据传送指令1.实验目的1)熟悉8086指令系统的数据传送指令及8086的寻址方式。2)利用emu8086调试工具调试汇编程序。2.实验设备微型计算机、emu80863.实验原理通用数据传送指令包括:1)通用数据传送指令,如MOV,PUSH,POP,XCHG,CBW,CWD;2)目标地址传送指

7、令,如LDS,LES;3)标志传送指令,如LAHF,SAHF,PUSHF,POPF;4)输入输出指令,如IN,OUT,LEA寻址方式包括:1)立即寻址;2)直接寻址;3)寄存器寻址;4)寄存器间接寻值;5)寄存器相对寻址;6)基址-变址寻址;7)基址—变址—相对寻址;8)隐含寻址1.实验内容(1)创建COMTEMPLATE程序,输入以下程序段,观察程序的执行情况,程序段如下:MOVBL,08H;BX=?MOVCL,BL;CL=?MOVAX,03FFH;AX=?MOVBX,AX;BX=?MOVDS:[6000H],BX;DS:[600

8、0H]=?(提示:在emulator对话框中间的文本框中输入段基地址:段内偏移地址,可以观察其它逻辑段相应存储单元的内容)(2)创建COMTEMPLATE程序,用以下程序段将一组数据压入PUSH堆栈区,然后通过三种不同方式出栈。观察栈

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

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

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