娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年02月22日(星期六)

2020年02月22日 | ARM指令集——數據處理指令

發布者:碼字徜徉 來源: eefocus關鍵字:ARM  指令集  數據處理指令 手機看文章 掃描二維碼
隨時隨地手機看文章

ARM匯編指令集


ARM匯編文件的組成


指令:編譯完成后作為一條指令(機器碼)存儲在內存單元中,CPU執行時能夠完成處理的操作

偽指令:在編譯時替換成能被識別的ARM指令

偽操作:知道編譯器進行編譯,編譯完成后不生成指令,也不占用內存空間。

ARM匯編指令類型


數據處理指令

跳轉指令:實現程序執行過程中的跳轉

Load/Store指令:CPU與內存數據之間的操作指令

狀態寄存器存送指令:對狀態寄存器操作(只能使用這些指令對狀態寄存器操作)

協處理器指令:對協處理器進行操作

異常產生指令:產生異常(軟中斷),實現模式切換

數據處理指令 mov,add,adds,adc,sub,subs,sbc,rsb,mul,and,orr,eor,bic,cmp,tst,teq,lsl,lsr,asr,rorv


數據處理指令語法


<操作{}{S}> , ,

<操作碼> <目標寄存器Rd> <第一操作寄存器Rn> <第二操作數Operand2>

;第一個位置必須是寄存器,第二操作數可以是寄存器,也可以是立即數

 


數據傳送指令  MOV


mov r1, #0x1  ;r1 = 0x1    0x1 是立即數

mov r2, r1  ;r2 = r1 

mvn r3, r2  ;r3 = ~r2

mov r1, 0xffffff00  ;0xffffff00 不是立即數,只是編譯器在編譯階段對其進行了替換

mvn r1, 0x000000ff  ;替換的指令


;一條數據傳送指令 mov reg, #n mov reg占用 bit[31:12],bit[11:0]留給立即數使用,因此立即數自包含2^12個

;一個立即數由 bits[8:0]循環右移 2 * bits[11:9]得到。(一個八位的數循環右移偶數次得到)

;立即數的本質是包含于指令中的數,占用指令本身的空間


加法指令 ADD


;加法指令執行時,若沒有進位 CPSR 'C' 位置 0

mov r0, #1

mov r1, #1

add r2, r1, r0  ;r2 = r1 + r0

add r2, r1, #2  ;r2 = r1 + 2

 數據操作對CPSR的影響 


;默認情況下,數據處理指令不影響條件碼標志位,但可以選擇通過添加“S”來影響標志位。

mov r1, #0mov r2, #-1

adds r3, r1, r2 

帶進位的加法指令 ADC



;兩個64位數相加,第一個64位的低32位放在 r0,高位放到 r1,第二個64位數的低32位放在 r2 高32位放在 r3

;編寫代碼實現兩個64位數的和,結果的低32位放在 r4 高32位放在 r5

mov r0, #0xfffffffe  ;第一個數的低32位

mov r1, #1  ;第一個數的高32位

mov r2, #0x5  ;第二個數的低32位 

mov r3, #1  ;第二個數的高32位

adds r4, r0, r2 

adc r5, r1, r3  ; adc運算的實質是 r5 = r1 + r3 + 'C'  'C'位 CPSR 進位標志


減法指令 SUB


;減法指令執行時,沒有借位時 CPSR 'C' 位置 1

mov r0, #5

mov r1, #3

sub r2, r0, r1  ;r2 = r0 - r1

帶借位的減法指令 SBC


mov r0, #1  ;第一個數的低32位

mov r1, #3  ;第一個數的高32位

mov r2, #3  ;第二個數的低32位

mov r3, #1  ;第二個輸的高32位

subs r4, r0, r2  

sbc r5, r1, r3


逆向減法指令 RSB


mov r0, #3

rsb r1, r0, #5  ;r1 = 5 - r0

乘法指令 MUL


;為了提高效率,任何乘法指令不可以使用立即數

mov r0, #3

mov r1, #5

mov r2, r0, r1  ;r2 = r0 * r1

乘——累加指令 MLA


mla r3 ,r0, r1, r2  ;r3 = (r0 * r1) + r2

邏輯與指令 AND


mov r0, #0xf0

mov r1, #0x0f

and r2, r0, r1  ;r2 = r0 & r1

邏輯或指令 ORR


mov r0, #0xf0

mov r1, #0x0f

orr r2, r0, r1  ;r2 = r0 | r1

邏輯異或運算指令 EOR


mov r0, #0xf0

mov r1, #0x0f

eor r2, r0, r1  ;r2 = r0 ^ r1

位清零指令 BIC


mov r0, #0xff

bic r0, r0, #0xf  ;第二個操作數的每一位為 1 就把第一個操作數對應的位清零

 比較指令 CMP


;實質是一條減法指令

;沒有目標register,用來比較兩個數是否相等,結果放到 CPSR 的 'Z' 位判斷

mov r0, #2

mov r1, #1

cmp r0, r1

 位測試指令 TST


;實質是與運算 常用于用來測試某一位或某幾位是 0 還是 1,結果通過 CPSR 的 'Z' 位判斷

tst r0, #0x3

 相等測試指令 TEQ


;實質是異或運算,測試兩個數是否相等,兩個數相等時異或結果位 0,通過 CPSR 的 'Z' 位判斷

teq r0, r1

 移位指令 LSL、LSR、ASR、ROR



;需要與mov配合,不能夠單獨使用

mov r0, #0xff

mov r1, r0, lsl #4  ;將 r0 邏輯左移 4 位放入 r1 中

;LSL 邏輯左移:高位移出,低位補零

;LSR 邏輯右移:低位移出,高位補零

;ASR 算是右移:低位移出,高位補符號位

;ROR 循環右移:低位移出,高位補低位移出位


關鍵字:ARM  指令集  數據處理指令 引用地址:ARM指令集——數據處理指令

上一篇:ARM指令集——條件執行、內存操作指令、跳轉指令
下一篇:ARM體系結構_DAY2

推薦閱讀

2018年的智能機格局如何?知名統計機構TrendForce給出了自己的預測。  從這份表單來看,三星雖依然保持出貨量第一,但市場份額從21.9%滑落到20.3%,之后的蘋果、華為將小幅攀升。比較驚喜的是小米,份額將從6.4%提升到7.1%,從全球第六升級為全球第四。  產量方面,TR預測2018年會有所提升,達到14.98億臺,幅度大約是2.8%。  從這份數據來看,國產...
這些天,谷歌Nest的智能門鎖被曝暗藏麥克風,此事在國外引起了軒然大波。一個長期的隱私權倡導組織呼吁,美國FTC(聯邦貿易委員會)應該要采取行動了。▲Nest智能門鎖據Business Insider報道,非營利組織EPIC(電子隱私信息中心)于本周三致信FTC,稱FTC應該對谷歌采取強制措施,剝離Nest公司。這是一個大膽的要求。要知道,Nest智能家居硬件公司是谷歌花...
2月21日,云貴互聯通道工程線路4標正式復工,至此,國內首個兩端直流改三端直流工程——云貴互聯工程在做好疫情防控的前提下全面復工,并投入緊張的建設中。 云貴互聯通道工程是“十三五”期間國家重點推進的南方區域重要的西電東送工程,也是實現云南水電和貴州火電資源互濟互補、提高西電東送通道遠期備用容量的重點工程。該工程是我國首個從“兩端...
騰訊紅魔游戲手機6將于3月4日正式發布,搭載高通驍龍888處理器,還可能是業界首款內置風扇的驍龍888旗艦游戲手機。  除了無可比擬的性能外,紅魔6在充電充電和續航方面也可圈可點。  努比亞技術有限公司總裁倪飛在微博吐槽:新機不配充電器的越來越多了,配充電器又有的不走心,比如明明支持65W快充,偏偏配個30W的充電器。  倪飛強調,騰...

史海拾趣

問答坊 | AI 解惑

幾種常用流量計的基礎知識和比較

幾種常用流量計的基礎知識和比較;差壓流量計(DP)是最普通的流量技術,包括孔板、文丘里管和音速噴嘴。DP流量計可用于測量大多數液體、氣體和蒸汽的流速。DP流量計沒有移動部分,應用廣泛,易于使用。但堵塞后,它會產生壓力損失,影響精確度。流量 ...…

查看全部問答∨

探頭的基本信息

模擬通道探頭包括無源/有源電壓探頭,高壓探頭,差分探頭,電流探頭。數字通道的探頭有提供多種連接附件方便與被測物相連接。 探頭類型 帶寬 描述   有源電壓探頭 750 MHz - 6 GHz 提供最廣泛的信號帶寬和更低的探頭負載, ...…

查看全部問答∨

wince 用c#如何結束進程

wince 用c#如何結束進程…

查看全部問答∨

如何通過應用程序動態的設置改變串口過濾程序中要過濾的串口號的符號連接?

有這樣一段串口監視過濾驅動程序的代碼如下:    RtlInitUnicodeString(&usDeviceToFilter, L\"\\\\??\\\\COM1\");                 NtStatus = IoGetDeviceObjectPointer(     ...…

查看全部問答∨

SPARTAN6試用-SDK

 最近一直業務繁忙啊,所以這次拿到開發板真是有點難過,基本上沒時間用用。:L 趁著休息做個試驗報告吧。        SDK是ISE嵌入式套裝里面的一個工具軟件,早期版本基本忽略其存在,但是ISE11之后加上開發 ...…

查看全部問答∨

怎么關閉匯編語言和C語言的混合調試

我用CCS FOR C6000時,打開了一個C源程序的匯編語言和C語言共同調試的界面(顯示VIEW_ONLY),可是怎么關閉這個界面,使得可以重新編輯C源文件呢?先謝謝了!…

查看全部問答∨

串口轉以太網模塊方案

串口轉以太網模塊方案…

查看全部問答∨

LED電源輸出電流的控制

最近在調幾個電源的輸出電流,開始電源的輸出電流是280ma,要把它調成260ma.這幾次都是都老大叫我調那個電阻我就調那個電阻,但是我不明白是為什么。有點是調IC的CS腳上的反饋電阻,有的是調FB引動上的電阻,有的是調次級反饋電路的電阻。這是為什 ...…

查看全部問答∨

怎么讓多個ZIGBEE同步閃爍?

由于剛剛接觸ZIGBEE,我很疑惑怎么才能發送一個信號后,讓多個ZIGBEE判斷信號后同時閃爍LED?…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 汉中市| 沈丘县| 南宁市| 邢台县| 惠来县| 那曲县| 锦屏县| 乳山市| 宁阳县| 临潭县| 县级市| 萨嘎县| 大悟县| 都兰县| 苏尼特右旗| 宁远县| 离岛区| 颍上县| 大关县| 玉田县| 武义县| 新安县| 云安县| 桂阳县| 武隆县| 米泉市| 西丰县| 宁陵县| 三门峡市| 咸丰县| 大新县| 壤塘县| 洛南县| 连南| 文水县| 闻喜县| 曲沃县| 扶余县| 米泉市| 文登市| 贵南县|