80X86学习笔记--汇编语言的语句

(1)语句的种类和格式

1.语句的种类

指令语句和伪指令语句两类,指令语句有着与其对应的机器指令,伪指令语句没有与其对应的机器指令,只是指示汇编程序如何汇编源程序,包括符号的定义,变量的定义,段的定义。

2.语句格式

指令语句和伪指令语句的格式相似,都由四部分组成。

格式:

[标号] 指令助记符 [操作数] [;注释]

 

伪指令语句格式:

[名字] 伪指令定义符 [参数…,参数] [;注释]

一般伪指令语句都有参数,用于说明伪指令的操作对象,有时参数是常数(数值表达式),有时参数是一般符号,有时是具有特殊意义的符号。

标号和名字一般最多由31个字母,数字及规定的特殊字符(?@$)等组成,并且不能用数字开头。

汇编语言中的保留字主要是指令助记符,伪指令的ing一符和寄存器名,还有一些其他的特殊保留字。

汇编程序不区分保留字中字母的大小写。

(2)数值表达式

表达式分为数值表达式和地址表达式。

1.常数

常数有多种类型和表达式,常用类型和表示方式如下:

(1)十进制常数

可以用字母D结尾例:248D,通常轻快下,常数用十进制表示,所以表示十进制常数一般不加后缀字母D。

汇编语言提供改版基数的伪指令:RADIX

例:

MOV BX, 0FFH

MOV BX , 178

RADIX 16

MOV BX, 0FF

MOV BX, 178D

(2)十六进制数

必须以H结尾,为了避免与普通符号的混淆,16进制必须以数字开头,所以,凡是以字母开头的十六进制数,必须在前面加一个0.

(3)二进制常数

必须以字母B结尾。

(4)八进制常数

必须以Q结尾。

(5)字符串常数

一个字符串常数是用引号括起来的一个或多个字符。串常数的值是包括在引号中字符ASCII代码值,因此串常数与整常数有时可以交替使用。

2.算术运算符

+ – */ MOD

3.关系运算符

EQ NE LT GT LE GE 运算结果是一个数字值,若关系不成立为0,若关系成立则结果为0FFFFH。

4.逻辑运算符

AND OR XOR NOT SHL SHR

逻辑运算结果是数值。

5.在数值表达式中使用的操作符

(1)HIGH

格式:

HIGH 数值表达式

结果是数值表达式值的高8位,优先级高于+ -

(2)LOW

6.运算符和操作符的优先级

由高到低排列如下;

(1)圆括号 尖括号 方括号 圆点符 LENGTH SIZE WIDTH MASK 其中,尖括号使用于记录中,圆点符使用于结构中。

(2)PTR OFFSET SEG TYPE THIS 冒号(用于表示段超越前缀)

(3)* / MOD SHL SHR

(4)HIGH LOW

(5)+ -

(6)EQ NE LT LE GT GE

(7)NOT

(8)AND

(9)OR XOR

(10)SHORT

(3)地址表达式

地址表达式表示的是存储器操作数的地址。

单个标号 变量 和 右方括号扩起的基址火变址寄存器是地址表达式的特例。

在一个存储地址上加一个或减一个数字量,结果仍为存储器地址。

posted @ 2012-04-03 10:47  xxx1  阅读(377)  评论(0编辑  收藏  举报