I would recommend checking out Avo (https://github.com/mmcloughlin/avo) if you're interesting in writing Go assembly programs. It provides type safety and does some checks to ensure you output valid assembly. It can dynamically allocate registers for you and calculate things like stack and frame size so you don't have to do that by hand. It also can handle calling convention details for you, very easy to load an argument into whatever register/location you'd like.
I recently ported all of the amd64 assembly in Go's crypto libraries over to Avo. Very useful library for this sort of work!
Incredible resource. The graphics modes of the ][ are so wacky and require real creativity and ingenuity to work around. I have tremendous respect for anyone who can program a working graphical interface under those constraints.
I recently ported all of the amd64 assembly in Go's crypto libraries over to Avo. Very useful library for this sort of work!