;; do 2^n ;; n = 3, a = 2 ;; while n > 0 ;; a = a * a ;; n = n - 1 ;; let r1 = n, r2 = a .a 0 .c ld r1 #3 ld r2 #2 jmp always label1 :loop mul r2 r2 r2 sub r1 r1 #1 :label1 sub r0 r1 r0 jmp GT loop trap stop r0 .e