組合語言 章節總結

2021-08-28 17:59:58 字數 1396 閱讀 5848

第一章:

彙編指令和機器指令一一對應,有編譯器翻譯識別,計算機無法直接識別

乙個儲存單元等於1位元組 1位元組等於8位

1kb=1024byte(位元組)

1byte=8bit(位)

cpu中,指令和資料都是二進位制形式存在

磁碟的資料,cpu無法直接使用,只能讀到記憶體中,才能被cpu使用

cpu可以使用的資料,是在儲存器中儲存器被劃分為很多儲存單元,以0開始編號,

乙個單元儲存一位元組,即8位

暫存器是一種比記憶體和二級快取更低一層,更接近cpu的儲存器

cpu進行資料讀寫時,必須和外部晶元進行3類資訊交換:

1.位址資訊 即位址匯流排

2.控制資訊 即控制匯流排

3.資料資訊 即資料匯流排

cpu多少根位址匯流排,就代表這個cpu位址匯流排的寬度為多少

就是說cpu定址範圍是2的n次方個儲存單元

資料匯流排n根,即一次可傳送n位二進位制數即n位,例:

16位資料匯流排,可傳輸16位二進位制,即2個位元組

控制匯流排決定cpu對外部器件的控制能力

儲存器分為:隨即儲存器ram和唯讀儲存器rom

隨即儲存器,斷電後資料丟失,如記憶體,視訊記憶體

唯讀儲存器,關機後記憶體不消失,如主機板,網絡卡的bios

cpu對各類儲存器只看做乙個邏輯的儲存器,每個物理上的儲存器在邏輯上占有一段位址段,

cpu對其段進行操作,就是對物理儲存進行操作

8086 cpu的記憶體位址分配:

00000—9ffff為主儲存器

a0000—bffff為視訊記憶體位址空間

c0000—fffff為各類rom位址空間

第一章檢測點:

1.定址能力為8kb,即為8,反向推論,8kb=8192位元組,cpu定址公式:

n=位址匯流排寬度

m=定址大小(單位位元組)

m=2的n次方

這裡m=8192,所以開平方,n就是13,2的13次方為8192位元組

2.1kb=1024b,因為1個儲存單元大小為1b,所以1kb儲存器可以為1024個儲存單元

編號從零開始,即編號為0——1023

3.1kb的儲存器為1024個儲存單元,每個儲存單元1byte,1byte=8bit,即1024*8=8192bit位 即1024byte位元組

4.1gb=1024mb

1mb=1024kb

1kb=1024byte

5.位址匯流排寬度為16,那麼定址能力就是2的16次方,65536個儲存單元,即65536byte,即64kb

6.1byte=8bit 8根資料匯流排,一次傳輸8bit,即1byte

7.8086為16根資料匯流排,每次讀取16bit,即2位元組,1024位元組,需讀取512次

8.儲存器中,資料和指令都是二進位制形式存在儲存器中

第二章:

組合語言 總結

這篇文章寫於2019年5月9號。今天在了 站 中無意中看到這篇文章。我忘了當時出於什麼原因將其刪除。重新看了一遍,還記得當年是在乙個自習室裡面敲的。文中的一些往事雖然沒直接寫出來,但看了下內容,還能記得。腦子確實是個好東西。既然看到,便是緣分,重新放出來吧。2021年1月28號 後面還有乙個課設二,...

組合語言跳轉總結

跳轉指令分三類 一 無條件跳 jmp 無條件跳轉 二 根據cx ecx暫存器的值跳 jcxz cx 為 0 則跳轉 jecxz ecx 為 0 則跳轉 三 根據eflags暫存器的psw標誌位跳轉,這個太多了.根據標誌位跳轉的指令 je 等於則跳轉 同jz jne 不等於則跳轉 同jnz ja 無符...

組合語言 AT T組合語言

這兩天的pwn題環境都是在linux中,採用的組合語言是 at t 格式。之前學習的是intel格式的8086彙編,今天學習了下at t組合語言。基於x86 架構的處理器所使用的彙編指令一般有兩種格式 操作intel格式at t格式 暫存器命名 push eax pushl eax 常數 立即運算元...