欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

3.4 定义数据

3.4 定义数据

知识点:
  1.内部数据定义
    BYTE                 8位无符号整数
    SBYTE                8位有符号整数
    WORD                 16位无符号  (实地址模式近指针)
    SWORD                16位有符号
    DWORD                32位无符号(保护模式近指针)
    SDWORD               32位有符号
    FWORD                48位整数
    QWORD                64位整数
    TBYTE                80位整数
    REAL4                32位IEEE短实数
    REAL8                64位IEEE长实数
    REAL10               80位IEEE扩展精度实数
  2.数据定义语句
   [名称] 数据定义伪指令 初始值[,初始值] ...
   数据定义语句至少要有一个初始值或者“?” 符号。
   3.定义BYTE和SBYTE数据
   value1 BYTE 'A'
   value2 BYTE 0
   value3 BYTE 255
   value4 SBYTE -128
   value5 SBYTE +127
   value6 BYTE ?  ;未初始化
   
  DB伪指令:
   val1 DB 255
   val2 DB -128 
   
   无法区分有符号数据和无符号数据
  多个初始值:  list BYTE 10,20,30,40
  并非所有的数据定义都需要标号:   
                list BYTE 10,20
                     BYTE 30,40
                     
   可以同时使用不同进制的数字
   list1 BYTE 10,32,41h,00100010b
   list2 BYTE 0AH,20h,'A',22h
   4.定义字符串 
     greeting1 BYTE "Good afternoon",0 ; 空字符结尾的字符串
     greeting BYTE "Welcome to the encryption demo program"
              BYTE "created by KIP",0dh,0ah
              BYTE " if you wish",0
      以上是连续字符串,中间夹杂回车换行。
     行延续符:      greeting \
                     BYTE "welcome to the encry"
     DUP 操作符:
             BYTE 20 DUP(0)         ;20个0
               BTTE 20 DUP(?)          ;20 字节,未初始化
               BYTE 4  DUP("STACK")    ;4 个STACK
    5.定义WORD,SWORD
  
      word word 65525
       word2 sword -32768
       word3 word ?
       DW 指令:
       val1 DW 65525   ;无符号 
       val2 DW -32768  ;有符号
       字数组:
        mylist word 1,2,3,4  ; 每个2字节
        array word 5 dup(?)
      5.DWORD  SDWORD
       val1 dword   12345678h
       val2 sdword  -2147483648
       val3 dword   20 dup (?)
       DD伪指令
       VAL1 DD 12345678
       mylist DWORD 1,2,,3  每个4字节
 6.QWORD
       quad1 qword 1111111111111111h
       quad1 dq  1111111111111111h
     7.TBYTE 
       val1 TBYTE 111111111111111111h ; 80 bit
       val1 dt    1111111          ; 80 bit
     8 定义实数
       rval1  REAL4  -2.1           ;单精度,有效位数 6,范围 1.18E-38 ---------3.40E+38 
       rval2  REAL8  3.2E-260       ;双精度, 有效位数15,范围2.23E-308----------1.79E+308
       rval3  REAL10 4.6E+4096      ;扩展精度,有效位数19,范围3.37E-4932 -------1.18E+4932
      老版本用DD,DQ,DT定义实数
     9.小尾顺序
      最低有效字节存储在地址值最小的地址单元。
      12345678H,在内存中的实际存储时78563412.
     10.带变量的程序
      

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途。
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功