- 1、本文档共87页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章--汇编语言程序格式及伪指令
第6章 汇编语言程序格式及伪指令 本章要求: ● 了解汇编程序功能; ● 掌握常用汇编伪操作及汇编语言格式; ● 开始汇编语言工具使用和简单程序的编写(上机实验) 。 6.1 汇编程序功能 SEGMENT伪操作类型及属性的说明 PRIVATE 该段为私有段,在连接时将不与其它模块中的同名分段合并。 PUBLIC 该段连接时将与有相同名字的其他分段连接在一起。其连接次序由连接命令指定。 COMMON 该段在连接时与其他同名分段有相同的起始地址,所以会产生覆盖。COMMON的连接长度是各分段中的最大长度。 AT expression 使段的起始地址是表达式所计算出来的16位段地址。但它不能用来指定代码段。 STACK 指定该段在运行时为堆栈段的一部分。 MEMORY 指定该段将分配在所有其他连接在一起的段的前面(在高地址上),如果连接时有几个指定MEMORY的段,则遇到的第一段作为MEMORY段,其他则作为COMMON段。 组合类型的默认项为PRIVATE。 ● 组合类型(combine_type) SEGMENT伪操作类型及属性的说明 ● 使用类型(use_type)只适用于386及后继机型,用来说明使用16位寻址方式还是32位寻址方式。 USE16 使用16位寻址方式(实模式下使用) USE32 使用32位寻址方式 使用类型的默认项为USE16。 ● 类别(‘class’) 连接时用于组成段组的类型名。类别说明并不能把相同类型的段合并起来,但在连接后形成的装入模块中,可以把它们的位置靠在一起。 存储模型和简化段定义伪操作 MODEL伪操作 格式: . MODEL memory_model [, model options] memory_model:用来说明存储模型,即用来说明在存储器中是如何安放在各个段的。其组合共有七种存储模型 : model options:允许用户指定三种选项: 高级语言接口、操作系统和堆栈距离。 ① TINY 所有数据和代码都放在一个段内,其数据和代码都是近访问。一般用于小程序。其写出COM形式的文件时,COM程序必须从0100H存储单元开始。 ② SMALL 所有数据放在一个64KB的数据段内,所有代码放在另一个64KB代码段中,数据和代码都是近访问。 其它存储模型为medium compact large huge flat 简化段定义伪操作 汇编程序给出的标准段有下列几种 : code 代码段 initialized data 初始化数据段 uninitialized data 未初始化数据段 far initialized data 远初始化数据段 far uninitialized data 远未初始化数据段 constants 常数段 stack 堆栈段 与之对应的简化段定义伪操作: . CODE [name] . DATA . DATA ? . FARDATA [name] . FARDATA? [name] . CONST . STACK [size] 如不指定,则默认值为1KB 注意: 使用简化段定义之前,必须用.MODEL伪操作定义存储模型!!! 简化段定义伪操作举例 简单程序的定义 . MODEL SAMLL . STACK 100H . DATA … … .CODE START: MOV AX,@DATA MOV DS,AX … … MOV AX,4C00H INT 21H END START 简化段源程序的一般结构形式小结如下: DOSSEG .MODEL SMALL .STACK[长度] .DATA ┋ .CODE 启动标号:MOV AX,@DATA MOV DS,AX
文档评论(0)