- 1、本文档共47页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编程序设计基础
汇编程序设计基础
标 题: “没有风”的汇编实验报告专题(更新至10)作 者: 没有风时 间: 2007-10-23,09:15链 接: /showthread.php?t=53710///////////////////////////////////////////////////////////////////////////////////////////北极星2003?注:?把多个实验报告合为一个专题实验1:1楼实验2:10/11楼实验3:无实验4:18楼实验5:23/24楼实验6:29楼实验7:34楼实验8:40楼实验9:42楼///////////////////////////////////////////////////////////////////////////////////////////实验1??查看CPU和内存,用机器指令和汇编指令编程1.预备知识:DEBUG的使用???在以后所有的实验中,都将用到DEBUG程序,首先学习一下它的用法。(1)什么是DEBUG????DEBUG是DOS、WINDOWS都提供的实模式(8086方式)程序的调试工具。使用它,可以查看CPU各种寄存器中的内容,内存的情况和在机器码跟踪程序的运行。(2)我们用到的DEBUG功能??用DEBUG的R命令查看、改变CPU寄存器的内容:??用DEBUG的D命令查看内存中的内容:??用DEBUG的E命令改写内存中的内容:??用DEBUG的U命令将内存中的机器指令翻译成汇编指令:??用DEBUG的T命令执行一条机器指令:??用DEBUG的A命令以汇编指令的格式在内存中写入一条机器指令:DEBUG命令比较多,共有20多个,但上述6个命令是和汇编语言学习密切相关的。在以后的实验中,我们还会用到一个P命令。(3)进入DEBUG??DEBUG是在DOS方式下使用的程序。我们在进入DEBUG前,应先进入到DOS方式。用以下方式可以进入DOS:??①重启计算机后,进入DOS方式,此时我们进入的是实模式的DOS。??②在WINDOWS中进入DOS方式,此时进入的是虚拟8086模式的DOS。(4)用R命令查看、改变CPU寄存器的内容??我们已知道了AX、BX、CX、DX、SS、IP这6个寄存器,现在看一下它们之中的内容,如图2.1所示。其他寄存器SP、BP、SI、DI、DS、ES、SS、FLAGS(标志寄存器)??等先不予理会。图2.31 使用R命令查看CPU中各个寄存器中的内容注意CS和IP的值,CS=0CA2,IP=0100,也就是说,0CA2=0100处的指令为CPU当前要读取、执行的指令。在所有的寄存器的下方,DEBUG还列出了CS:IP所指向的内存单元处的所存放的机器码,并将它翻译为汇编指令。可以看到,CS:IP所指向的内存单元为0CA2:0100此处存放的机器码为027548,对应的汇编指令为ADD DH,[DI+48](这条指令的含义我们还不知道,先不必探究)。DEBUG输出的右下角还有一个信息:“DS:0048=0”,以后会进行说明,这里同样不必深究。还可以用R命令来改变寄存器中的内容,如图2.32所示。图2.32??用R命令修改寄存器AX中的内容若要修改一个寄存器中的值,比如AX中的值,可以用R命令后加寄存器名来进行,输入“R AX”后按ENTER键,将出现“:”作为输出提示,在后面输入要写入的数据后按ENTER键,即完成了对AX中内容的修改。若想查看一下修改的结果,可再用R命令查看,如图2.33所示。图2.33 用R命令修改CS和IP中的内容在图2.33中,一进入DEBUG,用R命令查看,CS:IP指向0B39:0100,此处存放的机器码为40,对应的汇编指令是INC?AX.接着,用R命令将CS修改为FF00,则CS:IP指向FF00:0200,此处存储的机器码为51,对应的汇编指令是PUSH CX。(5)用DEBUG的R命令查看内存中的内容??用DEBUG的D命令,可以查看内存中的内容,D命令的格式较多。我们这里只介绍在以本次实验中用到的格式。??如果想知道内存10000H处的内容,可以用“D 段地址:偏移地址”的格式来查看,如图2.34所示。??????图2.34??用D命令查看内存1000:0处的内容??使用“D 段地址:偏移地址”的格式,DEBUG将列出从指定的内存单元开始的128个内存单元的内容,图2.34中,在使用D 1000:0后,DEBUG列出了1000:0~1000:7F中的内容。??使用D命令,DEBUG将输出3部分内容,如图2.34所示。??中间是部分从指定地址开始的128个内存单元的内
您可能关注的文档
最近下载
- 2025徽商银行合肥分行社会招聘笔试参考题库附答案解析.docx VIP
- 人教部编版三年级下册语文期末测试题(含答案).docx VIP
- 金属增材制造安全规程 .pdf VIP
- 2069-3-3101-002 WKB产品判定准则-外发.docx VIP
- 建筑节能工程专项施工方案.doc VIP
- 《生物质燃料气化燃烧清洁供暖技术规范》(TCRES 0025-2025).pdf VIP
- 2025全国小学生“学宪法、讲宪法”活动知识竞赛题库及答案.docx VIP
- 武汉沿途讲解.pdf VIP
- 2014款一汽大众宝来_汽车使用手册用户操作图解驾驶车主车辆说明书电子版.pdf
- 面向制造企业的增材制造应用.pdf VIP
文档评论(0)