microcreat 发表于 2011-9-9 17:31:52

请问这段汇编代码是什么意思?

#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这些指令的意思哈!

Xearo 发表于 2011-9-9 17:54:54

.后面的不是指令。反正AVR编译器里不是。

zhangshuxin 发表于 2011-9-9 20:25:50

这个好像是汇编的宏定义

John_Lee 发表于 2011-9-12 17:14:10

这些宏是用于配合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为真就忽略。

babaili2010 发表于 2011-9-13 10:06:32

好混乱

microcreat 发表于 2011-9-13 16:32:35

。。。的确很混乱,但是上面的我看不出是上面意思哈!
页: [1]
查看完整版本: 请问这段汇编代码是什么意思?