电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

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

28页
  • 卖家[上传人]:博****1
  • 文档编号:473915592
  • 上传时间:2023-02-22
  • 文档格式:DOC
  • 文档大小:259KB
  • / 28 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、-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、。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。单击按钮,可以单步执行一条指令;单击按钮,可以一次执行完所

      3、有程序;单击按钮,可以重新回到第一条指令的位置处;单击按钮,可以重新加载另一个程序。修改“emulator”对话框中文本框的内容,也可以观察其它段的内容,在图所示界面中,DS=0700H,若要察看该数据段中偏移地址为6000H位置处的内存单元内容,可以在文本框中输入0700:6000,显示结果如图所示,中间部分依次列出从该地址开始的所有字节的内容。在“emulator”对话框的底部,单击按钮,可以观察栈的内容;单击按钮,可以观察标志寄存器中标志位的内容。在“emulator”对话框中,选择“view”菜单中的“memory”菜单项,也可以观察内存的情况。在“Random Access Memory”对话框中,可以修改文本框中的值可以确定所要观察的地址,该值由段基地址:段内偏移地址构成,如图所示,当前要观察的内存地址为(6000:0010)。在显示结果中,左边是逻辑地址,中间是从该地址的开始连续16个字节的内容,右边是每个字节对应的字符。在该对话框中,也可以直接修改存储器单元的值,如图所示,从60010H开始的连续4个字节的内容已经被修改为12H,34H,56H和78H。1.2 基础实验

      4、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程

      5、序,用以下程序段将一组数据压入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”菜单项可以设置内存单元的值),其

      6、中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

      7、)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 S

      8、I, 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分享,可在线阅读,更多相关《汇编语言程序设计实验篇emu8086》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.