- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一、一个完整的源程序的结构
一个源程序一般由若干个段组成,每个分段可以是栈段、数据段和代码段。一个源程序可以有多个栈段、数据段和代码段,从语法规则上来看,栈段是有明显标志的;代码段最好的类型为‘CODE’的标记,并用CS作为段界寄存器,只有数据段不要求标志。
完整的源程序的结构一般形式如下:
程序名称;
.
.
.
.
二、源程序的一般的程序:二、简化段的源程序的结构
这种形式只有三个分段;一个栈段、一个数据段和一个代码段。代码长度可达64KB,数据段和栈段是一个组,其总长度可达64KB,组名为DGROUP。组名DGROUP与数据段名@DATA都代表组对应的物理段的段界地址,装入内存时,系统给CS及IP赋初值,使其指向代码段。同时系统还给SS和SP赋初值,使(SS)=DGROUP,(SP)=数据段长度+栈段长度,也就是使栈段为对应的物理段。这样处理是使栈段元素也能用DS寄存器访问,以便于高级语言相连接。
一般模式 伪操作符模式
NAME模块名;可有可无 DOSSEG
TITLE 正文;可有可无 .MODEL SMALL
堆栈段名 SEGMENT PATA STACK’STACK’ .STACK [长度]
.DATA
数据语句
堆栈段名 ENDS .CODE
数据段名 SEGMENT . 启动标号 MOV AX,DGROUP
MOV DS,AX
执行语句
数据段名 ENDS
代码段名 SEGMENT执行性语句 。EXIT
ASSUME 设定段与寄存器的对应关系 END
标号:
过程名1 PROC 类型
过程名1 ENDP
过程名N PROC 类型
过程名N ENDP
代码段名 ENDS
END 标号|过程名
基本概念。
(1)汇编程序的分类:自汇编程序和交叉汇编程序;按功能分:浮动汇编程序、微汇编程序、宏汇编。由浮动汇编程序产生的二进制目标代码,可以装入内存在任何位置运行; 微汇编程序只提供将汇编指令转换成机器指令的基本过程,缺乏伪指令处理能力;宏汇编不仅包含一般汇编语言的功能,并且采用了高级语言的数据结构,提供了记录、结构和字符串的操作,提供宏指令、条件汇编、重复汇编、组建宏库等红处理能力及DOS调用等功能。
(2)汇编语言的格式:[名字][前缀]助记符[操作数1],[操作数2]。。。[;注释]
助记符可以是指令、伪指令、宏指令;
1名字是以字母(把符号$@?._看成字母)打头且不超过31个字符的字母数字串.有两类:一是事先约定的,不用定义与说明(包括寄存器名字、操作符、伪操作符);二是用户自己定义的名字(包括标号、变量、分段名、组名、过程名、宏定义名、记录名、结构名及域名),名字不能以数字开头,且不能为保留字。
2操作符表示语句的主要操作或功能,通常分为做操作符和伪操作符。操作符代真后有目标代码(操作码)对应,其功能有就硬件指令实现;伪操作符代真后没有目标代码对应,其功能由汇编程序实现。(包括完整段操作符、简化段操作符和其他未操作符)。
3标号是用:号引入放入名字。标号的属性(标号代表其定义所处位置的地址):1标号的段值属性,就是标号所在的段界地址;其形式有A. 标号,B. SEG 标号。2标号的偏移地址属性,是指标号所处位置的偏移地址;其形式有:A.
文档评论(0)