本著對計算機的熱愛,當然,希望自己能更了解計算機底層實現,所以就來學學這本組合語言了,
當然,肯定要對知識點做乙個小結,代表學過,此外,似乎破解什麼需要這個基礎的。
本書一共17個章節。
第一章是基礎部分:
機器指令:一台機器可以正確執行的命令。他是一串二進位制,到機器上對應一系列高低電平,以此驅動電子器件,進行運算,完整這些執行指令的物件叫 **cpu**.
所以每一種微處理器(cpu)都有自己的機器指令,這裡僅僅是 8086 ,windows 是基於 80386 的
讓人們一直使用 01 組合的二進位制指令,肯定會讓人發瘋,把常用的機器指令用 另一種形式表示出來,這樣人們就好解讀和使用,但是這種表示形式需要被翻譯成計算機能理解的二進位制資料,這時候需要乙個叫 「編譯器」 的玩意,它幫你把寫好彙編**翻譯成01組成的機器指令。於是最開始就誕生了 組合語言 。
彙編指令和機器指令的差別在於指令的表示方法上,(組合語言的主體就是彙編指令)。
組合語言的組成:
既然是cpu 是找儲存單元上的資料(記憶體或者磁碟上的儲存單元),一次取或者寫多少個資料總是要有乙個衡量的單位。就跟人說出的話,話語在你聽來是由每乙個字組成的,每次說話會有多少個字在裡面一樣,電子計算機的資料最小單位是 bit 也就是乙個二進位制位, 要麼是 0 要麼是 1 ,不管是其中哪乙個值,都只佔1位大小,8個這樣的1位組成乙個位元組(byte),然後就是常見的: 1kb = 1024b(b是 byte 的簡寫),1mb = 1024kb...
上面提到乙個儲存單元,這裡就需要了解 乙個叫儲存器 的概念:儲存器是許多儲存單元的集合,按單元號順序排列,從 0 開始順序編號, 每乙個儲存單元上都有資料(預設是00),也是 cpu 要找的資料。乙個儲存器有 128 個儲存單元, 儲存器分為 : ram(隨機) 和 rom(唯讀),後面有機會再解釋。
儲存單元因為有編號,相對於 儲存器 來說,可以定位了,就跟 一條街每個房子都有門牌號碼一樣。找對應資料,先去找這個資料的所在單元(定址),然後才能找到這個資料。cpu 還要決定對某個記憶體位址上的資料是進行讀取,還是寫入操作,所以 它要知道以下三個資訊才能做處理:
上面只是理論上的,cpu 根本上還是通過 導線 (電路進行工作),它總有和其他器件(實際上是和器件上的晶元)相連的導線,通常稱之為 匯流排(也就是一根根導線的集合),從功能上,邏輯上將匯流排進行分類為:位址線(定位要操作的資料),資料線(傳送資料),控制線(傳遞控制訊號和時序訊號:讀,寫,中斷響應,片選,復位...)
位址匯流排:為了進行位址定址,一根線只能有斷,通的資訊,表示 0 或者 1,多少根線,就有多少中表示的資訊,也就是用於計算位址資料 ,比如 10 根就能表示 2^10 種位址資訊,實際運用某個位址值,由你思考和定義。
資料匯流排:傳遞的是資料,一根線只能傳遞 1 或者 0 這個值,只是乙個值而已,不再是表示位址那樣, 8 根線一次只能傳遞 乙個 8 位二進位制數, 8086 cpu 的資料匯流排寬度為 16 ,也就2個位元組大小,或者說乙個字的大小。
控制匯流排:意味著 cpu 提供對外部器件的多少種控制,其中有一根 "讀訊號輸出" 和一根 「寫訊號輸出」,還有其他不做介紹。
《組合語言》筆記第一章
看了王爽的 組合語言 感覺寫的很好,真的是通俗易懂,為了大家也可以快速瀏覽一下組合語言,我特意將筆記一章一章寫出來。獨樂了不如眾樂樂,不會組合語言的程式設計師不是好程式設計師!一 基礎知識 1.1.組合語言由三類指令組成 1 彙編指令 機器語言的助記符,有對應的機器語言 2 偽指令 沒有對應的機器碼...
組合語言 第一章 筆記
組合語言的組成 彙編指令 偽指令一些符號 儲存器概念 也就是我們平常所說的執行記憶體 指令和資料在內部儲存器中存放 磁碟上的資料不讀取到記憶體中,無法被cpu使用。目的 想要編寫出優秀的匯程式設計序,首先我們要了解cpu從記憶體中如何讀取與寫入資料。所以記憶體是彙編重點關注的部分。必要擴充套件 一類...
組合語言第一章學習筆記
第一章學習筆記 重新看了一遍第一章,發現以前看書太失敗了,看了不如不看,純粹是在浪費時間。以前看時沒概念,看到不懂的似懂非懂過去了。到現在再看時才真的看懂他說的是什麼。這章裡沒有太多內容,只是把儲存器,匯流排結構還有儲存器晶元介紹了一遍。儲存器可以按功能,用途,讀寫方式等分類,都是概念了。本書牽扯到...