組合語言基礎

2021-09-02 06:32:16 字數 2166 閱讀 1457

1. 資料格式

26d 十進位制

1ah 十六進製制

42/o/g 八進位制

以字母開頭的十六進製制常量前面必須加乙個0,以防止彙編器將其解釋為識別符號

2. 盡量在表示式中使用圓括號顯式表明運算順序

3. 彙編器大量使用@符號做為預定義符號的字首,因此應盡量避免在自己定義的標誌符前用@,但@@myfile為有效

4. 指令

movadd

submul

jmpcall

5. 匯程式設計序模板

; 注釋

;注釋include irvine32.inc

.data

;在此插入變數

.code

main proc

; 在此插入可執行**

exit

main endp

; 在此插入其它子程式

end main

6. byte 8位無符號數

sbyte 8位有符號數

word 16位無符號數

sword 16位有符號數

dword 32

sdword 32

fword 48

qword 64

tbyte 80

real4 32位短實數

real8 64位長實數

real10 80位實數

7. 資料定義偽指令

db 定義8位有符號或無符號整數

dw 定義16位有符號或者無符號數

dd 32bit

dq 64bit

dt 80bit

8 初始值有多個的話,以逗號分割,不想初始化,可以使用符號"?"

9. 陣列

list byte 10,20,30,40

0000: 10

0001: 20

0002: 30

0003: 40

可以使用的不同的資料格式

list byte 10,32,41h,00100010b

10, 定義字串, 以0空字串結尾的

greeting byte "good afternoon",0

每個字元佔乙個位元組

字串可以多行,

greet byte "test"

byte "lll"

byte "ddd", 0dh,0ah,0

0dh,0ah,回車換行

11 dup

dup 操作符使用乙個常量為多個資料項分配儲存空間

byte 20 dup(0), 20個位元組,全部等於0

byte 20 dup(?), 20個位元組,未初始化

byte 4 dup("stack" 20個位元組 「stackstackstackstack"

12 mylist word 1,2,3,4,5 間隔為2

0000:1

0002:2

0004:3

0006:4

0008:5

mylist dword 1,2,3,4,5 間隔為4

13, 小尾順序, 最低的有效位元組儲存在位址值最小的位址單元裡

12345678h

0000 78

0001 56

大尾方式

0000 12

0001 34

14 未初始化的資料

.data? 偽指令可用於宣告未初始化的資料

15 cout = 500

在重新編譯時,使用count的地方都被替換成500

16, 計算陣列的大小

list byte 10,20,30,40

listsize = ($-list)/資料型別間隔

byte 為1

word 為2

dword 為4

計算大小要緊跟陣列宣告後

以下錯誤

list byte 10,20,30

var byte 20 dup(?)

listzie=($-list)/1

listsize 已經包含了var的儲存空間

17 equ textequ

pi equ <3.1415>

presskey equ <"ssss">

.data

prompt byte presskey

continue textequ <"do you wiant ">

組合語言基礎

暫存器 暫存器是處理器內部的高速緩衝區,用於暫時存放資料。暫存器的分類 透明暫存器 這類暫存器不需要程式設計師進行操作。可程式設計的暫存器 這是我們程式設計師需要學習的這類暫存器又分為通用暫存器和專用暫存器 32位通用暫存器 eax ebx ecx edx edi esi ebp esp 16位通用...

組合語言基礎

標誌暫存器flags of df iftf sfzf afpf cf標誌暫存器flags cf 進製標誌 pf 奇偶標誌 af 調整標誌 zf 零標誌 sf 符號標誌 of 溢位標誌 df 方向標誌 if 中斷允許標誌 tf 陷阱標誌 r8 r16 任意乙個8 16位通用暫存器 reg代表r8或r1...

彙編 1 2 組合語言基礎

1.彙編工作過程 程式設計師 彙編指令 編譯器 機器碼 計算機 2.組合語言組成 1 彙編指令 機器碼助記符,有對應的機器碼。2 偽指令 沒有對應的機器碼,由編譯器執行,計算機不執行。3 其他符號 如 等,編譯器識別,沒有對應的機器碼。組合語言的核心就是機器碼!3.儲存器 在一台pc機中,記憶體的作...