第四章、汇编言程序格式.ppt

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章、汇编言程序格式

汇编程序功能 伪操作 汇编语言程序格式 汇编语言程序的上机过程;1.程序运行步骤及生成的文件; 建立, 运行汇编语言程序;;伪操作?是汇编程序对源程序进行汇编时处理的操作,完成处理器选择、存储模式定义、数据定义、存储器分配、指示程序开始结束等功能。 4.2.1、处理器选择伪操作 4.2.2、段定义伪操作 4.2.3、程序开始和结束伪操作 4.2.4、数据定义及存储器分配伪操作 4.2.5、表达式赋值伪操作 4.2.6、地址计数器与对准伪操作 4.2.7、基数控制伪操作;功能?告知编译程序应该选择哪一种机型的指令系统; 使用?放在整个程序的最前面;默认为.8086; 若使用某一条80486新增指令,则在该指令上一行加上.80486; 常用选择处理机指令系统的伪指令 : .8086 ? 选择 8086 指令系统 .286 ? 选择 80286 指令系统 .286P ? 选择保护模式下的 80286 指令系统 .386 ? 选择 80386 指令系统 .386P ? 选择保护模式下的 80386 指令系统 .486 ? 选择 80486 指令系统 .486P ? 选择保护模式下的 80486 指令系统 .586 ? 选择 Pentium 指令系统 .586P ? 选择保护模式下的 Pentium 指令系统;4.2.2、段定义伪操作;[2].定位类型(align_Type)?指定该段起始地址的边界值特征; para?段起始地址必须从小段边界开始,即起始地址的最底16进制数位必须为0,这样段内起始偏移地址可以是0(默认值) byte?段起始地址是任意,这样段内起始偏移地址可能不为0 word?段起始地址必须是字边界,即起始地址必须为偶数 Dword?段起始地址必须是双字边界,即起始地址16进制数最底位必须是4的倍数 Page?段起始地址必须是页边界,即起始地址16进制数最底2位必须是0 [3].组合类型(combine_type)?指明程序连接时各个段的合并方法 Private?该段为私有段,连接时不与其它模块的同名段合并;(默认值) Public?该段为公有段,连接时与其它模块的同名段合并成一个段,其合并的连接次序由连接命令指令,而且每一分段都从最小边界开始,各分段之间可能存在16B的间隙; Common?连接时各模块的同名段重叠而形成一个段,该段长度为原由各分段中长度最大者,重叠部分的内容取决于排列在最后一段的内容; AT expression?使段地址为表达式计算出的值,(不能用来指定代码段) STACK?连接时各模块的同名堆栈段组合而形成一个堆栈段,该段长度等于各分段长度之和,中间无间隙,栈顶自动指向连接后形成的大堆栈段栈顶;(一般用于定义堆栈段);[4].使用类型(use_type) ?指明16位寻址方式还是32位寻址方式; Use 16?段长不超过64GB, 地址形式是”16位段地址”和”16位偏移; Use 32?段长不超过4GB,地址形式是”16位段地址”和”32位偏移”; [5].类型(‘class’) ?在单引号中给出连接时组成段组的类型名,目的是使相同类别的段装入模块时位置靠近; 完整的段定义格式举例:;两种程序终止返回DOS状态的方法:;2、存储模式与简化段定义伪操作 [1].MODEL 伪操作 //放在各段的定义之前 .MODEL 存储模式 [,高级语言类型] [,操作系统类型] [,堆栈选项] 存储模式: ① Ting ?所有数据和代码都放在一个段内;数据和代码都是近访问; ② Small ?所有数据放在一个64KB的数据段内,而所有的代码则放在另一个 64KB的代码段内;数据和代码都是近访问; ③ Medium ?代码使用多个段,一般是一个模块一个段,而数据则合并成一个 64KB的段组;数据是近访问,而代码可以远访问; ④ Compact?代码都放在一个64KB的代码段中,而数据可放在多个段内;数据 可以远访问,而代码只能近访问; ⑤ Large ?代码和数据都为多个段,两者都可以远访问; ⑥ Huge ?类似large,差别是允许数据段大小超过64KB; ⑦ Flat ?允许用户使用32位偏移量,但DOS不允许; 高级语言选项?指定该汇编程序是作为哪种高级语言程序的过程而为其调用 操作系统选项?指定该程序运行于哪个操作系统 堆栈距离选项?用nearstack指明堆栈段和数据段组合到一个名为DGROUP的段组中,DS和

文档评论(0)

sm8558 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档