彙編 整數變數 浮點數變數 符號常量

2021-10-05 09:26:41 字數 4488 閱讀 1161

[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 語言使用定點格式儲存整數,使用浮點格...