記錄自已學習之ARM組合語言之bic和orr

2021-07-31 01:32:11 字數 683 閱讀 3494

在之前的arm組合語言中,我已經說過了兩個在我現在學習階段比較重要的兩個指令ldr和str。這次我就來說我另外所學的兩個指令bic和orr。

(1)bic指令用於清除運算元1的某些位,並把結果放置到目的暫存器中。

bic  目的暫存器,運算元1,運算元2

這個就是bic指令的式子

運算元1是乙個暫存器,運算元2是乙個暫存器或移位暫存器或立即數,bic指令主要是用於把一些位置變成0,也就是利用位"非與"

的形式把該些位變為0。

bic r0, r0, #0xff 這個式子就是把最後的八個位變成0,主要工作就是先把0xff取反得到0xffffff00,再與r0相與,保持前面的

位不變,後面的八位置0。

其意義:清除r0的bit[7:0]

(2)orr指令用於在兩個運算元上進行邏輯戒運算,並把結果放置到目的暫存器中。

orr  目的暫存器,運算元1,運算元2

這個就是orr指令的式子

運算元1是乙個暫存器,運算元2是乙個暫存器或移位暫存器或立即數,orr指令主要用於把一些位置為1,其主要運用邏輯或的方式把

該些位置為1。

orr r0, r0, #0xff 這個式子就是把最後的八個位置為1,主要的工作就是先把0xff與r0進行邏輯或,然後把這個數存進r0中。其它的位

保持不變。

其意義: 置r0的bit[7:0]為1

ARM組合語言

指令stmfd和ldmfd分析 根據atpcs規則,我們一般使用fd full descending 型別的資料棧!所以經常使用的指令就有stmfd和ldmfd,通過arm對於棧操作和批量load store指令定址方式,可以知道指令stmfd和ldmfd的位址計算方法 stmfd指令的定址方式為事...

arm中的組合語言之ARM指令集

一 arm指令集的分類 arm指令集可以分為六類 跳轉指令,資料處理指令,程式狀態暫存器傳輸指令,load store指令,協處理器指令和異常中斷指令。第一篇 跳轉指令 在arm中有兩種方式來實現程式的跳 一種是直接向pc暫存器 r15 中寫入目標位址值 一種是跳轉指令 通過 直接向pc暫存器寫入目...

ARM 組合語言程式設計

教材 嵌入式系統及應用,羅蕾 李允 陳麗蓉等,電子工業出版社 迴圈程式設計 子程式及其呼叫 匯程式設計序訪問全域性 c 變數 普通分支程式 多分支 散轉 程式 程式分支點上有多於兩個以上的執行路徑的程式叫做多分支程式。利用條件測試指令或跳轉表可以實現多分支程式 帶 arm thumb 狀態切換的分支...