ARM 的巨集定義

2021-04-12 19:27:11 字數 665 閱讀 1770

macro                              ;巨集定義開始

mov_pc_lr                    ;巨集的名字

[ thumbcode         ;表示在thumb工作狀態

bx lr                                ;分支到 thumb ** lr

|mov      pc,lr                  ;把lr 儲存到pc指標

]mend                                ;巨集定義結束

;arm處理器有兩種工作狀態

1.arm:32位 這種工作狀態下執行字對準的arm指令 2.thumb:16位 這種工作狀態執行半字對準的thumb指令

;因為處理器分為16位 32位兩種工作狀態 程式的編譯器也是分16位和32兩種編譯方式 所以下面的程式用於根據處理器工作狀態確定編譯器編譯方式

;code16偽指令指示彙編編譯器後面的指令為16位的thumb指令

;code32偽指令指示彙編編譯器後面的指令為32位的arm指令

;這段是為了統一目前的處理器工作狀態和軟體編譯方式(16位編譯環境使用ta**.exe編譯)  

另外[    =if

|    =else

]    =end if

ARM程式設計 關於ARM暫存器的巨集定義

arm程式設計 關於arm暫存器的巨集定義 gf86530430 136次 2008 8 27 請問各位大蝦 在arm的標頭檔案裡,對與暫存器的定義為什麼不跟51的一樣?如下 define rutxh0 volatile unsigned char 0x1d00020 define rutxh1 v...

arm 彙編中的巨集

巨集定義用乙個單個的有意義的名字來來代替乙個 塊,避免重複乙個 塊好多次 macro label testandbranch dest,reg,cc label cmp reg,0 b cc dest mend 在macro偽指令之後是乙個巨集的原型語句,巨集的原型語句定義了你用來呼叫巨集的名字 t...

abs int 巨集定義 巨集定義和巨集方法

巨集定義和巨集方法 定義機型 define is iphone5 uiscreen instancesrespondtoselector selector currentmode cgsizeequaltosize cgsizemake 640,1136 uiscreen mainscreen cu...