- 1、本文档共10页,可阅读全部内容。
- 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个内存单元的内容,用十六进制的格式输出,每行的输出从16的整数倍的地址开始,最多输出16个单元的内容。从图中,我们可以知道,内存1000:0的内容是61:内存1000:10~1000:1F中的内容全部在第一
您可能关注的文档
- 嵌入式系统bootloader.ppt
- 川大《管理学原理》第二次作业.doc
- 常用蒙特卡罗程序介绍.ppt
- 实习QuartusII9.0使用讲解.ppt
- 宏业商业系统 操作手册 第2章 商品管理.doc
- 常用str函数详细介绍.doc
- 川大《绩效管理与薪酬设计》第二次作业答案.doc
- 常用试敏药品操作规程表.doc
- 常见c++笔试题整理(含答案).doc
- 常见VFP结构化程序设计.doc
- 人教新目标版英语九年级 中考模拟学情评估(三)(含答案).pdf
- 上海市风华中学2024-2025学年高三上学期9月阶段测试英语试题(无答案).pdf
- 统编版2024-2025学年语文六年级上册期末检测卷(有答案).pdf
- 人教新目标版英语九年级第二学期全册学情评估(含答案).pdf
- 内蒙古自治区巴彦淖尔市杭锦后旗第六中学2024-2025学年八年级上学期阶段性测试历史试题(解析版).pdf
- 湖南省娄底市涟源市部分学校2024-2025学年高一上学期9月月考语文试题 Word版无答案.pdf
- 湖南省衡阳市常宁市2023-2024学年七年级上学期期末考试英语试题.pdf
- 湖南省娄底市涟源市部分学校2024-2025学年高一上学期9月月考语文试题 Word版含解析.pdf
- 江苏省泰州市姜堰区城西实验学校2024-2025学年部编版九年级上学期月考历史试卷(原卷版).pdf
- 内蒙古伊金霍洛旗2022-2023学年七年级上学期期末考试英语试题.pdf
最近下载
- 2024年社会工作者《中级法规与政策》数字型考点.pdf VIP
- 竺乾威、朱春奎、李瑞昌:《公共管理导论》 第三章 组织.pptx VIP
- 建筑工程图集 B16G101-1:中英文双语版16G101-1.pdf VIP
- 图集规范-05N6井盖标准图集.pdf
- 室外消防钢结构楼梯拆除方案.pdf
- (精选施工方案)0141 民航总局办公楼加固整修工程.doc VIP
- 统编版小学语文四年级上册第三单元 观察 大单元整体学历案教案 教学设计附作业设计(基于新课标教学评一致性).docx
- 有关青岛市新建住宅质量保修手册.doc
- 同课异构省一等奖《同底数幂的乘法》教案 (省一等奖) .doc
- 连云港市新海高级中学2023-2024学年高一上学期10月月考数学试题(解析版).docx VIP
文档评论(0)