Keith Gudger wrote:
Thanks for the replies.  I tried volatile, and it did not make any
difference.

I got the tool chain from the web, and compiled it myself.  Is there
something wrong with the gcc version?  Thanks.  (I know that avr-libc and
binutils are acceptable versions.)

No, they're fine.



I have a macro defined:

#define WRITE_4BYTES(x, y) { CS_LOW \
           *(BASE + ((y) ))) = (INT8U) (x); \
           *(BASE + ((y + 1)))) = (INT8U) (x >> 8);\
           CS_HIGH }

(where BASE is defined as an 8 bit pointer with a value 0x8000 in ext
ram and the macros CS_LOW and CS_HIGH are predefined to set a pin lo /
high).


get the following (for the atmega128):

   42f2:       31 83           std     Z+1, r19        ; 0x01
   42f4:       20 83           st      Z, r18


Keith, can you provide more context of the assembler output?

Thanks


--
Eric Weddington


_______________________________________________
AVR-chat mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/avr-chat

Reply via email to