Linux使用了平坦尋址方式(flat addressing),使程序員將整個存儲空間看做一個很大的字節數組。操做系統負責管理虛擬地址空間,將虛擬地址翻譯成實際處理器存儲器中的物理地址。
彙編代碼是機器代碼的文本表示。
指令有一個或多個操做數,值是出執行一個操做中要引用的源數據值,以及放置結果的目標位置。操做數分3種類型:
當即數(immediate),即常數值。
寄存器(register),表示某個寄存器的內容。
存儲器(memory)
引用,根據計算出來的地址,訪問某個存儲器位置。
算術和邏輯操做主要分爲4組:
加載有效地址:從內存讀取數據到寄存器。
一元操做:只有一個操做數, 既是目的也源,操做數能夠是寄存器,也能夠是內存位置。如自增操做。
二元操做:第二個操做數既是源又是目的。如賦值運算符x-=y。
移位:先給出移位量,第二項給出要移位的數。
用 jump 指令 能夠改 變一組 機器代 碼指令 的執行 順序。