赞
踩
一、实验目的 | ||||
1.熟悉汇编语言调试工具Debug的使用方法 2.熟悉debug下的十一个单字符指令 | ||||
二、实验环境 | ||||
DOS BOX 0.74 | ||||
三、实验内容 | ||||
1.在DEGUG下编写汇编指令片段实现X+Y-Z,调试并查看执行结果,X=0002H,Y=0005H,Z=0005H。 2. 学会DEBUG下的11个单字符命令的执行,并掌握其简单用法。 | ||||
四、实验步骤与过程分析(描述) | ||||
1.在DEGUG下编写汇编指令片段实现X+Y-Z,调试并查看执行结果,X=0002H,Y=0005H,Z=0005H。 方法一:用三次R和两条指令 分析: 用r分别去改ax,bx,cx的值,-a写入加指令和减指令,-t运行,可以看到ax,bx,cx的内容以及运行完后的ax的结果,-u可以看到敲入的命令,即可用两条指令求出0002+0005-0005的值。 截图: 方法二:三条mov和两条指令 分析: -r查看各寄存器的状况,-a写入三条mov指令,两条运算指令,然后将0002写入寄存器ax,将0005写入寄存器bx,将0005写入寄存器cx,将ax的值与bx的值相加,ax与cx里的值相减,之后-t运行,可以看到ax,bx,cx的内容以及运行完后的ax的结果。 截图:
方法三:使用三条指令完成 分析: 使用a指令用于将输入的汇编指令汇编成为机器代码保存于主存,输入ax=0002H,bx=0005H,add两者相加,再用sub减去0005H,之后使用t指令查看结果,每条指令执行后都要显示所有寄存器和标志位的值以及下一条指令。 截图:
方法四:利用r用四条指令 分析: 将0002H和0005H放入ax和bx寄存器内进行运算。将两条mov指令写入寄存器内,再用add和sub指令将运算结果显示到ax中。 截图:
方法五:利用M内存来存放数据 分析: 利用内存存放数据,-r查看各寄存器的状况,-e修改内存中的内容,-d查看修改后的内存具体内容,可以看到数据已被写入内存,-a写入四条mov指令,两条运算指令,用-t运行,可以看到ax,bx,cx的内容以及运行完后的ax的结果。 截图:
2.十一条指令的分析与执行 ①D命令 d命令显示主存单元的内容,显示当前或指定开始地址的主存内容;显示指定范围的主存内容 ②E命令 E命令用于修改主存内容,修改指定地址的内容;用数据表的数据修改指定地址的内容。此处我将073F:0100 改为0150 ③F命令 用于对一个主存区域填写内容,同时改写原来的内容,该命令用数据表的数据写入指定范围的主存。如果数据个数超过指定的范围,则忽略多出的项;如果数据个数小于指定的范围,则重复使用这些数据,直到填满指定范围。 ④R命令 用于显示和修改处理器的寄存器,显示所有寄存器内容和标志位状态。 ⑤A命令 用于将输入的汇编指令汇编成为机器代码保存于主存。从指定地址开始汇编指令 A命令中如果没有指定地址,则接着上一个A命令的最后一个单元开始;若还没有使用过A命令,则从当前CS:IP开始。 ⑥U命令 将主存内容按照机器代码形成汇编指令显示 U命令中如果没有指定地址,则接着上一个U命令的最后一个单元开始;若还没有使用过U命令,则从当前CS : IP开始。 ⑦G命令 从指定地址处开始运行程序,直到遇到断点或者程序正常结束。操作不当会出现死机情况。 ⑧T命令 跟踪命令T,也称为单步命令,每执行一条指令就显示运行结果,使程序员可以细致地观察程序的执行情况。 ⑨P命令 类似T命令,逐条执行指令、显示结果。但是当遇到子程序调用、中断功能调用和循环指令等时,不在子程序、中断服务程序或循环体中单步执行,而是直接执行完成子程序、中断服务程序或循环体,然后显示结果。 ⑩L命令 装入由N命令指定的文件d:/ ⑪W命令 写盘命令W主存内容写入磁盘的文件或扇区中,与L命令相反 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。