匯編指令簡(jiǎn)介
匯編語(yǔ)言是計(jì)算機(jī)語(yǔ)言的一種,是一種低級(jí)語(yǔ)言。相比高級(jí)語(yǔ)言,匯編語(yǔ)言更接近底層硬件,使用更加直接,效率更高。但相對(duì)而言,匯編語(yǔ)言更加復(fù)雜,語(yǔ)法更加嚴(yán)格。
操作數(shù)指示符:
大多數(shù)指令有一個(gè)或多個(gè)操作數(shù),指示出執(zhí)行一個(gè)操作中要使用的源數(shù)據(jù)值。
操作數(shù)一般可以分為三類:
立即數(shù)
內(nèi)存引用
數(shù)據(jù)傳送指令:
最頻繁使用的指令,負(fù)責(zé)將數(shù)據(jù)從一個(gè)位置復(fù)制到另一個(gè)位置。
例如:
mov %rbx, %rax : 將rbx寄存器的值移動(dòng)到rax寄存器
mov %rbx, (%rax) : 將rbx寄存器的值移動(dòng)到rax寄存器所表示的內(nèi)存地址中
以及mov指令的一些擴(kuò)展指令: movb, movw, movl, movq等等
壓入和彈出棧數(shù)據(jù)
將數(shù)據(jù)壓入程序棧中,以及從程序棧中彈出數(shù)據(jù)。
push %rbp : 將%rbp寄存器的值壓入程序棧指針指向的位置
pop %rbp : 將棧指針指向的數(shù)據(jù)彈出,放入%rbp寄存器
算數(shù)和邏輯操作
跳轉(zhuǎn)指令
導(dǎo)致執(zhí)行切換到程序中一個(gè)全新的位置
jmp %rax 用寄存器%rax中的值作為跳轉(zhuǎn)目標(biāo)
jmp是無條件跳轉(zhuǎn),還有一些條件跳轉(zhuǎn)指令,有興趣的同學(xué)可以查一下資料。
比較和測(cè)試指令
比較指令CMP,只設(shè)置條件碼,不更新目的寄存器,其余的行為和SUB指令一致
測(cè)試指令TEST,只設(shè)置條件碼,不更新目的寄存器,其余的行為和ADD指令一致
更多詳細(xì)的內(nèi)容,可以通過相關(guān)書籍進(jìn)行系統(tǒng)性的了解,鑒于篇幅,就不多介紹了。
讓我們回到剛才的例子,可以看到由于把內(nèi)存引用替換成了訪問寄存器,程序性能就有了明顯的提升。
-
計(jì)算機(jī)
+關(guān)注
關(guān)注
19文章
7549瀏覽量
88738 -
代碼
+關(guān)注
關(guān)注
30文章
4837瀏覽量
69128 -
匯編指令
+關(guān)注
關(guān)注
0文章
38瀏覽量
11526
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
計(jì)算機(jī)語(yǔ)言概述
AVR單片機(jī)匯編指令系統(tǒng)相關(guān)資料分享
匯編語(yǔ)言是什么?有何優(yōu)缺點(diǎn)
什么是匯編語(yǔ)言
計(jì)算機(jī)組成原理與匯編語(yǔ)言程序設(shè)計(jì)
![<b class='flag-5'>計(jì)算機(jī)</b>組成原理與<b class='flag-5'>匯編語(yǔ)言</b>程序設(shè)計(jì)](https://file.elecfans.com/web2/M00/48/84/pYYBAGKhtAuAUSseAAAeEC1ZhBI129.jpg)
計(jì)算機(jī)語(yǔ)言的發(fā)展過程
匯編語(yǔ)言中常用的偽指令
![<b class='flag-5'>匯編語(yǔ)言</b>中常用的偽<b class='flag-5'>指令</b>](https://file.elecfans.com/web1/M00/AD/34/pIYBAF3IwMWAFLhqAAEXbFSl8cU295.jpg)
計(jì)算機(jī)學(xué)習(xí)教程之指令系統(tǒng)與匯編語(yǔ)言程序設(shè)計(jì)課件免費(fèi)下載
計(jì)算機(jī)的機(jī)器語(yǔ)言和匯編語(yǔ)言與高級(jí)語(yǔ)言的詳細(xì)資料介紹
AVR單片機(jī)匯編指令系統(tǒng)
![AVR單片機(jī)<b class='flag-5'>匯編</b><b class='flag-5'>指令</b>系統(tǒng)](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
[從零學(xué)習(xí)匯編語(yǔ)言] - 計(jì)算機(jī)中的硬件與軟件
![[從零學(xué)習(xí)<b class='flag-5'>匯編語(yǔ)言</b>] - <b class='flag-5'>計(jì)算機(jī)</b>中的硬件與軟件](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評(píng)論