整个预编译段便是为了阐明要ARM的当时状况和编译器的状况要共同。这是个规范的比如,实践大多数状况不需要。可是上面的config==16只阐明你编译器当时在运用的TASM.EXE 但你现在 Thumb-capable ARM processors start in ARM state(留意是MCU的状况和编译器无关)。所以要使两者共同编译出来的代码才干被运转,运用CO
;Check if tasm.exe(armasm -16@ADS1.0) is used.
GBLL THUMBCODE
[ {CONFIG} = 16
THUMBCODE SETL {TRUE}
CO
|
THUMBCODE SETL {FALSE}
]
MACRO
MOV_PC_LR
[ THUMBCODE
bx lr
|
mov pc,lr
]
MEND
MACRO
MOVEQ_PC_LR
[ THUMBCODE
bxeq lr
|
moveq pc,lr
]
MEND