王爽汇编语言答案汇集

王爽汇编语言答案汇集

ID:34539901

大小:877.19 KB

页数:102页

时间:2019-03-07

王爽汇编语言答案汇集_第1页
王爽汇编语言答案汇集_第2页
王爽汇编语言答案汇集_第3页
王爽汇编语言答案汇集_第4页
王爽汇编语言答案汇集_第5页
资源描述:

《王爽汇编语言答案汇集》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验一debug的使用(1)答:仅举第一行:机器码汇编指令b8204emovax,4e20h答:1)进入debug,在写入机器码和汇编指令之前,先用r命令查看cpu中各个寄存器(可能回发生变化的寄存器)的情况如下AX=0000CS=13c3IP=01002)用E命令写入机器码,格式如:E13c3:0100b8204e或用A命令写入汇编指令,格式如:A13c3:0100movax,4e20[注:这里不能用movax,4e20h;debug中默认数据为十六进制]3)用t命令单步运行,之后可以看到变化:AX=4E20IP=0103[注:由此可见我们可以用debug中的t命令单步跟踪程序,

2、通过观察其中各个寄存器的变化而发现程序中可能存在的逻辑错误](2)答:进入debug后,首先把这三行指令按如下格式在debug中输入:a2000:02000:0000movax,12000:0003addax,ax2000:0005jmp2000:0003然后修改其中cs:ip,使之指向我们程序(代码段)的入口2000:0000,这里可以用r命令实现,具体实现如下:rcsCS13c3:2000ripIP0100:0000之后可以通过控制jmp2000:0003的执行次数实现求2的8次方,具体可以让jmp2000:0003执行8次。[实际上,这这里是死循环,只是在debug中可以通过

3、逐条执行的机制控制程序的随时终止;在后面我们可以通过寄存器cx和loop指令对循环进行控制,具体见第五章](3)答:这里直接用d命令进行查看,具体格式:dFFFF:0000之后可以在屏幕右侧看,类似08/06/04之类的时间信息即为生产日期,可以用a命令试图修改,并用d命令查看修改是否成功,实际上是不能修改的,因为ROM是只读存储器,不能直接修改。(4)答:输入书中给出的程序后,可以在屏幕上看到不同色彩的奇怪字符,原因是这样子的:b800:0000开始的一段内存空间是8086pc机显存地址空间,往其中填写不同的数据时,可以对在屏幕上显示不同的内容,具体见175页的实验9“根据材料编

4、程”,里面介绍了一些屏幕操作的知识。debug指令详解一、DEBUG概述DEBUG是在DOS状态下面供程序员使用的程序调试工具。它可以用来检查内存中任何地址中的内容以及修改特定地址中的内容。DEBUG还可以用于逐指令执行某个程序,追踪程序的执行过程,比较一条指令执行前后数值变化情况,读写文件与磁盘扇区。此外,DEBUG还可以用于读写端口中的数值。在DEBUG状态下,所有数据都作为字节序列,可以用DEBUG把任何类型的文件读入内存中。DEBUG能够处理的数据为两种:十六进制数和ASCⅡ码,使用两位数表示十六进制数据(0~9,A~F)。在DEBUG中涉及内存中的数据时,要指定数据所在的

5、内存单元的地址,地址的输入格式是:[段地址]:[位移]。如果没有输入地址,DEBUG将假定为当前内存段,从位于地址100H的字节开始。前100H字节保留给程序段前缀使用(称PSP结构,包含程序执行的各种信息),该区域用于建立DOS与程序之间的联系。在DEBUG中,使用四位十六进制数表示地址(0~9,A~F)。DEBUG输入数据时有两种方法:提示方法和非提示方法。在提示方法下,输入要求输入数据的命令,后跟保存数据的地址。执行后可以看到该地址中已有的内容及一个冒号提示符。此时可以在提示符下输入一个新的值或者按下回车键或CTRL+C回到“—”提示符。在非提示方法下,输入保持数据的内存地址

6、以及要输入的数据。DEBUG的启动:进入DOS状态下,键入DEBUG,按ENTER键,如:C:>DEBUG,则屏幕显示:-符号“-”是进入DEBUG的提示符,在该提示符下可键入任意DEBUG命令。DEBUG的退出:在DEBUG的提示符后输入Q命令,按ENTER键,则退出DEBUG返回DOS。DEBUG的使用:在DEBUG的提示符后输入DEBUG命令,按ENTER键。二、DEBUG命令详解★A命令格式:A[地址]功能:将指令直接汇编成机器码输入到内存中。参数说明:[地址]指定存放键入汇编语言指令的内存单元的位置。★C命令格式:C[源地址范围][目的地址]功能:比较两内存区域中的内容

7、是否相同。若不同则按字节显示其地址和内容,若相同则不显示任何内容。参数说明:[源地址范围]指定要比较的内存第一个区域的起始和结束地址,或起始地址和长度。[目的地址]指定要比较的第二个内存区域的起始地址。★D命令格式:D[地址]或D[起始地址][目的地址]功能:以内存映象方式显示内存中的数据。参数说明:指定要显示内容的内存单元的起始地址和结束地址,或起始地址和长度。如果不指定[地址],Debug将从以前d命令中所指定的地址范围的末尾开始显示128个字节的内容;第一次从D

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。