Assembly 这个宏函数中的A,T,T是什么?
这个宏函数中的A,T,T是什么 使用这些有什么必要?他们到底是什么意思Assembly 这个宏函数中的A,T,T是什么?,assembly,macros,arm,Assembly,Macros,Arm,这个宏函数中的A,T,T是什么 使用这些有什么必要?他们到底是什么意思 我希望有人能在这方面帮助我。我猜这是ARM汇编代码,A和T宏用于选择要汇编的指令,具体取决于您是在生成(A)RM代码还是(T)humb代码: .macro add_sh rd, rn, rm, sh:vararg A add \rd, \rn, \rm, \sh T mov \rm, \rm, \sh T add
我希望有人能在这方面帮助我。我猜这是ARM汇编代码,
A
和T
宏用于选择要汇编的指令,具体取决于您是在生成(A)RM代码还是(T)humb代码:
.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
什么CPU系列和什么汇编程序?请适当地标记。我想你可能是对的。这是我以前从未见过的语法。在ARM UAL中,您应该只能够使用
add rd,rn,op2
格式,并且应该为ARM或Thumb进行适当的编译(尽管它可能会为Thumb生成两条指令)。快速参考并没有指出Thumb中不可用,但它确实指出Thumb-2中可能有32位宽。
.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