SDCC currently supports two forms of inline assembler:
1:
__asm
asm code here
__endasm;
and
2:
__asm("asm code here");
Form 1 requires some ugly hacks to avoid conflicts in the preprocessor.
I wonder if we could drop those, and maybe even change the keyword in
form 2 to __asm__.
Does anyone rely on form 1 and would not want support for it dropped?
Any opinions on the possible rename of form 2?
For comparison, GCC and clang both use:
__asm__("asm code here");
as well as the following variants:
* Using asm instead of __asm__
Which I think we do not want
* __asm__("asm code here" : Output);
* __asm__("asm code here" : Output : Input);
* __asm__("asm code here" : Output : Input : Clobbers);
* __asm__ goto("asm code here" : Output : Input : Clobbers : Labels);
These variants (which GCC allows in non-naked functions only) we might
want to support sometime (depending on user demand and SDCC developers
finding time to implement it).
Philipp
_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user