汇编语言程序设计课程设计 第二次实验 DEBUG基本命令与算术运算指令
本次实验目的 熟练掌握DEBUG的基本调试命令,能够使用DEBUG编写、调试汇编语言程序片段。 在理解算术运算指令的基础上按照实验内容中指定的程序片段对程序进行调试和记录;
实验报告的主要内容 1)在实验报告中说明所学DEBUG基本命令的使用方法。 2)分析指定的源程序,执行到指定位置后(在源程序中有标注),寄存器、标志位的取值,解释指令的执行原理,并在实验报告中对必要的寄存器、标志位状态加以记载。 3)分析程序片段的功能,必在实验报告中加以说明。
本次实验指定的源代码 MOV WORD PTR [0100H], 5564H MOV WORD PTR [0102H], 0C279H MOV AX, [0100H] PUSH AX ADD AL, [0102H];说明标志位是如何确定的 ADC AH, [0103H];说明指令执行原理,包括标志位 MOV [0104H], AX POP AX SUB AL, [0102H] ;说明标志位是如何确定的 SBB AH, [0103H];说明指令执行原理,包括标志位 MOV [0106H], AX ;说明程序执行完毕后,字单元[0104H],[0106H]中的内容。
注意事项 在调试上述程序片段时,应使用r命令先修改DS、SS段寄存器,使之与CS指向不同位置。 建议将DS提供的原始段基值加0100H,将SS提供的原始段基值加0200H。 避免数据段、堆栈段内的操作覆盖代码段中已录入的指令,影响重复调试。
DEBUG:1. 断点调试命令G 功能:从当前CS、IP指示的位置开始连续执行程序,执行到指定断点处(不包括断点地址指示的指令)暂停执行,在屏幕上显示CPU现场。 使用方法: -g 连续执行,无断点 -g XXXX:XXXX 连续执行到断点位置 注:断点位置必须指定为某条指令的首字节地址 (演示)
DEBUG:2. 内存单元查看命令D 功能:查看指定地址开始的内存区域中各内存单元的内容。 使用方法: -D XXXX:XXXX 从指定内存地址开始显示 (演示)
DEBUG:2. 内存单元修改命令E 功能:修改指定地址内存单元的内容。 使用方法: -E XXXX:XXXX (演示)