文档介绍:中南大学课题名称:微机原理与接口技术课程实验报告学院:信息科学与工程学院班级:通信工程学号:姓名:指导老师:梁建武DEBUG实验实验内容与要求DEBUG各命令熟悉,调试,运行。实验步骤debug是DOS下使用的程序,我们在进入debug前,应先进入DOS方式。在windows中进入DOS方式,此时进入的是虚拟8086模式的DOS。首先,打开命令提示符,或在运行界面下输入cmd,打开命令窗口。键入debug,如下图所示:(1)进入DEBUG调试界面后,键入A,执行汇编命令:(2)输入命令:MOVAX,1000 ;要实现将AX中内容与BX中内容进行交换MOVBX,2000PUSHAXPUSHBXPOPAXPOPBX输入命令后,回车,敲入T(单步运行):每输入一次T后,都会向后单步运行(T=偏移地址,表示从此开始单步):键入‘U偏移地址’,执行反汇编命令,显示原先指令输入‘U0100’,表示从偏移地址0100处开始执行反汇编命令:(4)R,是寄存器命令,显示寄存器的所有内容;键入‘R寄存器’可修改寄存器的内容,如键入‘RAX’,可修改AX内的内容:用R指令,还可以得到右下角的信息:NVUPEIPLNZNAPONC这些符号代表的就是标志寄存器里常用标志位的值。符号值对应表:溢出标志OF(Overflowflag) OV(1)NV(0)方向标志DF(Directionflag) DN(1)UP(0)中断标志IF(Interruptflag) EI(1)DI(0)符号标志SF(Signflag) NG(1)PL(0)零标志ZF(Zeroflag) ZR(1)NZ(0)辅助标志AF(Auxiliarycarryflag)AC(1) NA(0)奇偶标志PF(Parityflag) PE(1)PO(0)进位标志CF(Carryflag) CY(1)NC(0)(5)D,显示内存命令;(6)键入‘D偏移地址’,表示从该地址开始显示内存:(7)E,表示修改内存。键入‘E偏移地址’表示修改该偏移地址对应的内存:XCHG命令,实现字节、字交换,寄存器之间交换,寄存器与存储器之间交换;输入代码:MOVAX,1234HXCHGBX,AX ;将BX与AX内的内容交换(9)ADD加法指令,不带进位MOVAL,10HADDAL,20H ;AL←AL+20HMOVBX,D75FHADDBX,8046H ;此时标志位也发生了变化结果:CF=1ZF=0PF=0AF=1OF=1SF=0.(10)加1指令INCINCAL ;AL←AL+1(11)不考虑借位的减法指令SUBSUBAH,0F0H ;AH←AH-0F0H(12)考虑借位的减法指令SBBMOVAX,5678HMOVDX,1234HSUBAX,6789H ;CF=1SBBDX,1122H ;DX=0111H(13)X ;CX←CX-1比较指令CMP,相减后的差值不送回目的操作数,只反应在标志位上;CMPAL,0AH ;AL的值原为EEEFH,执行语句后,辅助标志位AF=0, 奇偶标志位PF=0CMPAL,FFH ;执行语句后,辅助标志位AF=0,进位标志CF=1(15)逻辑与指令ANDANDAL,(要转换成十六进制)键入‘ANDAL,93’,实现将AL中的第0、1、4、7位保留,其他位清零。(16)逻辑或指令OR键入‘ORBL,0F0H’,将BL的高4位置1,其他位不变(17)逻辑异或指令XOR键入‘XORAL,0FFH’,将AL的8位全部取反,其他不变实验出现问题与解决实验过程中,要注意的是,在DEBUG中,默认是十六进制,所以数字后面不需要再加上‘H’,abcd前也不用再加0,否则会出错。程序不可以往回翻看,要记得保留数据。程序运行过程中出错以后,开始时,出现了与预期不一样的结果,后来了解到,程序是在error后开始运行的。DEBUG实验心得与体会第一次接触的时候会有些陌生,但是通过实验,对于DEBUG调试有了初步的了解,也进行了一些初步的运用调试。看到实验结果的第一反应就是觉得很复杂,但是仔细地去想去理解每个结果,其实都是有理可循的,甚至到后面,我可以通过自己的判断来预测出现的结果,然后进行实际的操作,将实际得到的结果与我之前预测的结果进行比较,及时找到自己的漏洞,得到更好的理解。汇编实验实验要求汇编语言设计(自选3个程序设计,学会调试,尤其要单步调试)实验内容与步骤(1)、通过查表,实现一位0~9十进制数转换为对应格雷码显示。代码如下:;DATASEGMENT;数据段内容,在数据段写下面两行即可TABDB18H,34H,05H,06H,09H,0AH,0CH,11H,12H,14H ;定义一个表NUMDB05H,08H;定义两个数;DATAENDS;代码段;MOVAX,DATA;MOVDS,AX;代码段添加内