- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
复 习 1、汇编语言源程序的结构 2、汇编语言语句格式 (1)数据项包括常量、变量、标号及表达式。 (2)表达式是常数、寄存器、标号、变量与运算符的组合。 表达式中的运算符有6类:算术、逻辑、关系、取地址、 属性、杂类。 3、伪指令 数据定义伪指令 符号定义伪指令 主要内容 1、伪指令 段定义伪指令 过程定义伪指令 宏定义伪指令 结束伪指令 2、系统功能调用 : DOS功能调用;BIOS功能调用。 3、汇编语言程序设计基础 源程序的基本结构:顺序、分支、循环、过程 4.2.3 段定义伪指令 汇编语言程序是按段来组织程序和数据的。 和存储器的物理段相对应,汇编语言程序中的段称为逻辑段。汇编连接后被映射到物理段中。 三类段:代码(程序)、数据、堆栈 段定义伪指令:SEGMENT、ENDS、ASSUME、ORG 定义一个段的基本格式: 段名 SEGMENT [定位类型][组合方式][类别] 汇编语言语句 段名 ENDS 这两个伪指令总是成对出现,二者前面的段名应一致。 SEGMENT说明了一个段的开始,ENDS说明了一个段的结束。 对数据段和堆栈段,段中的语句一般是变量定义。对代 码段则是指令语句。 如: data SEGMENT 指令语句或伪指令语句 data ENDS 用单引号括起来的字符串。所有同类别的段被安排在连续的存储区域中。 如:在模块1中有段定义: seg1 SEGMENT PARA STACK ‘stack’ … seg1 ENDS 在模块2中有段定义: seg2 SEGMENT PARA STACK ‘stack’ … seg2 ENDS 则连接时这两个段被安排在一起。 在代码段中,还必须明确段和段寄存 器的关系,这由ASSUME语句来指定。如 ASSUME CS:code, DS:data, ES:data 语句中的code和data为段名。 这个语句说明: 1. CS将指向名字为code的代码段 2. DS和ES将指向名字为data的数据段 但要注意,ASSUME伪指令只是告知汇编程序有关段寄存器与段的关系,并没有给段寄存器赋予实际的初值。故下面的语句: MOV AX,DATA MOV DS,AX MOV ES,AX 将段基址装入段寄存器。如果程序中用到堆栈段,则SS也需装入实际的初值。 代码段基地址不需要程序员装入CS寄存器,而由OS负责装入。 ORG规定了段内的指令或数据存放的开始地址(偏移地址的初值),其格式为: ORG 表达式 表达式的值即为开始地址,从此地址起连续存放程序或数据。 例: ABC SEGMENT ORG 100H begin: … … ABC ENDS 4.2.5 过程定义伪指令(PROC、ENDP) 过程就是子程序。一个过程可以被其它程序所调用(用CALL指令),过程的最后一条指令一般是返回指令(RET)。 过程定义伪指令的格式为 过程名 PROC [类型] … RET 过程名 ENDP 注意:PROC和ENDP必须成对出现。 NEAR——(默认类型)表示段内调用 FAR ——表示段间调用 调用一个过程的格式为: CALL 过程名 例如:宏定义为: Display MACRO string LEA DX,string MOV AH,9 INT 21H ENDM 程序中宏调用: …… DISPLAY ERRO
文档评论(0)