組合語言 散裝知識點(1)

2021-10-06 09:54:58 字數 681 閱讀 1716

一.迴圈

(一)

在組合語言中迴圈結構需要有三個部分:迴圈初始,迴圈體和迴圈控制,下面分別介紹:

1.迴圈初始:在迴圈前的一些操作,如對ecx置數確定迴圈迭代次數,對需要用的暫存器置零等

2.迴圈體:就如高階語言中需要迴圈的**

3.迴圈控制:判斷是否滿足迴圈條件,不滿足則順序執行

(二).兩種基礎迴圈

1.label ~~ loop label

迴圈ecx次,每次迴圈先進行ecx-1操作,當ecx為零時,結束迴圈

(注:label 可以隨意改變命名,但需要前後一致)

相當於dec ecx ;ecx減一

jnz label ;當zf標誌位為0時跳轉到label處迴圈

zf標誌位為判斷計算是否為零,為零則zf為1,反之,為0

2.label ~~ jecxz label

迴圈條件:ecx=0

只有在ecx為零時,發生跳轉迴圈

相當於:

cmp ecx,0;判斷是否為零

jz label ;當為零時跳轉到label處

組合語言知識點一

彙編指令是機器指令的助記符,同機器指令一一對應 組合語言由以下3類組成 1彙編指令 機器碼助記符 2偽指令 由編譯器執行 3其他符號 由編譯器識別 每一種cpu都有自己的彙編指令集 計算機中專門連線cpu和其他晶元的導線,通稱匯流排 cpu通過位址匯流排來指定儲存單元 位址匯流排上能傳送多少個不同的...

組合語言 知識點回顧

1.什麼叫零位址指令 一位址指令 二位址指令?指令中的位址碼字段用來指出運算元的位址。根據一條指令中所含運算元位址的數量。可分為三位址指令 雙位址指令 單位址指令和零位址指令。零位址指令只有操作碼,沒有運算元。這種指令有兩種情況 一是無需運算元,另一種是運算元為預設的 隱含的 預設為運算元在暫存器中...

組合語言的準備知識(1)

組合語言和cpu以及記憶體,埠等硬體知識是連在一起的.這也是為什麼組合語言沒有通用性的原因.下面簡單講講基本知識 針對intel x86及其相容機 x86組合語言的指令,其操作物件是cpu上的暫存器,系統記憶體,或者立即數.有些指令表面上沒有運算元,或者看上去缺少運算元,其實該指令有內定的操作物件,...