Remix.run Logo
Lerc 6 days ago

I was working on something using AVR assembly as a fantasy console.

I never quite completed it, but I managed a emulator/assembler IDE in the browser. Making my own assembler let me play around with some ideas for macros.

It could even load programs from gists.

https://k8.fingswotidun.com/static/ide/?gist=ad96329670965dc...

Reflecting on it now, I think one feature that could help a assembler on devices like this is the ability to inline compile assignment expressions that use values of only one type. It would be easy enough to emit a stream of instructions for

    x=32+(x*(y+2))
or even

    r15=32+(r15*(y+2))
using registers as expression values.

The result would usually be what an assembler writer would write themselves.

I think a macro assembler that did that would ease a lot of the tedium of assembly while maintaining the near absolute control over memory use and IO that you need for low level coding.