1
.macro add_sh rd, rn, rm, sh:vararg
A add \rd, \rn, \rm, \sh
T mov \rm, \rm, \sh
T add \rd, \rn, \rm
.endm
這個宏函數中的A,T,T是什麼?這個宏函數中的A,T,T是什麼?
有什麼需要使用這些?他們究竟意味着什麼?
我希望有人能幫我解決這個問題。
.macro add_sh rd, rn, rm, sh:vararg
A add \rd, \rn, \rm, \sh
T mov \rm, \rm, \sh
T add \rd, \rn, \rm
.endm
這個宏函數中的A,T,T是什麼?這個宏函數中的A,T,T是什麼?
有什麼需要使用這些?他們究竟意味着什麼?
我希望有人能幫我解決這個問題。
我猜想,這是ARM彙編代碼和A
和T
宏用來選擇取決於您是否正在構建(A)RM代碼或(T)humb代碼組裝哪些指令:
.macro add_sh rd, rn, rm, sh:vararg
A add \rd, \rn, \rm, \sh ;; ARM - just one instruction
T mov \rm, \rm, \sh ;; Thumb - these two instructions
T add \rd, \rn, \rm ;; ...
.endm
我想你可能是對的。這是我以前從未見過的語法。在ARM UAL中,您應該只能使用'add rd,rn,op2'格式,並且應該適當地爲ARM或Thumb進行編譯(儘管它可能會爲Thumb生成兩條指令,快速參考不會將其視爲在Thumb中不可用,但它確實表示它可能在Thumb-2中爲32位寬。 – rjp
什麼CPU系列和什麼彙編器?請適當標記。 –