41汇编语言格式42语句行构成43指示性语句[Directive.ppt
文本预览下载声明
4.1 汇编语言的格式
4.2 语句行的构成
4.3 指示性语句(Directive statements)
4.4 指令语句
4.5 汇编语言程序设计及举例;4.1 汇编语言的格式;NAME2 SEGMENT
语句
.
.
.
语句
NAME2 ENDS
.
.
.
END 〈标号〉
; 每一个段有一个名字,以符号SEGMENT作为段的开始,以语句ENDS作为段的结束。这两者都必须有名字,而且名字必须相同。
由若干个段组成一个源程序,整个源程序以语句END作为结束。
总之,8086的源程序是由若干段组成的,而一个段又是由若干个语句行组成的。所以,语句行是汇编语言源程序的基础。;4.2 语句行的构成;4.2.1 标记(Token)
1.IBM宏汇编的字符集
IBM宏汇编中所使用的字符集仅是ASCII和EBCDIC(扩展的BCD码)字符集的一个子集。它由以下几部分组成:
(1)字母
(2)数字
(3)特殊字符
2.界符(Delimiters)
界符是一些特殊字符,利用它们可以表明某个标记的结束,它们本身也有一定的意义,这一点就与分隔符(空格)不同。;3.常量(Constants)
凡是出现在8086源程序中的固定值(它在程序运行期间不会变化),就称为常量。
IBM宏汇编中允许的常量有数字常量和字符串常量两种。
(1)数字(整数)常量
① 二进制常量
以字母B结尾的由一串“0”和“1”组成的序列。例如。
② 十进制常量
由若干个0到9的数字组成的序列,可以以字母D作结尾,或没有任何字母作结尾。例如,1234D或1234。
; ③ 八进制常量
以字母Q结尾,由若干个0到7的数字组成的序列。例如255Q、377Q等。
④ 十六进制常量
以字母H结尾,由若干个0~9的数字或A~F的字母所组成的序列。
为了避免与标识符相混淆,十六进制数在语句中必须以数字打头。所以,凡是以字母A~F开始的十六进制数,必须在前面加上数字0。例如56H、0BA3FH等。; (2)字符串常量
字符串常量是由包含在单引号内的1至2个ASCII字符构成的。汇编程序把它们表示成一个字节序列,一个字节对应一个字符,把引号中的字符翻译成它的ASCII码值。例如‘A’等价于 41H,‘AB’等价于4142H。;4.标识符(Identifiers)
标识符是由程序员自由建立起来的、有特定意义的字符序列。
一个标识符是由最多为31个字母、数字及规定的特殊字符(? @ _ $)等组成的,且不能用数字打头(以免与十六进制数相混淆)。
5.保留字(Reserved words)
保留字看上去像标识符,但是它们在语言中有特殊的意义,而且不能用它们作为标识符。实际上凡是8086的指令助记符、汇编语言中的命令(伪指令)、寄存器名等都是保留字。;6.注释(Comment)
为了使汇编语言的源程序更便于阅读和理解,常在源程序中加上注释。注释是在分号(;)后面的任意的字符序列,直到行的结尾。在汇编时,汇编程序对它们并不进行处理。在可打印的文件中,注释和源程序一起打印。;4.2.2 符号(Symbol)
在汇编语言源程序中,为了使程序更具有普遍性,及便于程序的修改,用户常用符号(Symbol)等代替存储单元、数据、表达式等等。
在实际使用中的符号可以分成五类,即寄存器、变量、标号、数、其它。
每个符号都具有一定的属性,以允许汇编程序使用它来代表所需的信息。
;4.2.3 表达式(Expressions)
表达式是由上面讨论过的标记(Token)、符号(Symbol)通过运算符组合起来的。
1.操作数(Operands)
一个操作数或者是一个寄存器名,或是一个常量(数字常量或字符串常量),或是一个存储器操作数。
(1)常量操作数
(2)存储器操作数
;2.运算符(Operators)
① 算术运算符(Arithmetic Operators);
② 逻辑运算符(Logical Operators);
③ 关系运算符(Relational Operators);
④ 分析运算符(Analytic Operators);
⑤ 合成运算符(Synthetic Operators);
;4.2.4 语句(Statements)
一个汇编语言的源程序是由一条条语句组成的,语句就是完成一个什么动作的说明。;4.3 指示性语句(Directive statements);4.3.2 数据定义语句
数据定义语句,为一个数据项分配存储单元,用一个符号名与这个存储单元相联系,且为这个
显示全部