Look how the macro is used:
Code:
asm {
...
AIX #1
__FEED_COP_IN_HLI() ; // it's necessary to feed the COP in the inner loop for the fast COP timeout of some derivatives
Zero_0:
DBNZA Zero_2
.....
}
The _FEED_COP cannot be used in a HLI, its written so that it has to be called in a C code area.
Therefore the __FEED_COP_IN_HLI macro first closes the open asm { block with a single brace },
the
__asm {
part at the end reopens the HLI block again.
Note that the __FEED_COP_IN_HLI macro is defined in a C file for a particular usage,
for the general (C code) case, use the _FEED_COP macro.
If you do not understand how in C a particular macro works, I would suggest to check the generated preprocessor output.
Daniel