汇编语言数据表示

  • 数据表示和寻址

变量:随程序运行会发生变化的数据,保存在可读可写的主存空间。

1、变量类型

字节量数据:用BYTE定义的8位字节量数据。(对应c语言中的char类型数据)
字量数据:用WORD定义的16位字量(对应c语言中的short类型数据)
双字量数据:用DWORD定义的32位双子量数据(对应c语言中的long类型数据)占用连续4个存储空间
2、变量定位
变量定义的存储空间是按照书写的先后顺序一个接着一个分配的,但是可以通过伪指令控制其存放的偏移地址。
(1) ORG指令
ORG伪指令将参数表达的偏移地址作为当前的偏移地址,格式为:ORG 参数
(2) ALIGN指令
多字节数据的存放不仅涉及到大端存放和小端存放,还涉及到边界是否对其的问题。为了获得更好的性能,常要进行地址边界对齐。格式ALIGN N 其中N是对其边界的值。
3、变量属性
变量已经定义便具有两个属性:地址属性和类型属性
地址属性指的是首个变量所在的存储单元的逻辑地址
类型属性就是变量定义的数据单位,有字节量、字量、双字量、3字量、4字量和10字节量。依次使用类型名BYTE WORD DWORD QWORD TBYTE表示。
常用的地址和类型操作符
地址操作符:主要用于获取变量名的地址,主要有SEG和OFFSET,分别获取变量名的段地址和偏移地址。操作符$代表当前的偏移地址值,即前一个存储单元分配后当前可分配的存储单元的偏移地址。
变量名具有逻辑地址数据段中直接使用变量名代表他的偏移地址
类型操作符:主要使用变量名的类型属性,类型操作符PTR用于更改变量名的类型以满足对操作数类型的要求。还可以用lengthof操作符获取某变量名只想多少个数据项,用sizeof操作符获取变量占用多少字节的空间,也就是SIZEOF值=TYPE值Xlengthof值.对于字节变量和ASCII字符变量,lengthof和sizeof的结果相同。
4、数据存放方式
小端方式:高字节数据保存在高地址存储单元、低字节数据存放在低地址存储单元
大端方式:高字节数据存放在地地址存储单元、低字节数据存放在高地址存储单元

猜你喜欢

转载自blog.csdn.net/Clown_pan/article/details/85009364
今日推荐