1. 什么是变量(Variable)
变量可以随着程序的运行发生变化的量,保存在主存空间中,变量需要事先定义才能使用,变量本质上就是主存单元里的数据,主存是可读可写的,所以变量可以发生改变。变量有别于常量,常量是写在指令里的,不占主存空间。
2. 变量定义的格式
变量名 伪指令助记符 变量初值表
- 变量名:变量名是用户标识符,用户定义的,本质上是首元素的逻辑地址,有了变量名后,在其后的程序中就可以更加方便的使用了。
- 伪指令助记符:
byte word dword...
分配一个或多个数据空间,其中每个数据的大小分别为1、2、4字节。 - 变量初值表:变量定义本质上是申请空间,初值表可以给变量赋予初值,初值表可以有一到多个初值,用逗号分开,其中初值是各种常量的形式,使用
?
代表初始不确定,即未赋初值。使用DUP可以表示多个同样数值,例如10 DUP(5)
,将5重复10次。
3. 8位变量定义
举例:
bvar byte 0,128,255,-128,0,+127,38h,?
一共有8个参数,则在主存中分配8个byte的空间,bvar代表元素0的地址,也就是第一个元素的地址,?代表开辟空间,但无初值,一般用0填充。
bvar1 byte 5 dup('10')
;相当于
bvar2 byte 10,10,10,10,10
也就是把10复制了5遍
str byte 'hello',13,10,0
定义字符串,其中13是回车ASCII码,10是换行ASCII码,0代表字符串结束。
16位和32位的定义方式类似于8位,就不详细说啦。