Or, you could just go the whole hog. Create your own simple CPU emulator, design a basic 8bitesque CPU, give it an output port that is the console, and load up some basic ASM to cycle through Hello World to the console port.
Mostly the missing listing of clobbered registers.
Other than that it's mostly just that you're doing useless things, like manually putting the stuff into the registers instead of letting the compiler do it, and the useless push and pop. And the loop is obviously not needed and would hurt performance if you do every write like that.
Plan 9 does the job. GNU is better for the end user. But if I had to maintain that stuff I would definitely want to maintain the Plan 9 code and not the GNU code.
dc <<<'10435358689859 70511561 11297399 23 5 3 2 ******P'
note: lemmy's "smart quotes" vs its input sanitization required me to code-format the second half of that line (and not the first half) to make it copy+paste runnable.