欢迎来到天天文库
浏览记录
ID:1245633
大小:239.50 KB
页数:9页
时间:2017-11-09
《实验一利用debug_命令调试小汇编程序》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、实验一:利用Debug命令调试小汇编程序一。实验目的:1。学习使用debug程序调试小汇编程序2。熟悉各种Debug命令的使用。二。实验器材:PC机,DEBUG程序DOS系统三。实验原理(DEBUG程序的使用命令)(一)DEBUG程序的调用与命令格式1.调用在DOS提示符下,键入命令:C>DEBUG[d:][path][filename[.exe]]例:E:MASM>DEBUG或E:MASM>DEBUGAA.EXEDEBUG下的提示符”-”2.命令格式:命令[参数]•命令DEBUG的所有命令动词均由一个字母(大小写均可)构成!DEBUG下的所有数字均为十六进制数!•参数地址表示方法:
2、段地址:偏移量[addresss]段寄存器:偏移量如:1419:000或:DS:0000地址范围表示方法:段地址:始偏移量末偏移量[rang]或:段地址:起始偏移量L长度(字节数)如:1419:1001FF或:1419:100L100(二).DEBUG的主要命令1.显示存储单元命令D(Dump)D[address]或[rang]例如:-D1417:00或:-DDS:001F-DDS:00L202.修改存储单元命令E(Erase)或F(Fill)•Eaddress[list]LIST可以是字节串或字符串(单引号括起)例如:-E13F7:004142‘xyz’43或-EDS:004142
3、‘xyz’43也可以用逐个单元相继修改的方法:-Eaddress如:-E13F7不需要修改单元内容直接在“.”后面直接按空格键表示本单元修改结束;进入下一个内存单元不需要修改单元内容直接在“.”后面输入新的值后,按空格键表示本单元修改结束;进入下一个内存单元按回车键表示整个命令结束•填充命令-Franglist如:-f13f7:001F41‘BCD’88-f13f7:001f003.检查和修改寄存器内容命令R(Register)有三种格式•显示所有寄存器内容-RNVUPDIPLNZNAPONCOVDNEINGZRACPECYOF溢出(是/否)DF方向(减量/增量)IF中断(允许/关闭
4、)SF符号(负/正)ZF零(是/否)AF辅助进位(是/否)PF奇偶(偶/奇)CF进位(是否)标志为2标志为1标志名•显示和修改某个寄存器内容-Rregistername如:-RAX-RBX不需要修改寄存器内容直接在“:”后面按回车结束;需要修改标志在“:”后面输入新的内容,按回车结束;•显示和修改标志位状态-RF不需要修改标志直接在“-”后面按回车结束;需要修改标志在“-”后面输入新的标志,按回车结束4.汇编命令A(Assemble)-A[address]如:-A100在当前地址后面直接输入小汇编指令(标准汇编指令,不能输入宏汇编指令)5.反汇编命令U(Unassemble),有两种
5、格式•从指定地址开始,反汇编32字节-U[address]如:-U1006.运行命令G(Go)-G[=address1][address2[address3…]}从指定地址1开始运行,后面为断点地址。如不指定则从当前CS:IP开始运行。如:-G=10010A7.跟踪命令T(Trace),有两种格式-T[=address][n]从指定地址起执行n条指令后停下来。如n没指定,则执行一条指令。如没指定起始地址,则从当前CS:IP开始执行。如:-T=100-T=10028.退出DEBUG命令Q(Quit)-Q四.实验操作1.显示内存2000:0000到000F单元内容2.修改内存2000:0
6、005单元内容为67H3.将内存2000:0000用47H,‘xy’,52H填充4.显示并修改FLAG寄存器内容,使得CF=0,SF=1,OF=15.在内存3000:0000处汇编4条MOV指令,并用反汇编显示它的机器码movAX,1234MOV[0100],AXMovBX,5678HADDBX,[0100]1.用G命令执行上面的4条指令2.用T命令跟踪上面第1,2,3条指令的执行结果,查看AX,BX五.思考你认为debug程序能给你汇编程序设计时带来什么有益的帮助?。
此文档下载收益归作者所有