Pardon, but the assembly code on the "Loop de Loop" chapter currently seems broken. "rax" is acting as all three variables somehow.
mul rcx, rax ; multiply our result by our base, save into rcx
This should probably be using rbx, since that's the designated base, not rax, which is the exponent.In the explanation just above, there's a 2*8 step missing, while this one is incorrect:
4. result = 16 * 2, result is now 16
Since 2*16 is not 16.