- 1、本文档共102页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 机器语言程序地建立与执行
第2章 机器语言程序的建立与执行 2.1 机器语言程序 2.2 实际地址值的确定 2.3 DEBUG的特殊性质及应用 2.4 机器语言程序的建立与调试 2.1 机器语言程序 本节介绍两个程序范例,第一个程序范例是将指令所定义的“立即型”数据传送入寄存器内,然后进行算术运算,第二个程序范例是使用单独定义的方法将数据定义在数据段中。经过追踪这些指令的执行,你可以深入了解微型计算机的动作状态以及各寄存器所扮演的角色。 2.1.1 启动DOS DEBUG程序是在DOS环境下工作的软件。若计算机同时装有两个操作系统(Windows系统和DOS系统),当系统在Windows环境下工作时,用鼠标左键单击“开始”按钮,在弹出的主菜单中单击“关闭系统”项,弹出“关闭Windows”菜单,选择其中的“重新启动计算机并切换到MS-DOS”项并回答“是”,即可启动DOS。 若计算机仅装有Windows操作系统,开机时,首先将DOS系统磁盘插入A驱动器,若此时电源关闭,则将电源接通;若电源已经启动,可同时按下Ctrl、Alt与Del键,以热启动方式启动计算机,即可用A盘启动DOS。 2.1.2 检查存储器内容的方法 第一个练习是,使用DOS DEBUG程序检查存储器被选择地址单元的内容。键入DEBUG然后回车,即可启动DEBUG程序。此时系统会将DEBUG程序从磁盘装入到内存储器,并且执行。之后,屏幕会出现DEBUG的提示符(-)。此提示符表示DEBUG等待接受用户的命令(DEBUG 命令)。此练习只用到D命令,它的功能是显示存储器单元的内容。 1. 存储器的容量 机器的存储器容量值存放在物理地址是十六进制00413与00414的存储单元中。在DEBUG环境下,你可以观察此地址处的内容,它是以段的起始地址与偏移地址配合的方法来查看的。例如: (1) 十六进制00400是段起始位置的地址,而你只能键入0040,因为最后一位数字已假设为0。 (2) ?13是相对于段起始位置的偏移地址(差距值)。因此,只要键入下列字符串就可看到本机存储器的容量: D 0040:13 [并按下Enter键] 在屏幕上所表示的前两个字节就是存储器的容量,此十六进制数值是以字节反向的顺序出现的,且其单位为K字节即KB。表2-1列举了一些可能出现的反向十六进制数(Reversed Hex)、正确十六进制数,以及其等价的十进制数。 2. 序列号 微型计算机的序列号是存放于ROM存储器中的,其实际位置的地址为FE000。你只要键入下列字符串就可以看到它的内容: D FE00:0 [并按下Enter键] 此时,屏幕上会显示出一个7位数的数字,其后面跟着版权和日期(Copyright Date)。 3. ROM BIOS日期 ROM BIOS日期是存放于位置FFFF5中的,它的表示格式为mm/dd/yy。键入: D FFFF:05 [并按下Enter键] 就可看到ROM BIOS的日期,据此你可以判断出微型计算机的机型及其机龄。 注意:上述三个例子均是早期PC机的存储器容量、序列号以及ROM BIOS日期在内存中的映像。它们可能与你所使用的现代机型不符合,但它不会影响你对D命令的使用和对内存单元内容的观察。 到目前为止,你已知道如何使用显示存储器内容的DEBUG命令,并可以正确地设定内存的任何单元的位置(地址),以观察它的内容。你也可以重复地键入D命令,可以不带参数,而逐步地观察存储单元的内容。 当你想要退出DEBUG回到DOS的控制下时,只要键入Q然后回车就可以了。接下来,我们利用DEBUG来直接输入程序到内存储器中,并追踪它的执行过程。 2.1.3 机器语言范例1——立即型数据运算 本范例的目的是说明如何将一个机器语言程序输入到内存储器中,以及对其执行的过程。下列机器语言程序操作是以十六进制格式进行的。 ? 机器指令码 注释 B82301 ;把0123传送入AX寄存器 052500
文档评论(0)