看了王爽的《組合語言》,感覺寫的很好,真的是通俗易懂,為了大家也可以快速瀏覽一下組合語言,我特意將筆記一章一章寫出來。獨樂了不如眾樂樂,不會組合語言的程式設計師不是好程式設計師!
一、基礎知識
1.1. 組合語言由三類指令組成:
(1)彙編指令:機器語言的助記符,有對應的機器語言;
(2)偽指令:沒有對應的機器碼,由編譯器執行,計算機並不執行;
(3)其他符號:如+-*/,由編譯器識別,沒有對應的機器碼。
程式語言的核心是彙編指令。
1.2. cpu想要進行資料的讀寫,需要cpu與外界進行「位址資訊」、「資料資訊」和「控制資訊」的互動;這三類資訊都是通過cpu與外部器件的晶元進行互動才能完成的;這些資訊分別是通過「位址匯流排」「資料匯流排」「控制匯流排」
乙個cpu有n根位址線,則可以說這個cpu的位址匯流排寬度為n;這樣的位址匯流排可以尋找2的n次方個儲存單元;
cpu與記憶體或是其他器件之間的資料傳送是通過資料匯流排來完成的,資料匯流排的寬度決定了cpu與外界的資料傳輸速度;
cpu對外部器件的控制是通過控制匯流排來完成的,控制匯流排是乙個統稱,有多少根控制線就有多少種控制;
1.3. cpu不直接控制外部裝置(如:鍵盤、顯示器),直接控制這些裝置的是插在擴充套件槽上的介面卡,擴充套件槽直接通過匯流排與cpu相連線,所以介面卡也是通
過匯流排與cpu相連,cpu可以直接控制這些介面卡;
1.4. 各類儲存器
儲存器從功能和連線上可以分為以下幾類:
(1)隨機儲存器(ram):用於存放cpu使用的絕大多數程式和資料,一般包括主機板上的ram和擴充套件槽上的ram;
(2)裝有bios的rom,可以通過它利用該硬體裝置進行基本的輸入輸出,主機板上裝有rom,網絡卡上裝有rom,顯示卡上裝有rom;
(3)介面卡上的ram:某些介面卡上需要對大量輸入、輸出資料進行暫時儲存,典型的就是介面卡上的ram;
1.5. 各類儲存器有兩個共同的特點:
(1)都和cpu匯流排相連;
(2)cpu都是通過控制匯流排對他們進行控制;
因此,cpu在操控他們時,都把他們當作記憶體來對待,即把他們看成是乙個大的邏輯儲存器,也就是我們所說的記憶體位址空間;那麼cpu在對某段記憶體位址進行資料讀寫時,實際就是對相應的物理儲存器上進行資料讀寫;
1.6. 記憶體位址空間大小受位址匯流排的寬度的限制;
1.7. cpu由暫存器、運算器、控制器等組成,各個器件在cpu中的作用:
(1)暫存器進行資訊儲存;
(2)運算器進行資訊處理;
(3)控制器控制各個器件進行工作;
(4)內部匯流排連線各個器件,在他們之間進行資料傳輸;
組合語言筆記第一章
本著對計算機的熱愛,當然,希望自己能更了解計算機底層實現,所以就來學學這本組合語言了,當然,肯定要對知識點做乙個小結,代表學過,此外,似乎破解什麼需要這個基礎的。本書一共17個章節。第一章是基礎部分 機器指令 一台機器可以正確執行的命令。他是一串二進位制,到機器上對應一系列高低電平,以此驅動電子器件...
組合語言 第一章 筆記
組合語言的組成 彙編指令 偽指令一些符號 儲存器概念 也就是我們平常所說的執行記憶體 指令和資料在內部儲存器中存放 磁碟上的資料不讀取到記憶體中,無法被cpu使用。目的 想要編寫出優秀的匯程式設計序,首先我們要了解cpu從記憶體中如何讀取與寫入資料。所以記憶體是彙編重點關注的部分。必要擴充套件 一類...
組合語言第一章學習筆記
第一章學習筆記 重新看了一遍第一章,發現以前看書太失敗了,看了不如不看,純粹是在浪費時間。以前看時沒概念,看到不懂的似懂非懂過去了。到現在再看時才真的看懂他說的是什麼。這章裡沒有太多內容,只是把儲存器,匯流排結構還有儲存器晶元介紹了一遍。儲存器可以按功能,用途,讀寫方式等分類,都是概念了。本書牽扯到...