- 1、本文档共78页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
IBM汇编 第四章 汇编语言程序格式课件
? 汇编程序功能
? 伪操作
? 汇编语言程序格式
? 汇编语言程序的上机过程;;;4.2 伪操作(伪指令);.8086 选择 8086 指令系统
.286 选择 80286 指令系统
.286P 选择保护模式下的 80286 指令系统
.386 选择 80386 指令系统
.386P 选择保护模式下的 80386 指令系统
.486 选择 80486 指令系统
.486P 选择保护模式下的 80486 指令系统
.586 选择 Pentium 指令系统
.586P 选择保护模式下的 Pentium 指令系统;4.2.2 段定义伪操作:;2) 定位方式
(1)PARA:表示本段必须从能被16整除的地址处开始存放,即段起始地址最低四位必须是0。
(2)WORD:表示本段要从一个偶数地址处开始存放,即段起始地址的最低一位必须是0。
(3)BYTE:表示本段起始地址可以从任一地址处开始存放。
(4)PAGE:表示本段要从能被256整除的地址处开始存放,即起始地址的最低八位必须是0。
默认为 PARA;3) 组合方式
组合方式有六种类型可供选择。 ;【例】有两个模块,各模块段定义如下
模块1:
┆
DATA1 SEGMENT PARA PUBLIC ‘DATA1’
M1 DB 45H DUP(0)
DATA1 ENDS
DATA2 SEGMENT PARA COMMON ‘DATA2’
N1 DB 102H DUP(0)
DATA2 ENDS
END ;该段的定位组合方式示意图如图所示。 ; 4) 使用类型
USE16 使用16位寻址方式 段长≤64K
USE32 使用32位寻址方式 段长≤4G
5) 类别
在引号中给出连接时组成的段组的类型名。在连接后形成的装入模块中,可使相同类别的段位置靠在一起。;◆假定伪指令ASSUME
格式:ASSUME 段寄存器:段名 [,段寄存器:段名]
功能:建立段寄存器与段之间的对应关系。该伪指令一般出现在代码段中。
DATA1 SEGMENT
A DB 1,2,3
DATA1 ENDS
CODE SEGMENT
ASSUME DS:DATA1,CS:CODE
┆;◆ 段定义伪操作:;……
code segment
main proc far
assume ……
start:
push ds
mov ax, 0
push ax
……
ret
main endp
code ends
end start; 例:一个完整的段定义格式; 2. 存储模型与简化段定义伪指令;存储模式与简化段定义伪操作;① TINY:该存储类型是为编写COM文件类型而设置的。
② SMALL:所有的数据变量必须在一个数据段之内,所有的代码也必须在一个代码段之内。在这种模型下,数据段寄存器的内容保持不变,所有转移也都是段内转移。
③ MEDIUM:所有的数据变量必须在一个数据段之内,但代码段可以有多个。在这种模型下,数据段寄存器的内容保持不变,转移可以是段间转移。
④ COMPACT:数据段可以有多个,但代码段只能有一。
⑤ LARGE:数据段和代码段都可以有多个,但一个数组的字节数不能超过64KB。
⑥ HUGE:数据段和代码段都可以有多个,一个数组的字节数也可以超过64KB。
⑦ FLAT:只能在80386及其以后的计算机系统中运行。;SMALL存储模式;.model small
.stack 100H
.data
……
.code
.startup
……
.exit 0
end; .MODEL 存储模式 [,语言类型] [,操作系统类型] [,堆栈选项]
语言类型说明可使汇编语言程序与其它语言程序达到共享的目的。所有有效的语言类型可以是C、BASIC、FORTRAN等。
操作系统类型说明程序运行于哪个操作系统之下,OS_DOS该选项的缺省值。
堆栈选项类型的值有二个可选值:NEARSTACK和FARSTACK。其中:NEARSTACK是该选项的缺省堆栈类型。
NEARSTACK——堆栈段和数据段是同一段;
FARSTACK——堆栈段和数据段是不同的段,且堆栈不在段组DGROUP中。
例如:
. MODEL? SMALL,C,OS_DOS,FARSTACK ;简化的段定义伪操作
.code [name]
.data
.data?
.fardata [name]
文档评论(0)