电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOC文档下载
分享到微信 分享到微博 分享到QQ空间

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

  • 资源ID:473915592       资源大小:259KB        全文页数:28页
  • 资源格式: DOC        下载积分:20金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要20金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

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

-1. 汇编语言程序设计实验篇1.1. 汇编系统软件简介Emu8086-Microprocessor Emulator是集源代码编辑器、汇编/反汇编工具以及debug的模拟器。它能模拟一台"虚拟"的电脑运行程序,拥有独立的“硬件”,避免访问真实硬件。该软件兼容Intel的下一代处理器,包括PentiumII、Pentium4。利用该软件提供的调试工具,能够单步跟踪程序,观察程序执行过程中寄存器、标志位、堆栈和内存单元的内容。1.1.1 创建程序1. COM TEMPLATE程序本章与指令相关的实验都是用COM TEMPLATE类型的程序完成的。打开emu8086,在“welcome”对话框中,单击按钮,创建文件。在“choose code template”对话框中,选择“COM template-simple and tiny e*ecutable file format, pure machine code.”后,单击按钮。在如所示的编辑界面中,在“;add your code here”部分输入相应的指令,第一条指令默认的偏移地址为100h。输入全部指令后,单击按钮,保存相应的程序段。2. E*E TEMPLATE程序本章与DOS功能调用和汇编源程序相关的实验都是用E*E TEMPLATE程序完成的。打开emu8086,在“welcome”对话框中,单击按钮,创建文件。在“choose code template”对话框中,选择“E*E template-advanced e*ecutable file.header: relocation, checksum.”后,单击按钮。在如图所示的编辑界面中,已经可以给出了源程序的框架,包含数据段、堆栈段和代码段的定义以及必要的功能调用等,在“add your data here”和“;add your code here”部分可以分别输入相应的变量定义和指令。输入全部指令后,单击按钮,保存相应的程序。1.1.2 执行程序在编辑界面中,如图所示,单击按钮,自动完成源程序的编译和链接。在“emulator”对话框中(),左边部分列出了寄存器的当前值,右边部分是已经输入的程序段,中间部分是右边每条指令的物理地址和对应的机器代码,中间的文本框中列出了当前指令的CS和IP。单击按钮,可以单步执行一条指令;单击按钮,可以一次执行完所有程序;单击按钮,可以重新回到第一条指令的位置处;单击按钮,可以重新加载另一个程序。修改“emulator”对话框中文本框的内容,也可以观察其它段的内容,在图所示界面中,DS=0700H,若要察看该数据段中偏移地址为6000H位置处的内存单元内容,可以在文本框中输入0700:6000,显示结果如图所示,中间部分依次列出从该地址开始的所有字节的内容。在“emulator”对话框的底部,单击按钮,可以观察栈的内容;单击按钮,可以观察标志寄存器中标志位的内容。在“emulator”对话框中,选择“view”菜单中的“memory”菜单项,也可以观察内存的情况。在“Random Access Memory”对话框中,可以修改文本框中的值可以确定所要观察的地址,该值由段基地址:段内偏移地址构成,如图所示,当前要观察的内存地址为(6000:0010)。在显示结果中,左边是逻辑地址,中间是从该地址的开始连续16个字节的内容,右边是每个字节对应的字符。在该对话框中,也可以直接修改存储器单元的值,如图所示,从60010H开始的连续4个字节的内容已经被修改为12H,34H,56H和78H。1.2 基础实验1.2.1 数据传送指令1. 实验目的1)熟悉8086指令系统的数据传送指令及8086的寻址方式。2)利用emu8086调试工具调试汇编程序。2. 实验设备微型计算机、emu80863. 实验原理通用数据传送指令包括:1)通用数据传送指令,如MOV,PUSH,POP,*CHG,CBW,CWD;2)目标地址传送指令,如LDS,LES;3)标志传送指令,如LAHF,SAHF,PUSHF,POPF;4)输入输出指令,如IN,OUT,LEA寻址方式包括:1)立即寻址;2)直接寻址;3)寄存器寻址;4)寄存器间接寻值;5)寄存器相对寻址;6)基址-变址寻址;7)基址变址相对寻址;8)隐含寻址4. 实验内容(1)创建COM TEMPLATE程序,输入以下程序段,观察程序的执行情况,程序段如下:MOV BL,08H;B*="MOV CL,BL;CL="MOV A*,03FFH;A*="MOV B*,A*;B*="MOV DS:6000H,B*;DS:6000H="(提示:在emulator对话框中间的文本框中输入段基地址:段内偏移地址,可以观察其它逻辑段相应存储单元的内容)(2)创建COM TEMPLATE程序,用以下程序段将一组数据压入PUSH堆栈区,然后通过三种不同方式出栈。观察栈的变化情况(提示:在emulator对话框中,单击按钮可以察看栈中内容)以及出栈后数据的变化情况,并把结果填入表11中。程序段如下:MOV A*,0102HMOV B*,0304HMOV C*,0506HMOV D*,0708HPUSH A*PUSH B*PUSH C*PUSH D*第种出栈方式的指令序列:POP D*POP C*POP B*POP A*第二种出栈方式的指令序列(注:替换掉第种出栈方式的指令序列):POP A*POP B*POP C*POP D*第三种出栈方式的指令序列(注:替换掉第二种出栈方式的指令序列):POP C*POP D*POP A*POP B*表11数据传送实验结果表格寄存器的值第一种出栈方式第二种出栈方式第三种出栈方式(A*)=(B*)=(C*)=(D*)=(3)创建COM TEMPLATE程序,分别输入下列指令,按要求设置各寄存器及内存单元的值(提示:在“emulator”对话框中,可以直接修改寄存器的值;选择“view”菜单中的“memory”菜单项可以设置内存单元的值),其中B*0010H,SI0001H,60010H12H,60011H34H,60012H56H,60013H78H,60120H0ABH,60121H0CDH,60122H0EFH,观察指令执行后A*中的内容。1)MOV A*,1200H2)MOV A*,B*3)MOV A*,0120H4)MOV A*,B*5)MOV A*,0110HB*6)MOV A*,B*SI7)MOV A*,0110HB*SI(4)创建COM TEMPLATE程序,试分别用8086的直接寻址、寄存器间接寻址、变址寻址、寄存器相对寻址传送指令编写程序段,将DS:6000H字节存储单元中的内容传送到DS:6020H单元中。(5)设A*=1111H,B*=2222H,DS:6010H=3333H。试编写COM TEMPLATE程序,将A*的内容与B*的内容交换,然后再将B*的内容与DS:6010H单元的内容进行交换。(6)若DS:6000H=0EEFFH,ES:7000H=0CCDDH,请编写COM TEMPLATE程序,将两个存储单元的内容交换。5. 实验习题指出下列指令的错误并加以改正,并在emu8086中验证。1)MOV B*,SI2)MOV AH,B*3)MOV A*,SIDI4)MOV BYTE PTRB*,2000H5)MOV CS,A*6)MOV DS,2000H6. 实验报告要求1) 整理源程序段和运行结果。2) 给出几种在emu8086中察看内存单元的方法。1.2.2 算术逻辑运算指令1. 实验目的1)熟悉算术逻辑运算指令的功能。2)了解标志寄存器中各标志位的意义以及指令执行对它的影响。2. 实验设备微型计算机、emu80863. 实验原理算术运算指令包括:1)加法指令,如ADD,ADC,INC;2)减法指令,如SUB,SBB,DEC,NEG,CMP;3)乘法指令,如MUL,IMUL;4)除法指令,如DIV,IDIV。逻辑运算指令包括:AND,OR,NOT,*OR,TEST4. 实验内容(1)创建COM TEMPLATE程序,输入以下程序段,单步执行并记录标志位的变化情况(提示:在emulator对话框中,单击按钮察看标志寄存器的值)。程序段及结果表格如表12。表12算术逻辑运算实验结果表格标志位程序 CFZFSFOFPFAF程序段1000000MOV A*, 1018HMOV SI, 230AHADD A*, SIADD AL, 30HMOV B*, 3FFHADD A*,B*MOV 20H, 1000HADD 20H, A*PUSH A*POP B*程序段2000000MOV A*, 0A0AHADD A*, 0FFFFHMOV C*, 0FF00HADC A*, C*SUB A*, A*INC A*OR C*, 0FFHAND C*, 0F0FHMOV 10H, C*程序段3000000MOV BL, 25HMOV BYTE PTR10H, 4MOV AL, 10HMUL BL程序段4000000MOV WORD PTR10H,80HMOV BL, 4MOV A*, 10HDIV BL(2)用B*作为地址指针,从B*所指的内存单元0010H开始连续存入三个无符号数(10H、04H、30H),计算内存单元中这三个数的和,并将和放在0013H单元中,再求出这三个数的乘积,并将乘积存入0014单元中,写出完成此功能的COM TEMPLATE程序。(3)创建COM TEMPLATE程序,写出完成下述功能的程序段,并指出程序运行后A*"1)将15H传送到AL;2)再将AL的内容乘以2;3)将15H传送到BL;4)把AL的内容乘以BL的内容。(4)创建以下两个程序段的COM TEMPLATE程序并上机验证。1)给数据段中从偏移地址1000H开始的12个字存储单元的内容赋值,请将第4条比较指令填写完整(划线处)。MOV SI,100

注意事项

本文(汇编语言程序设计实验篇emu8086)为本站会员(博****1)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.