彙編筆記1 基礎

2021-09-17 07:28:34 字數 1608 閱讀 1936

位址線->定址能力,2nbit

單位 byte ;28bit=1byte

二進位制和十/十六進製制的快速轉換

intel的一系列處理器

8086 80186 80286 16bit(8088變種)

80386 80486 32bit

奔騰不再沿用該模式,但沿用該名稱

現在的處理器向下相容到8086,稱80x86

ax,al 通常稱為累加器(accumulator),用累加器進行的操作可能需要更少時間。累加器可用於乘、 除、輸入/輸出等操作,它們的使用頻率很高;

bx 稱為基位址暫存器(base register)。主要用於儲存記憶體中資料存放的基礎位置.之後只需要知道偏移位址就可以知道記憶體實際位址.

cx稱為計數暫存器(count register)。在迴圈和字串操作時,要用它來控制迴圈次數;在位操作中,當移多位時,要用cl來指明移位的位數;

dx稱為資料暫存器(data register)。在進行乘、除運算時,它可作為預設的運算元參與運算,也可用於存放i/o的埠位址。

在16位cpu中,ax、bx、cx和dx不能作為基址和變址暫存器來存放儲存單元的位址,

在32位cpu中,其32位暫存器eax、ebx、ecx和edx不僅可傳送資料、暫存資料儲存算術邏輯運算結果,而且也可作為指標暫存器

eax 是"累加器"(accumulator), 它是很多加法乘法指令的預設暫存器。

ebx是"基位址"(base)暫存器, 在記憶體定址時存放基位址。

ecx 是計數器(counter), 是重複(rep)字首指令和loop指令的內定計數器。

edx則總是被用來放整數除法產生的餘數。

esi/edi分別叫做"源/目標索引暫存器"(source/destination index)它們主要用於存放儲存單元在段內的偏移量,用它們可實現多種儲存器運算元的定址方式,為以不同的位址形式訪問儲存單元提供方便

bp為基指標(base pointer)暫存器,用它可直接訪問堆疊中的資料;(和sp連用,作為sp校準)

sp為堆疊指標(stack pointer)暫存器,用它只可訪問棧頂

cs——**段暫存器(code segment register),其值為**段的段值;

ds——資料段暫存器(data segment register),其值為資料段的段值;

es——附加段暫存器(extra segment register),其值為附加資料段的段值;

ss——堆疊段暫存器(stack segment register),其值為堆疊段的段值;

fs——附加段暫存器(extra segment register),其值為附加資料段的段值;

gs——附加段暫存器(extra segment register),其值為附加資料段的段值。

pa=ds* 24+ea

ea=base+index*scale factor+displacement

1.pa 位址線->位址碼->定址範圍

2.邏輯位址

記憶體劃分為多個邏輯段,邏輯段位址指示儲存單元

方便了開發和對儲存器的動態管理

cs:ip(偏移位址,該儲存單元到段基址的的距離) pa=cs * 24+ip,指示當前的下一條指令讀取的位置

eg.jmp ax;相當於ip=ax

8086彙編學習筆記1 基礎

1.什麼是組合語言 彙編指令是各種cpu提供的機器指令的助記符集合。cpu只認識0和1組成的機器指令,但是使用機器指令去編寫的程式難於書寫和閱讀,所以採用彙編,彙編只是機器指令的另一種表示方法。編寫好匯程式設計序,還需要彙編編譯器將彙編翻譯成機器指令,這樣cpu才能識別與執行。機器指令 100010...

彙編基礎 1

cpu 處理單元 一種微處理 受cpu直接或間接控制的晶元丶器件丶裝置組成的計算機系統。cpu是計算機的核心部件,他控制整個計算機的執行並進行運算,向cpu提供指令和資料。指令和資料在儲存器中存放 記憶體 cpu與記憶體的關係?離開了記憶體,cpu無法工作。就像 大腦沒有記憶。磁碟的資料如果不讀到記...

彙編 1 基礎

記憶體位址空間 主機板cpu,儲存器,外圍晶元組,擴充套件插槽 插有ram記憶體條,介面卡 介面卡cpu 匯流排 介面卡 外設 顯示器,印象,印表機 儲存器晶元 ram 隨機儲存器 1.可讀可寫 2.帶電儲存,關機儲存內容丟失 3.主ram 主機板ram 插在擴充套件插槽上的ram 4.介面卡上的r...