第八节 80x86宏汇编语言的数据和表达式
(一)常数
在宏汇编中,允许使用的常数有:
● 二进制常数
● 十进制常数
● 八进制常数
● 十六进制常数
● 十进制科学记数法
● 串常数
(二)变量
变量用于定义存储器中的数据,这些数据在程序运行过程中可随机修改。为了便于对变量的访问,变量常常以变量名的形式出现在程序中。变量名可以认为是存放数据的存储单元号地址。变量的三个属性是:
(1)段属性
指变量所在段的段基址。
(2)偏移地址属性
指变量所在段中的偏移量,即变量所在地址与段基址之间的字节距离。
(3)类型属性
指变量占用存储单元的字节数。占用1个字节的称为字节变量,其类型BYTE;占用2个字节的称为字变量,其类型为WORD;占用4个字节的称为双字变量,其类型为DWORD。此外,还有8字节(即4个字)变量和10字节变量,它们分别占用8个字节存储单元和10个字节存储单元,其类型为QWORD和TBYTE。
变量可以用伪指令DB、DW、DD、DZ、DT进行定义。
(三)标号
标号是给指令性语句所在地址取的名字,和变量一样,标号有三个属性:
(1)段属性
(2)偏移地址属性
(3)类型属性
(四)表达式和运算符
宏汇编中有三种运算符:算术运算符、逻辑运算和关系运算符。
1.算术运算符
算术运算符包括加(+)、减(-)、乘(*)、除(/)、模除(MOD)、左移(SHL)和右移(SHR)七种。+、-、*、/是常用的运算符,参加运算的数和运算结果均为整数。除法运算的结果取商的整数部分,而模除的运算结果只取它的余数。左移或右移运算符可使二进制数左移或右移若干位,相当于二进制数进行乘法或除法运算,因此也把它们作为算术运算符。
2.逻辑运算符
逻辑运算符包括AND(与)、OR(或)、XOR(异或)、NOT(非)四种。它们只适用于对常量进行逻辑运算。注意,表达式中的逻辑运算符只能出现在语言的操作数部分并且是在汇编时完成运算的。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |