A better fix for wacky gcc weirdness.
[uccvend-snackrom.git] / ROM2 / asm.h
index 601c569..0dac1b0 100644 (file)
@@ -16,10 +16,10 @@ extern inline void bset(const void* addr, const u8 mask) {
        asm volatile (
                "ldx %0\n"
                "bset 00,x,%1\n" 
-               :                          /* outputs */
-               : "m" (addr), "g" (mask)   /* inputs */
+               : "=m" (addr)              /* outputs */
+               : "g" (mask)               /* inputs */
                : "x"                      /* altered registers */
-               );
+       );
 }
 
 extern inline void bclr(const void* addr, const u8 mask) {
@@ -28,10 +28,10 @@ extern inline void bclr(const void* addr, const u8 mask) {
        asm volatile (
                "ldx %0\n"
                "bclr 00,x,%1\n"
-               :                          /* outputs */
-               : "m" (addr), "g" (mask)   /* inputs */
+               : "=m" (addr)              /* outputs */
+               : "g" (mask)               /* inputs */
                : "x"                      /* altered registers */
-               );
+       );
 }
 
 extern inline void lock() {

UCC git Repository :: git.ucc.asn.au