小吳學彙編之第一章基礎知識(1)

2021-08-21 10:04:29 字數 1223 閱讀 9182

本人小白一枚,剛入職場,職業嵌入式開發。在學校學習linux作業系統與arm程式設計的一些基礎知識。也不是什麼985,211名校畢業,只是乙個普通的本科生,在生活中為了那麼一絲生存而努力著。

由於工作需要,以後涉及到linux系統中的底層驅動或者uboot啟動檔案,所以想把以前略懂的彙編再撿起來,重新學習。這也是小吳第一次寫部落格,有不好地方,還望多多包涵,相信寫著寫著,就會越來越好了。

本系列部落格是基於王爽著的組合語言(第3版)中,對重要內容提取,順手做筆記而來。有需要的可以一起學習,有問題大家一起**,謝謝。下面開始我們的第一章。以後每天晚上不定時更新,如果沒有更新,以後會慢慢補回來的。

機器語言是機器指令的集合。機器指令展開來講就是一台機器可以正確執行的命令。

組合語言是為了解決機器語言帶來的麻煩而產生。組合語言的主體是彙編指令。彙編指令和機器指令的差別在於指令的表示方法上。

例如:機器指令1000100111011000表示把暫存器bx的內容送到ax中。彙編指令則寫成movax,bx。

操作:暫存器bx的內容送到ax中

機器指令:1000100111011000

彙編指令:mov ax,bx

(暫存器,簡單來講是cpu中可以儲存資料的器件,乙個cpu中有多個暫存器。ax、bx只是其中的暫存器的代號。)

組合語言發展至今,有以下3類指令組成。

(1)      彙編指令:機器碼的助記符,有對應的機器碼。

(2)      偽指令:沒有對應的機器碼,由編譯器執行,計算機並不執行。

(3)      其他符號:如+、*、-、/等,由編譯器識別,沒有對應的機器碼。

組合語言的核心是彙編指令,它決定了組合語言的特性。

cpu是計算機的核心部件,它控制整個計算機的運作並進行運算。要想讓乙個cpu工作,就必須向它提供指令和資料。指令和資料在儲存器中存放,也就是我們平時說的記憶體。

要靈活的運用組合語言,我們首先要了解cpu是如何從記憶體中讀取資訊,以及向記憶體中寫入資訊的。

指令和資料是應用上的概念。在記憶體或者磁碟中,指令和資料沒有任何區別,都是二進位制資訊。cpu在工作的時候,會把資訊看做指令或者資料。

例如,記憶體中的二進位制資訊1000100111011000.,算機可以看做大小為89d8h的資料來處理,也可以將其看作指令mov ax,bx來執行。

1000100111011000 89d8h(資料)

1000100111011000 mov ax,bx(程式)

不早了,今天先到這裡。明天繼續,雖然今天的東西挺基礎的。

彙編 (第一章 基礎知識)

1.1機器語言 機器語言是機器指令的集合,機器指令就是一台機器可以正確執行的命令,電子計算機的機器指令是一串二進位制數字。應用8086cpu完成運算s 768 12288 1280,機器碼如下 10111000000000000000011 00000101000000000110000 00101...

彙編學習 第一章(基礎知識)

1 機器語言 機器語言是機器指令 也稱機器碼 的集合,機器指令為一列二進位制數字。2 組合語言 機器指令的繁瑣導致組合語言的出現。組成 彙編指令 機器碼的助記符,又對應的機器碼 偽指令 沒有對應的機器碼,由編譯器執行,計算機並不執行 其他符號 如 等,由編譯器識別,沒有對應的機器碼 3 儲存器 儲存...

第一章 基礎知識

組合語言 第一章 基礎知識 1.3組合語言的組成 組合語言有以下3 類組成 1.彙編指令 機器碼助記符 2.偽指令 由編譯器執行 3.其他符號 右邊一起識別 組合語言的核心是彙編指令,他決定了組合語言的特性 1.4 儲存器 指令和資料在儲存器中存放,也就是平時說的記憶體 磁碟不同於記憶體,磁碟的資料...