I quit avr-gcc and went to BASCOM and worked for one month and the results were awesome and I did well on another contest. However, there are little problems like I can't do A=1+B+3*D, but have to write A=1+B, then make a new global or local variable, NewVariable=3*D, a=a+NewVariable. And sometimes, the footprint seems bigger than in C because C uses registers unlike BASCOM that after every operation stores the variables into memory. So because of this, I'm thinking of going back to C for AVR, but I'm not sure if the problem with 24/32bit PROGMEM and PSTR pointers and going over 64kb in RAM and __memx functions, printf_PF, insertsomethinghere_PF has been fixed. Is it fixed? How is LLVM-AVR? Does it have the problem solved?
Please do NOT:
- Tell me to move to ARM
- Tell me to use inline ASM because it has a horrible syntax and writing "LDS R16, CPU_RAMPZ" gives me an error. I'd rather use full ASM (not for the current project, but another one which is an interpretter for video games and will have a >64kB video buffer for the screen)
- Tell me to buy IAR Embedded Workbench because I contacted the sellers and the price is horrible (I barely bought BASCOM only because one person on the internet donated money to me because I bored him with my famous seeking for free and alternative)