彙編第5 8章 基礎知識梳理與總結

2022-06-03 23:00:17 字數 2113 閱讀 5286

第五章 [bx]和loop

1.記憶體單元間接表示: [bx]

mov  dl, [0];  dl  ←  ((ds)×16 + 0)

mov  bx, 0

mov  dl, [bx];  dl  ←  ((ds)×16 + (bx))

可以使用bx間接訪問記憶體單元。預設,段位址在ds。

2.loop指令

(1) 語法格式

loop  標號

(2) cpu執行指令過程

① (cx) ← (cx) - 1

② 判斷cx的值是否為0。 如果(cx) ≠ 0,跳轉到標號處執行; 如果(cx) = 0, 執行loop後面的其它指令。

3.段字首

mov dl, [6];  dl  ←  ((ds)×16 + 6)

mov ax, [bx];  ax  ←  ((ds)×16 + (bx))

預設情形下,無論是直接給出的偏移位址,還是通過bx間接給出的偏移位址,都是取ds的值作為段位址來計算實體地址。 可以通過增加「段字首」改變預設狀況。

4.安全記憶體空間

計算機系統記憶體的使用並不是任意的,有些記憶體單元有專用用途,保留有系統重要資料。

① 在8086模式中,00200h ~ 002ffh這段空間一般不會被使用,視作使用者可自由使用的安全空間。

② 現代作業系統大多使用cpu保護模式對記憶體使用進行管理,限制使用者非法訪問一些關鍵記憶體空間。

第六章 包含多個段的程式

① 使用偽指令segment和ends定義邏輯段後,究竟是用作**段、資料段還是棧,由程式設計師指定。

② 使用assume僅僅表示將某個邏輯段和某個段暫存器關聯起來;真正當作特定的段使用,需要在**段中設定相應的段暫存器值,如ds, ss。

③ 段名代表的是段位址,是常數。不能使用mov直接送入段暫存器。

第七章 更靈活的定位記憶體位址方法

1.彙編指令: and和or

and指令:① and指令語法格式及對運算元要求與add指令同

② 可以實現將運算元指定位設定為0

or指令:① or指令語法格式及對運算元要求與add指令同

② 可以實現將運算元指定位設為1

2.彙編中的字元處理

在彙編源程式中:既可以使用諸如『a『這樣的字元寫法,也可以使用ascⅱ碼形式的寫法。

在debug中: a命令中不支援諸如『a『這樣的寫法

e命令中支援諸如『a『這樣的寫法,也支援ascⅱ碼形式的寫法

3.其它靈活的記憶體位址表示

用[bx + idata]表示表示記憶體單元。idata表示常數。

用[si]表示表示記憶體單元。

用[si + idata]表示表示記憶體單元。idata表示常量。

用[di]表示表示記憶體單元。

用[di + idata]表示表示記憶體單元。idata表示常量。

用[bx+di], [bx+si]表示表示記憶體單元。

用[bx+di+idata], [bx+si+idata]表示表示記憶體單元。

第八章 資料處理的兩個基本問題

1.彙編指令中運算元的型別

常數字於cpu內部,指令緩衝器;暫存器位於cpu內部,暫存器;記憶體單元位於cpu外部,記憶體

2.彙編指令中記憶體單元運算元的位址表示

在8086中,可用於表示記憶體偏移位址的暫存器只有: bx, si, di和bp。

這些暫存器可以單個出現在中,也可以以特定組合方式出現。

使用bx, si, di表示偏移位址時,預設段位址在ds中;

使用bp表示偏移位址時,預設段位址在ss中。

3.彙編偽指令: db, dw, dd, dup

data segment

db 1,2,3; 每個資料分配1個位元組

dw 1,2 3; 每個資料分配2個位元組

dd 1,2,3; 每個資料分配4個位元組

data ends

data segment

db 0,0,0,0,0,0,0,0

db 8 dup(0); 預留8個位元組單元,每個單元值為0

dd 8 dup(?); 預留8個位元組單元,每個單元值未分配

data ends

彙編基礎知識總結(一)

學習了王爽老師的 組合語言 覺得自己應該把知識串一串。首先cpu只能識別機器語言 01010101010 由於對人類非常不友好,所以組合語言就產生了。於是在產生彙編後,計算機是不會明白組合語言的,所以我們又要乙個翻譯員,那就是編譯器。就這樣,組合語言也能完成機器語言的工作。發展到現在,彙編由三類指令...

第01章 基礎知識

1.1 組合語言的組成 組合語言發展至今,由以下3類指令組成 彙編指令 機器碼的助記符,有對應的機器碼。偽指令 沒有對應的機器碼,由編譯器識別,計算機並不執行。其他符號 如 等,由編譯器識別,沒有對應的機器碼。組合語言的核心是彙編指令,它決定了組合語言的特性。1.2 指令和資料 指令和資料是應用上的...

第1章 基礎知識

機器語言是機器指令的集合,由0和1組成,但是很長很複雜,組合語言因此產生。組合語言的主體是彙編指令。彙編指令是機器指令的便於記憶的書寫格式。程式設計師寫完彙編指令通過編譯器轉換為機器碼,機器碼再傳到計算機執行。組合語言有以下三類 1彙編指令 助記符,有對應機器碼 2.偽指令 沒有對應機器碼,編譯器執...