您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 建筑材料 > 微机原理实验一调试程序的使用
物理与机电工程系(2015——2016学年第一学期)《调试程序的使用》上机实验报告专业:电子信息科学与技术学号:1524812252姓名:刷卡机任课教师:风机房实验地点:理工实验楼9007项目编号:实验一一、实验目的:1.学习使用DEBUG程序的常用命令。2.利用DEBUG学习8086/8088CPU指令系统。3.了解计算机取指令执行指令的工作过程。4.掌握用DEBUG调试程序。5.学习使用EMU8086软件的使用。二、实验内容:1、上机前要做好充分准备,包括程序框图、源程序清单、调试步骤、测试方法、对运行结果的分析等。2、上机时要遵守实验室的规章制度,爱护实验设备。要熟悉与试验有关的系统软件(如编辑程序、汇编程序、连接程序和调试程序)的使用方法。在程序的调试过程中,有意识的学习及掌握程序的各种操作命令以便掌握程序的调试方法及技巧。三、实验过程:1.学习常用debug命令的使用方法,重点掌握R,D,E,F,A,U,G,T,Q命令的使用。debug下常用的命令:(1)R命令:查看、修改CPU寄存器的内容;(2)D命令:显示存储单元中的内容;(3)E命令:修改存储单元内容;(4)F命令:填充内存命令;(5)A命令:汇编命令。(6)U命令:反汇编命令。(7)G命令:运行命令。(8)T命令:跟踪和显示命令。(9)Q命令:结束命令。2.在debug下完成以下任务。记录各程序段的机器代码。(可以用emu8086)①将MASM文件夹拷贝至D盘下,②进入dos环境③输入d:回车④cdmasm进入到masm文件夹⑤输入debug⑥分别执行A、R、D、U、G回车命令执行结果如下:执行R命令,即查看、修改CPU寄存器的内容,此时执行结果为:AX=0000DS=1420BX=0000SS=1420CX=0000CS=1420DX=0000ES=1420执行D命令,即显示存储单元中的内容命令,此时执行结果为:1420:01000000000000000000-0000000000000000................1420:01100000000000000000-0000000034000F14................1420:01200000000000000000-0000000000000000................1420:01300000000000000000-0000000000000000................1420:01400000000000000000-0000000000000000................1420:01500000000000000000-0000000000000000................1420:01600000000000000000-0000000000000000................1420:01700000000000000000-0000000000000000................执行A命令,即汇编命令,此时输入汇编命令为:1420:0100moval,111420:0102movbl,221420:0104addal,bl1420:0106subal,bl1420:0108执行U命令,即反汇编命令,此时执行结果为:1420:0100B011MOVAL,111420:0112B322MOVBL,221420:012400D8ADDAL,BL1420:013628D8SUBAL,BL1420:01480000ADD[BX+SI],AL1420:015A0000ADD[BX+SI],AL1420:016C0000ADD[BX+SI],AL1420:017E0000ADD[BX+SI],AL1420:01100000ADD[BX+SI],AL1420:01120000ADD[BX+SI],AL1420:01140000ADD[BX+SI],AL1420:01160000ADD[BX+SI],AL1420:01180000ADD[BX+SI],AL1420:011A0000ADD[BX+SI],AL1420:011C3400XORAL,001420:011E0FDB0F1420:011F1400ADCAL,00即上面所输入的指令执行对应的机器代码为B011MOVAL,11B322MOVBL,2200D8ADDAL,BL28D8SUBAL,BL输入g=100106即执行运行命令g从偏移地址100到106,执行结果为:AX=0033BX=0022CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=1420ES=1420SS=1420CS=1420IP=0106NVUPEIPLNZNAPENC1420:010628D8SUBAL,BLDS:2000=0201(1)用七种(除隐含寻址外)不同的寻址方式实现数据的传送。记录执行结果,同预期结果比较。①立即寻址:MOVAX,3102②直接寻址:MOVAX,[3102]③寄存器寻址:MOVSI,AX④寄存器间接寻址:MOVAX,[SI]⑤寄存器相对寻址:MOVAX,8[BX]⑥基址—变址寻址:MOVAX,[BX][SI]⑦基址—变址—相对寻址:MOVAX,5[DI][BX]执行A指令,输入以上七种不同的寻址方式指令,1420:0110MOVAX,31021420:0113MOVAX,[3102]1420:0116MOVSI,AX1420:0118MOVAX,[SI]1420:011AMOVAX,8[BX]1420:011DMOVAX,[BX][SI]1420:011FMOVAX,5[DI][BX]1420:0122执行七次-T指令,则分别显示出七条指令各自执行后的结果和寄存器内的存储变化码以及其机器执行结果如下:-TAX=EE9ABX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=1420ES=1420SS=1420CS=1420IP=0129NVUPEINGNZACPENC1420:01290000ADD[BX+SI],ALDS:0000=D1这是第一条指令执行后的结果和各寄存器内的存储变化码以及其机器显示,此时的标志位为NVUPEINGNZACPENC即溢出标志OF=0不溢出方向标志DF=0增)中断标志IF=1开中断符号标志SF=1为负零标志ZF=0为非零辅助进位AF=1辅助有进位奇偶标志PF=1为偶进位标志CF=0无进位CS=1420IP=0129机器吗为0000下一条指令为ADD[BX+SI],AL-TAX=EE9ABX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=1420ES=1420SS=1420CS=1420IP=012BOVUPEIPLNZACPECY1420:012B0000ADD[BX+SI],ALDS:0000=6B这是第二条指令执行后的结果和各寄存器内的存储变化码以及其机器显示,此时的标志位为NVUPEIPLNZACPECY即溢出标志OF=0不溢出方向标志DF=0增)中断标志IF=1开中断符号标志SF=0为正零标志ZF=0为非零辅助进位AF=1辅助有进位奇偶标志PF=1为偶进位标志CF=1有进位CS=1420IP=012B机器吗为0000下一条指令为ADD[BX+SI],AL-TAX=EE9ABX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=1420ES=1420SS=1420CS=1420IP=012DNVUPEIPLNZACPECY1420:012D0000ADD[BX+SI],ALDS:0000=05这是第三条指令执行后的结果和各寄存器内的存储变化码以及其机器显示,此时的标志位为OVUPEINGNZNAPENC即溢出标志OF=1有溢出方向标志DF=0增)中断标志IF=1开中断符号标志SF=1为负零标志ZF=0为非零辅助进位AF=0辅助无进位奇偶标志PF=1为偶进位标志CF=0无进位CS=1420IP=012D机器吗为0000下一条指令为ADD[BX+SI],AL-TAX=EE9ABX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=1420ES=1420SS=1420CS=1420IP=012FNVUPEINGNAACPENC1420:012F0000ADD[BX+SI],ALDS:0000=9F这是第四条指令执行后的结果和各寄存器内的存储变化码以及其机器显示,此时的标志位为NVUPEINANZACPENC即溢出标志OF=0不溢出方向标志DF=0增)中断标志IF=1开中断符号标志SF=0为正零标志ZF=0为非零辅助进位AF=1辅助有进位奇偶标志PF=1为偶进位标志CF=0无进位CS=1420IP=012F机器吗为0000下一条指令为ADD[BX+SI],AL-TAX=EE9ABX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=1420ES=1420SS=1420CS=1420IP=0131OVUPEIPLNZACPECY1420:01310000ADD[BX+SI],ALDS:0000=39这是第五条指令执行后的结果和各寄存器内的存储变化码以及其机器显示,此时的标志位为NVUPEIPLNZACPECY即溢出标志OF=1有溢出方向标志DF=0增)中断标志IF=1开中断符号标志SF=0为正零标志ZF=0为非零辅助进位AF=1辅助有进位奇偶标志PF=1为偶进位标志CF=1有进位CS=1420IP=0131机器吗为0000下一条指令为ADD[BX+SI],AL-TAX=EE9ABX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=1420ES=1420SS=1420CS=1420IP=0133NVUPEINGNZACPONC1420:01330000ADD[BX+SI],ALDS:0000=D3这是第六条指令执行后的结果和各寄存器内的存储变化码以及其机器显示,此时的标志位为NVUPEINGNZACPONC即溢出标志OF=0不溢出方向标志DF=0增)中断标志IF=1开中断符号标志SF=1为负零标志ZF=0为非零辅助进位AF=1辅助有进位奇偶标志PF=0为奇进位标志CF=0无进位CS=1420IP=0133机器吗为0000下一条指令为ADD[BX+SI],AL-TAX=EE9ABX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=1420ES=1420SS=1420CS=1420IP=0135OVUPEIPLNZNAPOCY1420:01350000ADD[BX+SI],ALDS:0000=6D这是第七条指令执行后的结果和各寄存器内的存储变化码以及其机器显示,此时的标志位为OVUPEINGPLNAPOCY即溢出标志OF=1有溢出方向标志DF=0增)中断标志IF=1开中断符号标志SF=0为正零标志ZF=0为非零辅助进位AF=0辅助无进位奇偶标志PF=0为奇进位标志CF=1有进位CS=1420IP=0135机器吗为0000下一条指令为ADD[BX+SI],AL(2)在debug中输入各条基本指令并执行,记录结果以及各个状态标志的值。MOVAL,11HMOVBL,22HADDAL,BLSUBAL,BL输入A命令,然后输入上述四条指令代码用T命令分步执行,结果如下:即:-TAX=EE9ABX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=1420ES=1420SS=1420CS=1420IP=0137NVUPEIPLNZACPOCY1420:01370000ADD[BX+SI],ALDS:0000=07这是第一条指令
本文标题:微机原理实验一调试程序的使用
链接地址:https://www.777doc.com/doc-6414975 .html