# Would be compiled to print.o and linked to 1.pasm. The syscall instruction takes care of the actual logic print: # setup stack, basically subi sp, 8 decstack 8 # save args to temp registers loadaddr a0, t0 loadval a0, t1 # output to fd (syscall, then let kernel handle what that stream goes to, e.g. Terminal Process pid3 on UART0) loadval a0, t1 loadaddr success_string, a0 loadval 0, a1 # syscall number for write -> 1 loadval 1, a2 syscall incstack 8 # basically jumpaddr *sp or something. Uses the RAM address referred to by the register rather than the value of the reg ret