汇编语言及运行环境.pptxVIP

  1. 1、本文档共65页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编语言及运行环境

汇编语言编写及运行环境必须有:;第四行和第三行显示了版本号及版权信息,方括号是可选项,例:某个DOS系统输入MASM显示如下:(Source filename[.ASM]:EXAM1↙)要求回答源程序文件名,其中扩展名.ASM是可缺省项,也即,当文件是.ASM时,可以不用输入扩展名,只输入主文件名。(Object filename[EXAM.OBJ]:↙)要求回答汇编后生成的目标文件名。(Source listing[NUL.LST]:EXAM1↙)要求回答是否生成列表文件及列表文件名,NUL代表缺省时不生成列表文件,需要生成列表文件时,只输入它的主文件名即可。(Cross-reference[NUL.CRF]:↙)要求回答是否生成交叉索引文件及其文件名。回答完上述四个问题,开始对源程序进行汇编,汇编时,首先检查源程序中是否有语法错误,若没有,则进行汇编,列表文件和交叉文件的主要作用是方便程序的调试,可以根据实际需要选择生成。;2.文本编辑器;列表文件中同时列出了源程序和机器语言清单,给出了行号及符号表,在符号表中给出了段名、段的大小、段的属性、用户自定义符号名字、类型和属性。交叉文件是一张索引表,可以对符号进行前后对照,表中给出了用户定义的所有符号的名字、每个符号定义时所在的行号及引用时的行号。 因为目标文件中的地址是浮动的,必须用LINK连接程序对其进行定位,才能生成可执行文件。如果是多模块程序,在分别汇编后,也需要通过LINK把它们的目标文件连接起来。 ;可以在DOS环境下,直接键入LINK或键入LINK filename或将目标文件拖入LINK图标上,例:某版本的DOS连接后显示如下: (Object Modules[.OBJ]:EXAM1↙)要求回答连接的目标文件名,(Run File [EXAM1.EXE]:↙)要求回答连接后生成的可执行文件名,(List File [NUL.MAP]:1↙)要求回答是否生成连接映像文件及连接映像文件名,当不生成连接映像文件,直接按回车键;生成连接映像文件时,输入它的主文件名,(Libraries [NUL.LIB]:↙)要求回答是否连接库文件,需要时,输入库文件的主文件名。 运行和调试可执行文件常用的工具是DEBUG动态调试软件,它是由MS-DOS提供的,可用来调试或修改汇编语言的目标程序,通过逐段执行程序,观察CPU寄存器或内存中的值是否达到了预期的效果,从而发现程序语句???排上的错误及算法错误。;在DOS状态下,键入DEBUG filename或将要调试的可执行文件拖入到DEBUG程序图标上。 所有DEBUG命令都用一个字母表示,后面可以没有参数,也可以跟一个或多个参数。 命令和参数可采用大写、小写、大小写混合的方式输入。 命令和参数之间可用空格或逗号分隔,也可以不分隔,但相邻的2个十六进制数之间必须要用空格或逗号分隔。 命令中所用地址的表示形式为: [段地址:]偏移量 ,其中段地址可以是段寄存器名或十六进制数,也可默认。 ;地址范围的表示形式为: [段地址:]首偏移量 末偏移量 或 [段地址:]首偏移量 L长度 DEBUG状态下的所有数字都默认为十六进制数 每一个命令均是按回车键后才开始执行 在执行命令过程中,可按Pause键暂停执行,随后按任意键继续执行 可用Ctrl+Break键中止一个命令的执行,并返回DEBUG提示符状态 ;A,其格式为A[地址],该命令将输入的汇编语句直接汇编,并把汇编后的机器代码存放在指定地址开始的连续内存单元中,如果输入的汇编语句有语法错误,则在出错处显示error,并重新显示当前行的汇编地址,等待输入正确的语句。命令中的地址是汇编后的机器代码存储的起始地址,段地址省略时,隐含的是CS,段地址、偏移地址都省略时,隐含的是CS:IP,进入该命令后,DEBUG用地址提示用户输入汇编语句,每输入一句,就提示下一个地址,按回车键可从该命令退出,输入汇编语句不允许包含伪指令和标号。;2.反汇编命令U,其格式为: U[地址]或U[地址范围] 该命令从指定地址开始,对16个字节或指定地址范围内的机器代码进行反汇编。当第一次执行U命令时,若段地址省略时,隐含的是CS ,若段地址、偏移地址都省略时,隐含的是CS:IP,如果是连续执行U命令时省略地址,则从第二次开始,每一次都是从上一次U命令结束地址开始进行反汇编。给出的地址必须是每条指令机器代码的起始地址。;3.显示内存单元内容命令D,其格式为: D[地址]或D[地址范围] 该命令从指定地址开始,对128个字节或指定地址范围内的数据以十六进制和ASCⅡ码的形式显示出来,其左边显示存储单元的逻辑地址,中间显示存储单元内容,每行

文档评论(0)

118zhuanqian + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档