10 lines
331 B
NASM

(2,4,5)
ADD(i1,0,r0) // r0 temp value to calculate
ADD(1,0,r1) // r1 loop counter
JE(i2,r1,4) // loop control (r1 == b)
MULT(i1,r0,r0) // r0 = r0*a
ADD(1,r1,r1) // increment loop counter
JUMP(-3) // loop
ADD(0,1,o0) // output size in o0
ADD(r0,0,o1) // o1 = a^b = i1^i2