汇编语言总结new

汇编语言总结new

ID:11602375

大小:42.46 KB

页数:9页

时间:2018-07-12

汇编语言总结new_第1页
汇编语言总结new_第2页
汇编语言总结new_第3页
汇编语言总结new_第4页
汇编语言总结new_第5页
资源描述:

《汇编语言总结new》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、一、一个完整的源程序的结构一个源程序一般由若干个段组成,每个分段可以是栈段、数据段和代码段。一个源程序可以有多个栈段、数据段和代码段,从语法规则上来看,栈段是有明显标志的;代码段最好的类型为‘CODE’的标记,并用CS作为段界寄存器,只有数据段不要求标志。完整的源程序的结构一般形式如下:程序名称;....二、源程序的一般的程序:二、简化段的源程序的结构这种形式只有三个分段;一个栈段、一个数据段和一个代码段。代码长度可达64KB,数据段和栈段是一个组,其总长度可达64KB,组名为DGROUP。组名DGROUP与数据段名@DAT

2、A都代表组对应的物理段的段界地址,装入内存时,系统给CS及IP赋初值,使其指向代码段。同时系统还给SS和SP赋初值,使(SS)=DGROUP,(SP)=数据段长度+栈段长度,也就是使栈段为对应的物理段。这样处理是使栈段元素也能用DS寄存器访问,以便于高级语言相连接。一般模式伪操作符模式NAME<模块名>;可有可无DOSSEGTITLE<正文>;可有可无.MODELSMALL堆栈段名SEGMENTPATASTACK’STACK’.STACK[长度].DATA数据语句堆栈段名ENDS.CODE数据段名SEGMENT.启动标号MO

3、VAX,DGROUPMOVDS,AX执行语句数据段名ENDS代码段名SEGMENT执行性语句。EXITASSUME设定段与寄存器的对应关系END标号:过程名1PROC类型过程名1ENDP过程名NPROC类型过程名NENDP代码段名ENDSEND标号

4、过程名三、基本概念。(1)汇编程序的分类:自汇编程序和交叉汇编程序;按功能分:浮动汇编程序、微汇编程序、宏汇编。由浮动汇编程序产生的二进制目标代码,可以装入内存在任何位置运行;微汇编程序只提供将汇编指令转换成机器指令的基本过程,缺乏伪指令处理能力;宏汇编不仅包含一般汇编语言的功能

5、,并且采用了高级语言的数据结构,提供了记录、结构和字符串的操作,提供宏指令、条件汇编、重复汇编、组建宏库等红处理能力及DOS调用等功能。(2)汇编语言的格式:[名字][前缀]助记符[操作数1],[操作数2]。。。[;注释]助记符可以是指令、伪指令、宏指令;<1>名字是以字母(把符号$@?._看成字母)打头且不超过31个字符的字母数字串.有两类:一是事先约定的,不用定义与说明(包括寄存器名字、操作符、伪操作符);二是用户自己定义的名字(包括标号、变量、分段名、组名、过程名、宏定义名、记录名、结构名及域名),名字不能以数字开头,

6、且不能为保留字。<2>操作符表示语句的主要操作或功能,通常分为做操作符和伪操作符。操作符代真后有目标代码(操作码)对应,其功能有就硬件指令实现;伪操作符代真后没有目标代码对应,其功能由汇编程序实现。(包括完整段操作符、简化段操作符和其他未操作符)。<3>标号是用:号引入放入名字。标号的属性(标号代表其定义所处位置的地址):1标号的段值属性,就是标号所在的段界地址;其形式有A.标号,B.SEG标号。2标号的偏移地址属性,是指标号所处位置的偏移地址;其形式有:A.标号,B.OFFSET标号。3标号的类型属性,代表一个值即远标号(

7、FAR)和近标号(NEAR);其形式:TYPE标号。若为NEAR则TYPE=-1,若为FAR则TYPE=-2。<4>变量,变量是用数据伪操作符引入的名字。有两种含义一是:代表所表示的变量的值,二是:表示变量所占空间的首地址。变量的属性1变量的段值属性,是指变量定义所在的段的段界地址;其形式A.变量B.SEG变量。2变量的偏移地址属性值;A.变量,B.OFFSET变量。3变量的类型属性,指变量所表示的数据元素的长度(以字节为单位);其形式:TYPE变量,TYPE变量是一个1—10之间的数字。4变量的元素总和属性,指变量所指数据

8、的元素个数;其形式:LENGTH变量,只对单项重复子句有意义,其他的LENGTH变量=1。5变量字节总和属性,变量所指数据所占的储存空间的总字节数;其形式:SIZE变量,只对单项重复子句有意义,其他的SIZE变量=1。SIZE=LENGTHXTYPE。重新定义类型操作符,格式:类型PTR表达式;功能:用来为变量或标号建立一个新的属性。对于变量类型可以是TYPE、WORD、DWORD,对于标号可以是NEAR、FAR,表达式可以是变量名、标号或其他地址表达式。<5>分段名,用伪操作符SEGMENT引入的名字;其定义形式:分段名S

9、EGMENT…………分段名ENDS分段名在使用中代表该分段的段界地址,段值的表示方式:分段名或SEG分段名<6>组名,用伪操作符GROUP引入的名字,组名在使用用代表其段界地址。其定义形式:组名:GROUP分段名1,分段名2,……<7>过程名和过程,用伪操作符PROC引入的名字。类型默认为

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。