Closed hikari-no-yume closed 1 year ago
For reference the "immediate rune" shortcuts that were introduced into uxnasm just 4-5 months ago are…
;func JSR2
becomes func
;label JMP2
becomes !label
;label JCN2
becomes ?label
The old forms each assemble into 4 bytes (LIT2 + address + opcode), the new forms into 3 bytes (opcode + address).
The old builds have been updated and should include a uxnasm that supports immediate words. No need to support the old forms. Even the self-hosted assembler(drifblim) that I use supports them.
Thanks, @neauoire! I think that nicely addresses this.
The version of
uxnasm
included in the macOS binary release at https://100r.co/site/uxn.html doesn't accept the output from this compiler right now:lynn says it's because a bare token like
main
being a function call is a newish feature. It works when building the latestuxnasm
from source (git clone https://git.sr.ht/~rabbits/uxn && cd uxn && ./build.sh
).I guess many other people might have one of these binary releases, so we might want to change the emitted function calls to work the old way.