汇编语言语句的类型和格式

汇编语言语句的类型和格式

ID:39301437

大小:1.14 MB

页数:29页

时间:2019-06-29

汇编语言语句的类型和格式_第1页
汇编语言语句的类型和格式_第2页
汇编语言语句的类型和格式_第3页
汇编语言语句的类型和格式_第4页
汇编语言语句的类型和格式_第5页
资源描述:

《汇编语言语句的类型和格式》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、5.2.2汇编语言语句的类型和格式1.语句的类型汇编语言源程序中的语句可以分为两种类型:指令语句,伪指令语句,宏指令语句。(1)指令语句:它是能产生目标代码,CPU可以执行的能完成特定功能的语句。(2)伪指令语句:它是一种不产生目标代码的语句,它仅仅在汇编过程中告诉汇编程序应如何汇编。例如,告诉汇编程序已写出的汇编语言源程序有几个段,段的名字是什么;定义变量,定义过程,给变量分配存储单元,给数字或表达式命名等。显然,伪指令语句是汇编程序在汇编时使用的。(3)宏指令语句是以一个宏名定义的一段指令序列,在汇编中凡是出现宏指令语句的地方,都会有相应的指令语句序列的目标代码插入。2

2、.语句的格式指令语句与伪指令语句的格式是类似的。一般情况下,汇编语言的语句可以由1~4部分构成:[名字]助记符[操作数][;注释]其中带方括号的部分表示任选项,既可以有,也可以没有。例5.1中有如下语句:LOOPER:MOVAL,DATA2[SI];取一个字节加数DATA1DB0F8H,60H,0ACH,74H,3BH;被加数第一条语句是指令语句,其中“LOOPER:”是名字,“MOV”是指令助记符,“AL,DATA2[SI]”是操作数,“;”后面是注释部分;第二条语句是伪指令语句,其中“DATA1”是名字,“DB”是伪指令定义符,“0F8H,60H,0ACH,74H,3B

3、H”是操作数,“;”后面是注释部分。1)名字汇编语言语句的第一个组成部分是名字(Name)。在指令语句中,这个名字是一个标号。指令语句中的标号实质上是指“:”后面指令所在的存储地址(逻辑地址)。供JMP、CALL和LOOP等指令作操作数使用,以寻找转移目标地址。并非每条指令语句必须有标号,但如果一条指令前面有一标号,则程序中其它地方就可以引用这个标号。在例5.1中,START、LOOPER就是标号。标号后面有一个冒号。标号有三种属性:段、偏移量和类型。①标号的段属性是定义标号在程序段的段地址,当程序中引用一个标号时,该标号的段值应在CS寄存器中。②标号的偏移量属性表示标号所

4、在段的起始地址到定义该标号的地址之间的字节数。偏移量是一个16位无符号数。③标号的类型属性有两种:NEAR和FAR。前一种标号可以在段内被引用;后一种标号可以在其它段被引用。如果定义一个标号时后跟冒号,则汇编程序确认其类型为NEAR。伪指令语句中的名字可以是变量名、段名、过程名。与指令语句中的标号不同,这些伪指令语句中的名字并不总是任选的,有些伪指令规定前面必须有名字,有些则不允许有名字,也有一些伪指令的名字是任选的。即不同的伪指令对于是否有名字有不同的规定。伪指令语句的名字后面通常不跟冒号,这是它和标号的一个明显区别。很多情况下伪指令语句中的名字是变量名,变量名代表存储器

5、中一个数据区的名字,例如例5.1中的DATA1、DATA2就是变量名。变量也有三种属性:段、偏移量和类型。①变量的段属性是变量所代表的数据区所在段的段地址。由于数据区一般在存储器的数据段中,因此变量的段地址常常在DS和ES寄存器中。②变量的偏移量属性是该变量所在段的起始地址与变量的地址之间的字节数。③变量的类型属性有BYTE(字节)、WORD(字)、DWORD(双字)、QWORD(四字)、TBYTE(十字)等,表示数据区中存取操作对象的大小。例1编写一个两字相加的程序。DSEGSEGMENT;定义数据段DATA1DW1234H;定义被加数DATA2DW5678H;定义加数D

6、SEGENDS;数据段结束ESEGSEGMENT;定义附加段SUMDW2DUP(?);定义存放结果区ESEGENDS;附加段结束CSEGSEGMENT;定义代码段;下面的语句说明程序中定义的各段分别用哪个段寄存器寻址ASSUMECS:CSEG,DS:DSEG,ES:ESEGSTART:MOVAX,DSEG;START为程序开始执行的启动标号MOVDS,AX;初始化DSMOVAX,ESEGMOVES,AX;初始化ESLEASI,SUM;存放结果的偏移地址送SIMOVAX,DATA1;取被加数ADDAX,DATA2;两数相加MOVES:[SI],AX;和送附加段的SUM单元中H

7、LTCSEGENDS;代码段结束ENDSTART;源程序结束DATASEGMENTDA1DB12H;定义一个字节数据DA2DD0FEDCBA90H;定义一个双字数据DA3DW5678H;定义一个字数据DATAENDS2)助记符汇编语言语句中的第二个组成部分是助记符(Memonic)。在指令语句中的第二部分是CPU指令系统中指令的助记符,例如:MOVADC等等。助记符约有90多种,在第四章中已经进行了详细的讨论。在伪指令语句中的第二部分是伪指令的定义符,例如:DB、SEGMENT、ENDS、END等都是伪指令定义符。

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

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

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