- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第05章汇常编语言程序设计
第5章 汇编语言程序设计 内 容 提 要 本章描述了汇编语言源程序结构、汇编语言语句及其格式,讲解了常用伪指令语句、语句中操作数项表达式及常用操作符,介绍了常用汇编技术、汇编语言上机过程、DOS功能调用及BIOS中断调用、DEBUG调试程序,叙述了常用程序设计方法和保护方式下的编程、模块化程序设计以及汇编语言和C语言的混合编程。 5.1 汇编语言程序结构 5.2 汇编语言语句 5.3 汇编语言程序上机过程 5.4 汇编语言程序设计 5.5 模块化程序设计 5.1 汇编语言程序结构 1. 方式选择伪指令 Intel系列微处理器不断发展换代并保持向上兼容,不同版本的MSAM对应不同代的微处理器的指令集和汇编伪指令。因此方式选择伪指令既是选择微处理机,实质上也是选择相应的指令集。 MASM宏汇编程序提供的方式选择伪指令如下: .8086——只汇编8086/8088的指令,此为默认方式 .286或.286C——同.8086并只汇编80286非特权(实模式)指令 .286P——同.8086并汇编80286全部指令(包括保护方式) .287——用于汇编80287协处理器指令 .386或.386C——同.286并汇编80386非特权(实模式)指令 .386P——同.286P并汇编80386全部指令(包括保护方式) .387——用于汇编80387协处理器指令 .486或.486C——同.386并汇编80486非特权(实模式)指令 .486P——同.386P并汇编80486全部指令(包括保护方式) .586或.586C——用于汇编Pentium微处理器非特权(实模式)指令 .586P——用于汇编Pentium微处理器保护方式在内的所有指令 1. 方式选择伪指令(续) 以下三条伪指令是MASM6.12引入的: .686——用于汇编Pentium Pro到Pentium 4微处理器非特权(实模式)指令 .686P——用于汇编Pentium Pro到Pentium 4微处理器保护方式在内的所有指令 .MMX——用于汇编MMX指令 .K3D——用于汇编AMD微处理器3D NOW!指令。是MASM6.13引入的 .XMM——用于汇编SSE和SSE2指令。是MASM6.15引入的 2. 完整的段定义 使用完整的段定义伪指令来定义一个段,可具体控制汇编程序MASM和连接程序LINK在内存中组织代码和数据的方式。整个逻辑段必须用段定义语句括起来。 (1) SEGMENT——ENDS伪指令 段名 SEGMENT [定位类型] [组合方式] [段长度] [分类名] ? {段体} 段名 ENDS 每个逻辑段都以SEGMENT语句开头,以ENDS语句结束;两语句前的段名作为逻辑段的标识符,它必须是唯一的,确定该段在存储器中的位置。 (1) SEGMENT——ENDS伪指令(续) 段开始和结束语句之间部分是段的内容——对数据段、堆栈段和附加段而言,一般由存储单元定义、分配等伪指令所组成,对代码段,则主要是由可执行指令以及某些伪指令组成。 方括号中是定位类型、组合方式、分类名和段长度等的说明,视情况可以省略。若对本逻辑段在内存中的定位加以限定、或需与其它段相连接,则须按规定选择这些项。 定位类型(Align-type) 规定该段的起始位置。有以下几种选择: BYTE:段的起始地址可以从任何单元开始,段间不留空隙,存储器利用率最高; WORD:段的起始地址为偶数,即从字的边界开始;适合字类型的数据段定位; DWORD:段的起始地址是4的整数倍,适合双字类型的数据段定位; PARA:段的起始位置是16的整数倍,即从节(24=16为一节)的边界开始; PAGE:段的起始地址必须是256的整数倍,即从页(28=256为一页)的边界开始; INPAGE:该段长度不超过256个字节(一页之内),不允许跨页存放。 定位类型缺省时为PARA方式。 (1) SEGMENT——ENDS伪指令(续) 组合方式(Combine type) 又称连接方式,规定连接程序LINK处理本段与其它逻辑段时如何进行相互连接。可以有以下几种: NONE:本段与其它段无组合关系,这是缺省方式。也可用等价的关键字 PRIVATE。 PUBLIC:在满足定位的条件下,将本段与其它具有PUBLIC属性的同名段连接 成一个连续的大逻辑段,公用一个段基址;连接次序由连接命令指定。 COMMON:本段和其它具有COMMON属性的同名段重叠,对各段指定相同的 起始地址(即
您可能关注的文档
最近下载
- 2025青岛上合产投控股集团有限公司公开招聘(14人)笔试备考试题及答案详解(夺冠).docx VIP
- 2025-2026新版部编人教版小学3三年级语文上册(全册)教案设计.doc
- 2025青岛上合产投控股集团有限公司公开招聘(14人)笔试备考试题及答案详解(考点梳理).docx VIP
- 口腔科冠调合知情同意书.docx
- 山东省临沂市费县2024-2025学年九年级上学期期中考试数学试题(含答案).pdf VIP
- 16111(1118修改)柔性掩护支架采煤作业规程.doc
- 2025青岛上合产投控股集团有限公司公开招聘(14人)笔试备考试题及答案详解参考.docx VIP
- 高效液相色谱法测定奶粉中三聚氰胺的含量.docx VIP
- YY_T 1268-2023 环氧乙烷灭菌的产品追加和过程等效.docx VIP
- 2025青岛上合产投控股集团有限公司公开招聘(14人)笔试备考试题及答案详解一套.docx VIP
原创力文档


文档评论(0)