汇编 整数变量 浮点数变量 符号常量
生活随笔
收集整理的這篇文章主要介紹了
汇编 整数变量 浮点数变量 符号常量
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
數據定義語句
[name] directive initializer [, initializer]
| BYTE | 8位無符號整數,B代表字節 |
| SBYTE | 8位有符號整數,S代表字節 |
| WORD | 16位無符號整數 |
| SWORD | 16位有符號整數 |
| DWORD | 32位無符號整數,D代表雙(字) |
| SDWORD | 32位有符號整數,SD代表有符號雙(字) |
| FWORD | 48位整數(保護模式的遠指針) |
| QWORD | 64位整數,Q代表四(字) |
| TBYTE | 80位整數,T代表10字節 |
| REAL4 | 32位IEEE短實數 |
| REAL8 | 64位IEEE長實數 |
| REAL10 | 80位IEEE擴展實數 |
-
名字
- 符合標識符的規范
-
偽指令
偽指令用法 DB 8位整數 DW 16位整數 DD 32位整數或實數 DQ 64位整數或實數 DT 80位整數 -
初始值
- 至少有一個初始值,即使值為0;若有多個值,用,隔開;若不進行初始化,則用?代替
byte和sbyte
value1 byte 'A' value2 byte 0 value3 byte 255 value4 sbyte -128 value5 sbyte +127 value6 byte ? val1 db 255 val2 db -128;多初始值 list byte 10, 20, 30, 40 list1 byte 10, 20, 30, 40byte 50, 60, 70, 80 list2 byte 10, 32, 41h, 00100010b list3 byte 0Ah, 20h, 'A', 22h;字符串 greeting1 byte "Good afternoon", 0 greeting2 byte 'Good afternoon', 0 greeting3 byte "Welcome to the Encryption Demo program "byte "created by Kip Irvine.", 0dh, 0ahbyte "If you wish to modify this program, please "byte "send me a copy.", 0dh, 0ah, 0 ; CR/LF(回車換行) greeting4 byte "welcome to the Encryption Demo program " ;等價 greeting4 \byte "welcome to the Encryption Demo program";DUP操作符 ; byte 20 dup(0) ; 20個字節,初始化為0 ; byte 20 dup(?) ; 20個字節,未初始化 ; byte 4 dup('stack') ; 20個字節:'stackstackstackstack'word和sword
word1 word 65535 word2 sword -32768 word3 word ? val1 dw 65535 val2 dw -32768 myList word 1, 2, 3, 4, 5 array word 5 dup(?) ; 5個數值,未被初始化dword和sdword
val1 dword 12345678h val2 sdword -2147483648 val3 dword 20 dup(?) val1 dd 12345678h val2 dd -2147483648pVal dword val3myList dword 1, 2, 3, 4, 5qword
quad1 qword 1234567812345678h quad2 dq 1234566443356776h壓縮BDC(TBYTE)數據
- 除了最高字節外,每個字節存放兩個十進制數,高4位存一個,低4位存一個
- 最高位存放該數的符號,80h為負數,00h為正數
- -999, 999, 999, 999, 999, 999~+999, 999, 999, 999, 999, 999
| +1234 | 34 12 00 00 00 00 00 00 00 00 |
| -1234 | 34 12 00 00 00 00 00 00 00 80 |
浮點數據
rVal1 real4 -1.2 rVal2 real8 3.2E-260 rVal3 real10 4.6E+4096 shortArray real4 20 dup(0.0)rVal1 dd -1.2 rVal2 dq 3.2E-260 rVal3 dt 4.6E+4096| 短實數 | 6 | 1.18?10?381.18 * 10^{-38}1.18?10?38~3.40?10383.40 * 10^{38}3.40?1038 |
| 長實數 | 15 | 2.23?10?3082.23 * 10^{-308}2.23?10?308~1.79?103081.79 * 10^{308}1.79?10308 |
| 擴展精度實數 | 19 | 3.37?10?49323.37 * 10^{-4932}3.37?10?4932~1.18?1049321.18 * 10^{4932}1.18?104932 |
小端順序
- 低字節存放在低位置,高字節存放在高位置
聲明未初始化數據
-
減少編譯程序的大小
.data? bigArray dword 5000 dup(?)
代碼與數據混合
.code mov eax, ebx .data temp dword ? .code mov temp, eax符號常量
-
=
name = expression
COUNT= 500
- 當前地址計數器 $
selfPtr dword $
- 鍵盤定義
Esc_key = 27
-
array dword COUNT dup(0)
-
重定義
- 計算數組和字符串的大小
-
equ
name equ expression【有效整數表達式】
name equ symbol【已定義的符號】
name equ <text>【任何文本】Pi equ 3.1415926
pressKey equ <"Press any key to continue...", 0> .data prompt byte pressKeymatrix1 equ 10 * 10 matrix2 equ <10 * 10> .data M1 word matrix1 M2 word matrix2- 不能重定義
-
textequ
name textequ <text>
name textequ texmacro
name textequ %constExpr
continueMsg textequ <"Do you wish to continue (Y/N)?"> .data prompt1 byte continueMsgrowSize = 5 count textequ %(rowSize * 2) move textequ <mov> setupAL textequ <move al, count>
總結
以上是生活随笔為你收集整理的汇编 整数变量 浮点数变量 符号常量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 汇编 整数常量 实数常量 字符常量 字
- 下一篇: visual studio 64位汇编