allocate-registers n, cont, lsd, ten, pd, sp, one li one, 1 li ten, 10 li sp, 0 li pd, print-digits read n li cont, done print-digits: ; prints out the digits of n, one by one, from most significant ; to least, then jumps to cont; n is positive or zero, but zero ; means print no digits at all jeqz n, cont st n, sp add sp, sp, one st cont, sp add sp, sp, one quo n, n, ten li cont, last-digit j pd last-digit: sub sp, sp, one ld cont, sp sub sp, sp, one ld n, sp rem lsd, n, ten write lsd j cont done: halt