Con miedo de equivocarme lo digo a si que mejor esperar confirmacion ya que muy pocas veces eh trabajado con este tipo de sintaxis

# While
while:
cmp $0, %eax
je endwhile
addl p, %ebx # aux = aux + %ebx
jmp while
# End While
eax nunca se modifica osea que si eax no es 0 cuando entra nunca lo va a ser y se convierte en un bucle infinito