- 1、本文档共36页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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和
您可能关注的文档
最近下载
- 2019外研版新教材高一英语必修一unit5单词详解.pdf VIP
- 初中物理作业设计优秀案例(3篇).pdf
- TROAX图瓦斯围栏资料.docx
- [检验检测标准]JBT 5000.15-1998; 重型机械通用技术条件 锻钢件无损探伤.pdf
- 装置开车前安全条件确认表.doc
- 新人教版(新插图)二年级上册数学 第6课时6的乘法口诀 教案(教学设计).docx
- SLAM介绍以及浅析.ppt
- 闸门运行工(高级工)职业技能鉴定理论考试题库(含答案).docx
- Unit5 The colourful world 第2课时(大单元教学课件)Part A Let's learn&Listen and chant三年级英语上册(人教PEP版2024秋).pptx
- 设计一周午餐营养食谱(教学设计)全国通用六年级上册综合实践活动.docx
文档评论(0)