win32彙編 資料型別及定義
阿新 • • 發佈:2019-01-10
複製自萬一老師的部落格:http://www.cnblogs.com/del/archive/2010/04/04/1704218.html
型別描述 | 型別 | 縮寫 | 位數 | 位元組數 | 浮點數有效位 | 數值範圍 |
---|---|---|---|---|---|---|
位元組 | BYTE | DB | 8 | 1 | 0..255 | |
有符號位元組 | SBYTE | DB | 8 | 1 | -128..127 | |
字 | WORD | DW | 16 | 2 | 0..65535 | |
有符號字 | SWORD | DW | 16 | 2 | -32768..32767 | |
雙字 | DWORD | DD | 32 | 4 | 0..4294967295 | |
有符號雙字 | SDWORD | DD | 32 | 4 | -2147483648..2147483647 | |
遠字 | FWORD | DF | 48 | 6 | ||
四字 | QWORD | DQ | 64 | 8 | ||
十位元組 | TBYTE | DT | 80 | 10 | ||
單精度浮點數 | REAL4 | 32 | 4 | 6 | 1.18*10-38..3.40*1038 | |
雙精度浮點數 | REAL8 | 64 | 8 | 15 | 2.23*10-308..1.79*10308 | |
10位元組浮點數 | REAL10 | 80 | 10 | 19 | 3.37*10-4932..1.18*104932 |
進製表示(其中的 d t b y q o h 不區分大小寫):
; Test5_1.asm .386 .model flat, stdcall include windows.inc include kernel32.inc include masm32.inc include debug.inc includelib kernel32.lib includelib masm32.lib includelib debug.lib .data v1 dd 10 ;十進位制 v2 dd 10d ;十進位制(Decimal) v3 dd 10t ;十進位制 v4 dd 10b ;二進位制(Binary) v5 dd 10y ;二進位制 v6 dd 10q ;八進位制 v7 dd 10o ;八進位制(Octal) v8 dd 10h ;十六進位制(Hexadecimal) v9 dd 0ah ;十六進位制; 如果第一位不是數字應前置 0 .code start: PrintDec v1 ;10 PrintDec v2 ;10 PrintDec v3 ;10 PrintDec v4 ;2 PrintDec v5 ;2 PrintDec v6 ;8 PrintDec v7 ;8 PrintDec v8 ;16 PrintDec v9 ;10 ret end start
浮點數:
; Test5_2.asm .386 .model flat, stdcall include windows.inc include kernel32.inc include masm32.inc include debug.inc includelib kernel32.lib includelib masm32.lib includelib debug.lib .data v1 real8 3.14 v2 real8 3. v3 real8 3.14E2 .code start: PrintDouble v1 ;3.14 PrintDouble v2 ;3 PrintDouble v3 ;314 ret end start
常量、可賦初值的變數、不賦初值的變數:
; Test5_3.asm
.386
.model flat, stdcall
include windows.inc
include kernel32.inc
include masm32.inc
include debug.inc
includelib kernel32.lib
includelib masm32.lib
includelib debug.lib
.const ;常量
v1 dd 11
.data ;可賦初值的變數, 其中也可宣告不不賦初值的變數
v2 dd 22
v3 dd ?
.data? ;不賦初值的變數
v4 dd ?
.code
start:
PrintDec v1 ;11
PrintDec v2 ;22
PrintDec v3 ;0
PrintDec v4 ;0
mov eax, 33
mov v3, eax
mov eax, 44
mov v4, eax
PrintDec v1 ;11
PrintDec v2 ;22
PrintDec v3 ;33
PrintDec v4 ;44
ret
end start
彙編中的識別符號(變數名、常量名、過程名、標號)可以使用下面符號:
A-Z a-z 0-9 _ @ $ ?
但第一個字元不能是數字(0-9), 長度不要超過 239 個字元.