匯編指令簡介
匯編語言是計算機語言的一種,是一種低級語言。相比高級語言,匯編語言更接近底層硬件,使用更加直接,效率更高。但相對而言,匯編語言更加復雜,語法更加嚴格。
操作數(shù)指示符:
大多數(shù)指令有一個或多個操作數(shù),指示出執(zhí)行一個操作中要使用的源數(shù)據(jù)值。
操作數(shù)一般可以分為三類:
立即數(shù)
內存引用

數(shù)據(jù)傳送指令:
最頻繁使用的指令,負責將數(shù)據(jù)從一個位置復制到另一個位置。
例如:
mov %rbx, %rax : 將rbx寄存器的值移動到rax寄存器
mov %rbx, (%rax) : 將rbx寄存器的值移動到rax寄存器所表示的內存地址中
以及mov指令的一些擴展指令: movb, movw, movl, movq等等
壓入和彈出棧數(shù)據(jù)
將數(shù)據(jù)壓入程序棧中,以及從程序棧中彈出數(shù)據(jù)。
push %rbp : 將%rbp寄存器的值壓入程序棧指針指向的位置
pop %rbp : 將棧指針指向的數(shù)據(jù)彈出,放入%rbp寄存器
算數(shù)和邏輯操作

跳轉指令
導致執(zhí)行切換到程序中一個全新的位置
jmp %rax 用寄存器%rax中的值作為跳轉目標
jmp是無條件跳轉,還有一些條件跳轉指令,有興趣的同學可以查一下資料。
比較和測試指令
比較指令CMP,只設置條件碼,不更新目的寄存器,其余的行為和SUB指令一致
測試指令TEST,只設置條件碼,不更新目的寄存器,其余的行為和ADD指令一致
更多詳細的內容,可以通過相關書籍進行系統(tǒng)性的了解,鑒于篇幅,就不多介紹了。
讓我們回到剛才的例子,可以看到由于把內存引用替換成了訪問寄存器,程序性能就有了明顯的提升。
-
計算機
+關注
關注
19文章
7841瀏覽量
93493 -
代碼
+關注
關注
30文章
4977瀏覽量
74417 -
匯編指令
+關注
關注
0文章
38瀏覽量
11854
發(fā)布評論請先 登錄
AVR單片機匯編指令系統(tǒng)相關資料分享
匯編語言是什么?有何優(yōu)缺點
計算機組成原理與匯編語言程序設計
計算機語言概述
計算機學習教程之指令系統(tǒng)與匯編語言程序設計課件免費下載
計算機的機器語言和匯編語言與高級語言的詳細資料介紹
AVR單片機匯編指令系統(tǒng)
構建 4 位計算機:匯編語言和匯編器(第 2 部分)
匯編指令是什么 計算機語言匯編指令簡介
評論