Esto es assembly puro, ejecuta el codigo del bucle (inc eax) un numero X de veces (de acuerdo al valor de ECX):
mov ecx, 5
xor eax, eax
bucle:
inc eax
loop bucle
http://pdos.csail.mit.edu/6.828/2006/readings/i386/LOOP.htmTambien podes hacerlo con cmp's y jmp's.
mov ecx, 5
xor eax, eax
bucle:
inc eax
dec ecx
cmp ecx, 0
jne bucle
Tambien podrias hacer lo contrario, iniciando el contador a 0, incrementandolo en cada pasada y comprobando si es igual (o mayor como en el ejemplo siguiente) al limite:
xor ecx, ecx
xor eax, eax
bucle:
inc eax
add ecx, 2
cmp ecx, 9
jna bucle
Este bucle se ejecutara mientras el resultado devuelto por func sea diferente de 0:
bucle:
call func
cmp eax, 0
jne bucle
Podes hacer uso de
JCC tambien.