- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言入门教程第五章汇编语言程序结构
教学重点 本章重点掌握: 程序的格式、开发方法 参数的表达、变量的定义 变量和标号的属性 指令和伪指令 指令——使CPU产生动作、并在程序执行时才处理的语句,就是前一章学习的处理器指令 伪指令(Directive)——不产生CPU动作、在程序执行前由汇编程序处理的说明性语句,例如,数据说明、变量定义等等 伪指令与具体的处理器类型无关,但与汇编程序的版本有关 段寄存器的装入 SS段寄存器的装入 stack1 segment para stack dw 40h dup(?) stack1 ends …… code1 segment assume cs:code1,ss:stack1,…… …… SS段寄存器的装入 (2) 程序设置 stack1 segment para stack dw 40h dup(?) top label word stack1 ends …… code1 segment assume cs:code1,ss:stack1,…… …… mov ax,stack1 mov ss,ax mov sp,offset top …… CS和IP的装入 初始化时装入,根据END伪指令指示的地址 END [标号] END语句的作用: 告诉汇编程序,源程序结束 指定程序运行时的起始地址,即: seg 标号 cs offset 标号 ip 汇编结束伪指令 END [标号] 指示汇编程序MASM到此结束汇编过程 源程序的最后必须有一条END语句 可选的标号用于指定程序开始执行点,连接程序将据此设置CS : IP值 CS和IP的装入 (2)自动修改CS和IP 执行CALL FAR和RET指令 执行JMP FAR指令 响应中断及中断返回(IRET) RESET …… 第一章 基础知识 第五章 汇编语言程序结构 SEGMENT伪操作还可以增加类型及属性的说明,格式如下 : 一般情况下,这些说明可以不用。但是,如果需要用连接程序把本程序与其他程序模块相连接时,就需要使用这些说明。分别叙述如下: * 定位类型(align_type)可以是: 段名 SEGMENT [定位类型] [组合类型] [段字][类别名] ? 段名 ENDS 实际上定位类型可以理解为对两个相临段的段地址给予的一些规定。定位类型可以有以下几种: PARA:指定所定义的段开始于小段边界,实际是规定这个段的起始地址与前面一个段的起始地址之差必须是16字节的整数倍。这意味着相临两个段的段地址之差最小也得是1。 PAGE:指定定义的段开始于页边界,实际是规定这个段的起始地址与前面一个段的起始地址之差必须是256字节的整数倍。 BYTE:所定义的段开始于字节边界,实际上是指这个段可以从任何地址开始。 WORD:所定义的段开始于字边界,实际是指这个段只能从偶数地址开始。 如果源程序中指定了段的定位类型为PARA或PAGE,那么获得的可执行文件中相临段的段地址就有差异。 但是如果源程序中指定了段的定位类型是BYTE或WORD,那么在可执行文件中相临段的段地址就有可能相同。 为了说明这个问题,我们下面给出了一个程序例: 第一章 基础知识 第五章 汇编语言程序结构 *组合类型 (combine_type)设置一定的组合类型就可以通知LINK程序把一些分散在不同模块内的同类型段组织在一个段内,这样可以使最终形成的可执行文件结构比较清晰。 PUBLIC 该段连接时将与有相同名字的其他分段连接在一起。其连接次序由连接命令指定。 COMMON 该段在连接时与其他同名分段有相同的起始地址,所以会产生覆盖。COMMON的连接长度是各分段中的最大长度。 AT expression 使段的起始地址是表达式所计算出来的16位段地址。但它不能用来指定代码段。 STOCK 指定该段在运行时为堆栈段的部分。 MEMORY 指定该段将分配在所有其他连接在一起的段的前面(在高地址上),如果连接时有几个指定MEMORY的段,则遇到的第一段作为MEMORY段,其他则作为COMMON段. *类别(‘CLASS’) 连接时用于组成段组的名字: 可以是: 第一章 基础知识 第五章 汇编语言程序结构 四、程序开始和结束伪操作 (ASM操作规则) 在程序的开始可以用NAME或TITLE为模块取名字,NAME的格式是:
您可能关注的文档
- 某市开发区供电局新建办公楼食堂施工组织设计.pdf
- 某年产万吨纺织公司建设项目节能评估报告.doc
- 某房地产集团业务流程优化咨询流程制作模板.ppt
- 某时速千米铁路客运专线隧道洞身开挖开工报告.doc
- 某有限公司S推行方案.doc
- 某某公司关于绿源井岗茶油在华北市场推广战略篇.doc
- 某某学校分子项工程报验资料.doc
- 某电厂绩效管理.ppt
- 某知名高新技术企业度人力资源工作总结.doc
- 某纺织股份有限公司年产万吨高档紧密纺纱建设项目节能评估报告.doc
- 8 黄山奇石(第二课时)课件(共22张PPT).pptx
- 22《纸船和风筝》教学课件(共31张PPT).pptx
- 17 松鼠 课件(共23张PPT).pptx
- 23《海底世界》课件(共28张PPT).pptx
- 21《大自然的声音》课件(共18张PPT).pptx
- 第12课《词四首——江城子 密州出猎》课件 2025—2026学年统编版语文九年级下册.pptx
- 第2课《济南的冬天》课件(共42张PPT) 2024—2025学年统编版语文七年级上册.pptx
- 17 跳水 第二课时 课件(共18张PPT).pptx
- 第六单元课外古诗词诵读《过松源晨炊漆公、约客》课件 统编版语文七年级下册.pptx
- 统编版六年级语文上册 22《文言文二则》课件(共27张PPT).pptx
原创力文档


文档评论(0)