请问这段汇编代码是什么意思?
#ifdef __ASSEMBLY__.macro it, cond
.endm
.macro itt, cond
.endm
.macro ite, cond
.endm
.macro ittt, cond
.endm
.macro itte, cond
.endm
.macro itet, cond
.endm
.macro itee, cond
.endm
.macro itttt, cond
.endm
.macro ittte, cond
.endm
.macro ittet, cond
.endm
.macro ittee, cond
.endm
.macro itett, cond
.endm
.macro itete, cond
.endm
.macro iteet, cond
.endm
.macro iteee, cond
.endm
#else /* !__ASSEMBLY__ */
__asm__(
" .macro it, cond\n"
" .endm\n"
" .macro itt, cond\n"
" .endm\n"
" .macro ite, cond\n"
" .endm\n"
" .macro ittt, cond\n"
" .endm\n"
" .macro itte, cond\n"
" .endm\n"
" .macro itet, cond\n"
" .endm\n"
" .macro itee, cond\n"
" .endm\n"
" .macro itttt, cond\n"
" .endm\n"
" .macro ittte, cond\n"
" .endm\n"
" .macro ittet, cond\n"
" .endm\n"
" .macro ittee, cond\n"
" .endm\n"
" .macro itett, cond\n"
" .endm\n"
" .macro itete, cond\n"
" .endm\n"
" .macro iteet, cond\n"
" .endm\n"
" .macro iteee, cond\n"
" .endm\n");
#endif /* __ASSEMBLY__ */
我查了一下就是没查到iteee,it这些指令的意思哈! .后面的不是指令。反正AVR编译器里不是。 这个好像是汇编的宏定义 这些宏是用于配合arm thumb2指令集的if-then-else指令。
例如:
it = if then
itt = if then then
ite = if then else
iteet = if then else else then
-----------
if后面的then和else可以根据程序的需要随意配置,最多4个。
then是条件condition为真时,执行的指令,condition为假就忽略。
else是条件condition为假时,执行的指令,condition为真就忽略。 好混乱 。。。的确很混乱,但是上面的我看不出是上面意思哈!
页:
[1]