El error es el siguiente:
donde dice
"check_while:
CMP r3 r2 // sup - inf
jn do
fin:"
debería decir:
"check_while:
CMP r3 r2 // sup - inf
jn fin
jmp do
fin:"
Saludos