实验2 指令格式与寻址方式.doc
文本预览下载声明
实验2 指令格式与寻址方式
实验目的:
熟悉汇编语言指令格式,掌握常用数据定义伪指令,理解各种寻址方式的应用。掌握调试工具Windbg.exe的使用。
实验要求:
(1)通过调试程序理解常用数据定义伪指令的作用。
(2)通过调试程序理解各种寻址方式的应用。
(3)熟练掌握调试工具Windbg的使用方法。
实验内容:
(1)上机汇编连接例3-4--例3-9,通过列表文件和windbg察看数据在内存中的分配情况。
(2)上机汇编连接例4-1--例4-9,通过windbg察看机器码,并单步执行,观察每一条指令的执行结果。
实验步骤:
上机汇编连接例3-4
查看列表文件。根据列表文件画出数据段中数据的分配情况,同时标出const1和const2的内存单元。
用Windbg调试例3-4。用memory窗口察看const1开始的29个字节空间的内容,并记录下来。
对比源程序中的数据定义,列表文件的数据分配和在Windbg中记录的数据,理解数据定义伪指令的作用。
按照上题的要求,上机汇编连接例3-5—例3-9。
上机汇编连接例4-1
用Windbg调试例4-1,用Disassembly窗口察看机器码。指出指令的中操作数。
在Windbg下单步执行例4-1,观察eax寄存器的内容变化情况。
按照上题的要求,上机汇编连接例4-2—例4-7。
上机汇编连接例4-8
用Windbg调试例4-8,用Disassembly窗口察看机器码
在Windbg下单步执行例4-8,观察EIP寄存器内容的变化情况
分析指令jmp start的机器码的含义。观察这条指令执行前后EIP寄存器内容的变化。
6、上机汇编连接例4-9
(1)用Windbg调试例4-9,用Disassembly窗口察看机器码
jmp address FF2500404000 jmp dword ptr [_start-10h]
quit: ret quit:C3 retCC int 3
……
(2)在Windbg下单步执行例4-9,观察EIP寄存器内容的变化情况。
jmp address EIP: quit: ret EIP EIP: 76b21114
……
察看内存address的内容,观察它与地址quit的关系。
观察指令jmp address执行前后EIP寄存器内容的变化。
执行前 EIP:; 执行后 EIP 4
显示全部