Peter,
The poor chap does not sleep well, he can't lie on his back anyway, and his talons get tangled in the duvet!
Microcode instructions, like
loop, are somewhat deprecated. They take longer to execute than the individual instructions.
Intel has produced one of their mighty tome on the subject of optimisation:
http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-optimization-manual.pdfloops in this format will actually use less instructions than your loop construct, and are not restricted to short loops:
y=20
c=0
do
dec y
jl exit
inc c
end do
print c
the basic loop translates to:
(
._do
dec [ebp - ]
jl exit
...
jmp long _do
._exit_do
)