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...