I'm writing a driver source using gcc-asm instead of spin/pasm and I found that there is a little syntax difference:
With spin/pasm, if I write:
rdlong var_base, ptr
add ptr, #4
rdlong var_base + 1, ptr
It works and writes the longs readed from hub memory to the location var_base and var_base+1, however the same code compiled with gcc-asm doesn't work, I think it takes only the first part (var_base) and ignore the addition and all results are written to the same location.
The obvious fix is to explicitly name the destination locations, however I wonder if this is a known issue, or there is a different syntax to do the same?