③表达式是伪指令的操作
数,它可以是数值表达式、地址表达式、ASCII码表达式、?表达式或n DUP表达式。说明如下:
●数值表达式
数据在存储区中存放时,左边的数据项占较小地址,右边的数据项占较大的地址;对于非DB定义的数据,高位字节占据较大地址,低位字节占据较小地址。
●地址表达式
地址表达式的运算结果是一个地址,因而只能使用伪指令DW和DD。这时,存储单元中存放的是存储器的地址值。如果使用DW,则存放的是段内地址偏移量;如果使用DD,则存放段地址和地址偏移量。
●ASCII码字符串表达式
使用伪指令DB可以定义用单引号括起来的字符串,它为字符串的每个字符分配一个存储单元,并依字符串从左到右的顺序,将字符的ASCII码按地址递增顺序放在内存中
●?表达式
表达式?号时,表示符号名无确定值。汇编程序遇到?号时,它仍然为数据项分配存储单元,但不对它初始化。
●n DUP(?)
格式:数值表达式 DUP 项或项表
数值表达式的值表示重复的次数,其各项必须预先定义。项或项表表示重复内容,可以是?、数值、数值表达式、字符或重复子句。项表中的各项用逗号隔开。
当重复子句为DB、DW、DD、DQ和惟一操作数且项为?时,将不初始化数据区,该数据氏的原存信息保持不变。当重复句是惟一操作数时,定义的变量具有LENGTH和SIZE属性。
3.标号定义伪指令
格式:符号名 LABEL 类型
功能:将紧跟在本伪指令语句后的标号、操作码、过程或变量建立新的符号名,并刷新其类型属性。对标号、操作码或过程,其类型为NEAR、FAR;对变量,其类型为BYTE、WORD、DWOBD、FWORD、QWORD或TBYTE。
说明:LABEL伪指令提供了另一种定义标号或变量名的方法,但它并不为符号名分配存储空间 。
4.段定义语句
8086/8088的存储器是分段的,因此使用段定义语句来组织程序和利用存储器。常用的段定义伪
指令有:SEGMENT、ENDS、ASSUME、ORG、PAGE、PUBLIC、TITLE、SUBTTL等。
(1)SEGMENT和ENDS
SEGMENT和ENDS语句将汇编语言源程序分成段。
格式:
段名 SEGMENT[定位类型][组合类型][‘类别’]
┆
语句段
┇
段名 ENDS
说明:段名是由自己指定的为该段起的名字。定位类型、组合类型是给段名的属性,用来指出汇编程序为该段分配的存储器的起始地址;类别名则指出段的类别。用方括号括起来的项可以缺省。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |