彙編學習筆記 1 基礎知識

2021-07-06 01:28:26 字數 1046 閱讀 8752

彙編學習筆記---(1)基礎知識

本學習筆記僅僅是我自己作為初學者,學習彙編知識的過程記錄,本人從事影象處理行業,使用c程式設計,為了編寫更為高效的影象處理程式,於是開始學習組合語言。本人學習的書籍是《組合語言》王爽著 清華大學出版社

組合語言,說白了就是方便註記的機器語言。組合語言的主體是彙編指令,也就是機器指令便於記憶的書寫格式。放一張圖,來說明一下程式設計師編寫組合語言到計算機最終執行的過程吧:

下面介紹一些基礎內容:

1,儲存單元

計算機的儲存器被劃分成了若干儲存單元,每個儲存單元都是從0開始編號,如果乙個儲存器有128個儲存單元,那麼編號就是0-127。

cpu可以直接使用的資訊在儲存器中存放。

在儲存器中指令和資料沒有任何區別,都是二進位制資訊。

計算機的最小資訊單位是bit位元,也就是乙個二進位制位,8個 bit組成乙個byte,就是乙個位元組,乙個儲存器有128個儲存單元,它可以儲存128個byte。磁碟容量換算關係如下;

1kb = 1024b, 1mb = 1024kb, 1gb = 1024mb, 1tb = 1024gb

2,cpu對儲存器的讀寫

儲存單元的位址(位址資訊)+控制資訊+讀寫的資料(資料資訊)

cpu如何進行資訊互動,這就要通過位址匯流排+控制匯流排+資料匯流排來完成,分別對應3類資訊互動。

3,位址匯流排+資料匯流排+控制匯流排

乙個cpu有n根位址線,那麼cpu的位址匯流排寬度就是n,cpu最多可以尋找的記憶體單元個數就是2的n次方。

陣列匯流排主要用於cpu與記憶體或其他器件之間的資料傳送,資料匯流排的寬度就決定了cpu和外界資料的傳送速度,8根資料匯流排一次可以傳送乙個byte即8位二進位制資訊,16根陣列匯流排就可以傳送2個byte。比如:8086有16跟資料匯流排,那麼一次就可以傳送資料89d8h,而8088有8跟資料匯流排,那麼,需要兩次才能傳送資料89d8h。

控制匯流排只要是cpu對外界器件的控制。有多少根控制匯流排,就意味著有多少種控制,決定了cpu對外加誒器件的控制能力。

彙編學習1 基礎知識

機器語言 01構成,計算機能識別。0101000 push ax 組合語言的主體是彙編指令。彙編指令和機器指令的差別在於指令的表示方法上,彙編指令是機器指令便於記憶的書寫格式,是機器指令的助記符,與機器指令一一對應。每一種cpu都有自己的彙編指令集。機器指令 1000 1001 1101 1000 ...

彙編學習筆記 2 基礎知識

今天,接著上次,繼續學習組合語言,主要對記憶體位址空間 主機板 接卡口 儲存晶元等進行了解。什麼是記憶體位址空間?要搞清楚這個問題,我們首先要知道主機板和介面卡。介面卡啥作用,說白了就是通過匯流排接收cpu傳送的命令,對顯示器 音響等外部裝置進行控制。一台pc中主要有兩種儲存器 隨機儲存器ram和唯...

彙編的基礎知識 1

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