变量

来源:互联网 发布:当当阅读器知乎 编辑:程序博客网 时间:2024/04/29 11:41

 1、变量常用类型缩写

  字节          byte             db

  字              word           dw

  双字          dword         dd

  注:

    • 缩写第一个字母表示 data,第二个字母表示类型首字母。

    • 型缩写只能用在全局变量的定义中。

2、变量作用域类型

  2.1、全局变量

    varName  Type  ?

    varName  Type  initValue

    varName  Type  initValue1,initValue2,initValue3,...

    varName  Type  count DUP( initValue)

    varName  Type  count DUP( initValue1,initValue2,initValue3,...)

    注:

      • 没有初始化的全局变量的默认值是 0。

  2.2、局部变量

    Local   varName1 , varName2:Type1 , varName3[count]:Type2 , ...

    注:

      • 局部变量在定义是不能指定初始值。

      • 没有初始化的局部变量的默认值是 随机数。

      • Win32默认的数据类型是dword

  2.3、Mnemonic

    名称、类型和数量,名称、数量和类型。

3、变量值的存储格式

  3.1、小尾序储存

     把每一个变量值为排序集合,以变量值包含的字节(两位十六进制数字)为排序元素,倒序排列储存。

  3.2、小尾序实例

      bTest1       db       12h

      wTest2       dw       1234h

      dTest3       dd       12345678h

     内存中为:

     12    34    12       78    56       34    12

4、变量的大小、数量和地址

  4.1、大小和数量伪指令

    TYPE    返回变量和数组中单个元素的字节大小

    LENGTHOF   返回数组中元素的数量

    SIZEOF   返回变量或数组的字节总数

  4.2、变量地址指令和伪指令

    OFFSET   伪指令,获取全局变量地址

    lea    80386指令,获取局部变量地址

    ADDR    伪指令,只能用在invoke中获取全局或局部变量地址

  4.3、使用等号伪指令获取变量字节长度的技巧

    list  byte 10,11,13,16

    listSize = ($-list)

 

 

 

原创粉丝点击