[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擴充套件實數
count dword 12345
偽指令偽指令
用法db
8位整數
dw16位整數
dd32位整數或實數
dq64位整數或實數
dt80位整數
初始值
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, 40
byte 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, 0ah
byte "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'
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個數值,未被初始化
val1 dword 12345678h
val2 sdword -2147483648
val3 dword 20 dup(?)
val1 dd 12345678h
val2 dd -2147483648
pval dword val3
mylist dword 1, 2, 3, 4, 5
quad1 qword 1234567812345678h
quad2 dq 1234566443356776h
十進位制數值
儲存位元組
+1234
34 12 00 00 00 00 00 00 00 00
-1234
34 12 00 00 00 00 00 00 00 80
intval tbype 80000000000000001234h
; intval tbyte -1234 ;無效
.data
posval real8 1.5
bcdval tbyte ?
.code
fld posval ; 載入到浮點堆疊
fbstp bcdval ; 向上捨入到2,壓縮bcd碼值
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∗1
0−
381.18 * 10^
1.18∗1
0−38
~3.40∗1
038
3.40 * 10^
3.40∗1
038長實數
152.23∗1
0−
3082.23 * 10^
2.23∗1
0−30
8~1.79∗1
0308
1.79 * 10^
1.79∗1
0308
擴充套件精度實數
193.37∗1
0−
4932
3.37 * 10^
3.37∗1
0−49
32~1.18∗1
04932
1.18 * 10^
1.18∗1
0493
2
.code
mov eax, ebx
.data
temp dword ?
.code
mov temp, eax
selfptr dword $
esc_key = 27
count = 5
count = 10
list byte 10, 20, 30, 40
listsize = ($ - list)
mystring byte "this is along string, containing"
byte "any number of characters"
mystring_len = ($ - mystring)
list word 1000h, 2000h, 3000h, 4000h
listsize = ($ - list) / 2
list word 10000000h, 20000000h, 30000000h, 40000000h
listsize = ($ - list) / 4
equname equ expression【有效整數表示式】
name equ symbol【已定義的符號】
name equ 【任何文字】pi equ 3.1415926
presskey equ <"press any key to continue...", 0>
.data
prompt byte presskey
matrix1 equ 10 * 10
matrix2 equ <10 * 10>
.data
m1 word matrix1
m2 word matrix2
textequ
name textequ
name textequ texmacro
name textequ %constexpr
continuemsg textequ <"do you wish to continue (y/n)?">
.data
prompt1 byte continuemsg
rowsize = 5
count textequ %(rowsize * 2)
move textequ setupal textequ
整數和浮點數
python支援對整數和浮點數直接進行四則混合運算,運算規則和數學上的四則運算規則完全一致。基本的運算 1 2 3 6 4 5 6 14 7.5 8 2.1 3.0375使用括號可以提公升優先順序,這和數 算完全一致,注意只能使用小括號,但是括號可以巢狀很多層 1 2 3 9 2.2 3.3 1.5...
整數與浮點數
整數和浮點數可以一起運算 四則運算 加法 num1 10 num2 0.5 reault num1 num2 print result 10.5 減法result num1 num2 print result 9.5 乘法result num1 mun2 print result 5 除法resul...
c語言整數轉浮點數 浮點數的秘密
我們在學習 c 語言時,通常認為浮點數和小數是等價的,並沒有嚴格區分它們的概念,這也並沒有影響到我們的學習,原因就是浮點數和小數是繫結在一起的,只有小數才使用浮點格式來儲存。其實,整數和小數可以都使用定點格式來儲存,也可以都使用浮點格式來儲存,但實際情況卻是,c 語言使用定點格式儲存整數,使用浮點格...