04第四章 汇编语言程序格式课件.pptVIP

  1. 1、本文档共73页,可阅读全部内容。
  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文档。上传文档
查看更多
04第四章 汇编语言程序格式课件

第 四 章 教学重点 第3章学习了80x86硬指令,第4章介绍MASM基本的伪指令。第4章重点掌握: 程序的格式、开发方法 参数的表达、变量的定义 变量和标号的属性 硬指令和伪指令 硬指令——使CPU产生动作、并在程序执行时才处理的语句,就是第3章学习的处理器指令 伪指令(Directive)——不产生CPU动作、在程序执行前由汇编程序处理的说明性语句,例如,数据说明、变量定义等等 伪指令与具体的处理器类型无关,但与汇编程序的版本有关 4.1 汇编程序的功能 开发过程1:源程序的编辑 源程序文件要以ASM为扩展名 源程序文件的形成(编辑)可以通过任何一个文本编辑器实现: DOS中的全屏幕文本编辑器EDIT 其他程序开发工具中的编辑环境 EDIT YY.asm 开发过程2:源程序的汇编 汇编是将源程序翻译成由机器代码组成的目标模块文件的过程 MASM 5.0提供的汇编程序是MASM.EXE: MASM YY.asm 如果源程序中没有语法错误,MASM将自动生成一个目标模块文件(YY.obj);否则MASM将给出相应的错误信息 这时应根据错误信息,重新编辑修改源程序后,再进行汇编 汇编程序的主要功能: 开发过程3:目标模块的连接 连接程序能把一个或多个目标文件和库文件合成一个可执行程序(.EXE、.COM文件): LINK YY.obj 如果没有严重错误,LINK将生成一个可执行文件(YY.exe);否则将提示相应的错误信息 这时需要根据错误信息重新修改源程序后再汇编、链接,直到生成可执行文件 开发过程4:可执行程序的调试 经汇编、连接生成的可执行程序在操作系统下只要输入文件名就可以运行: YY 操作系统装载该文件进入主存,并开始运行 4.2 伪操作(伪指令) 伪操作是汇编程序对源程序进行汇编时处理的操作,完成处理器选择、存储模式定义、数据定义、存储器分配、指示程序开始结束等功能。 4.2.1 处理器选择伪操作 .8086 选择 8086 指令系统 .286 选择 80286 指令系统 .286P 选择保护模式下的 80286 指令系统 .386 选择 80386 指令系统 .386P 选择保护模式下的 80386 指令系统 .486 选择 80486 指令系统 .486P 选择保护模式下的 80486 指令系统 .586 选择 Pentium 指令系统 .586P 选择保护模式下的 Pentium 指令系统 4.2.2 段定义伪操作 1、完整段定义伪操作 data segment ; 定义数据段 … data ends extra segment ; 定义附加段 … extra ends code segment ; 定义代码段 assume cs:code, ds:data, es:extra start: mov ax, data mov ds, ax ; 段地址 ? 段寄存器 … code ends end start 段假设 用来明确段和段寄存器的关系 格式如下: ASSUME 段寄存器名:段名 完整段定义格式 段名 SEGMENT [定位类型] [组合类型] [使用类型] [‘类别’] …… …… ; 语句序列 段名 ENDS 段定位(align)属性 指定逻辑段在主存储器中的边界,可为: BYTE 段开始为下一个可用的字节地址(xxxx xxxxb) WORD 段开始为下一个可用的偶数地址(xxxx xxx0b) DWORD 段开始为下一个可用的4倍数地址(xxxxxx00b) PARA 段开始为下一个可用的节地址(xxxx 0000b) PAGE 段开始为下一个可用的页地址(0000 0000b) 简化段定义伪指令的代码和数据段默认采用WORD定位,堆栈段默认采用PARA定位 完整段定义伪指令的默认定位属性是PARA,其低4位已经是0,所以默认情况下数据段的偏移地址从0开始 段组合(combine)属性 指定多个逻辑段之间的关系,可为: PRIVATE 本段与其他段没有逻辑关系,不与其他段合并,每段都有自己的段地址。这是完整段定义伪指令默认的段组合方式 PUBLIC 连接程序把本段与所有同名同类型的其他段相邻地连接在一起,然后为所有这些段指定一个共同的段地址,也就是合成一个物理段。这是简化段定义伪指令默认的段组

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档