Difference between revisions of "Assembler:Commands:LOOP"

From Cheat Engine
Jump to navigation Jump to search
Line 40: Line 40:
 
* [http://x86.renejeschke.de/ x86.renejeschke.de]
 
* [http://x86.renejeschke.de/ x86.renejeschke.de]
 
* [http://www.asmpedia.org/index.php?title=Main_Page asmpedia.org]
 
* [http://www.asmpedia.org/index.php?title=Main_Page asmpedia.org]
 +
* [http://ref.x86asm.net/ ref.x86asm.net]

Revision as of 04:31, 15 March 2017

command loop operand

The LOOP instruction assumes that the (E)CX register contains the loop count. When the loop instruction is executed, the (E)CX register is decremented and the control jumps to the target label, until the (E)CX register value, i.e., the counter reaches the value zero.

Used for Loop control.


Performs a loop operation using the ECX or CX register as a counter. Each time the LOOP instruction is executed, the count register is decremented, then checked for 0. If the count is 0, the loop is terminated and program execution continues with the instruction following the LOOP instruction. If the count is not zero, a near jump is performed to the destination (target) operand, which is presumably the instruction at the beginning of the loop. If the address-size attribute is 32 bits, the ECX register is used as the count register; otherwise the CX register is used.

x86.renejeschke.de/html/file_module_x86_id_161.html


Command Parameters

Parameter Description
operand The address or symbol to jump to


Examples

label(loop_start)
MOV ECX,10
loop_start:
// loop body
LOOP loop_start

See also

External links