zoukankan      html  css  js  c++  java
  • 汇编知识点-数据定义

    定义内部数据类型

      类型

        BYTE,SBYTE,WORD,SWORD,DWORD,SDWORD,

        FWORD(48位整数,保护模式下用作远指针)

        QWORD(64位整数,8字节), TBYTE(80位整数,10字节)

        REAL4(32位,IEEE短实数),REAL8,REAL10

        举例: val5 DWORD 12345678h

        数据定义语句要指定至少一个初始值,多个初始值以逗号隔开.若不想初始化,可以用符号"?"作为初始值.

        

        定义数组:  

        array1 BYTE 10, 20, 30, 40

             BYTE 50, 60, 70, 80                   ;可定义多行

           array2 BYTE 10, 32, 41h, 00100010b        ;不同基数可混用

           array3 BYTE 0Ah, 20h, 'A', 22h          ;不同基数,字符,字符串可混用                      

        定义字符串

         greeting1 BYTE "Good afternoon", 0           ;可以空字符结尾 

                  greeting2 BYTE "this is the first"        ;可定义多行

               BYTE "string i created.", 0dh, 0ah,     ;换行符/r/n --> 0dh, 0ah

                                 BYTE "ok, end.", 0         ; 结束 

         

        DUP操作符.

        未多个数据项分配空间

        array1 BYTE 20 DUP(0)    ; 20字节, 全部等于0

        array2 BYTE 20 DUP(?)    ; 20字节, 未初始化 

        array4 BYTE 3   DUP("stack")   ; 15字节, "stackstackstack"

        

        小尾和大尾顺序(little endian, big endian)

        小尾:最低有效字节存储在地址值最小的地址单元.   

          12345678h的存储:  0000: 78, 0001: 56, 0002: 34, 0001: 12

        未初始化数据的声明

        ".DATA?"伪指令用于声明未初始化数据.定义大块数据时非常有用.减小编译体积.

        .data?

        bigArray DOWRD 5000 DUP(?)       ; 20000字节.未初始化.  

        

                编译前计算数组和字符串大小: '$', 当前地址值,byte单位

        list BYTE 10, 20, 30, 40

        listSize = ($ - list)

        EQU伪指令,

        用于编译阶段定义.equ不可重复定义.

        PI EQU <3.1415926>

        printMe EQU <"my name is fei">

        val1 EQU <100h + 200h>  

        val2 WORD val1

        TEXTEQU文本宏伪指令

        count TEXTEQU 5

        move TEXTEQU <mov>

        setAL TEXTEQU <move, al, count>

        setAL将被汇编成:mov, al, 5

        

        

  • 相关阅读:
    最后一周作业
    第十四,十五周作业
    第七周作业
    第六周作业
    第四周作业
    第三周作业
    第二周作业
    二学期第三次作业
    二学期第二次作业
    二学期第一次作业
  • 原文地址:https://www.cnblogs.com/flytrace/p/3232926.html
Copyright © 2011-2022 走看看