Difference between revisions of "Assembler:Commands:LOOP"

From Cheat Engine
Jump to navigation Jump to search
Line 10: Line 10:
 
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.
 
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.
  
[http://x86.renejeschke.de/html/file_module_x86_id_161.html x86.renejeschke.de/html/file_module_x86_id_161.html]
 
 
</div>
 
</div>
  
Line 33: Line 32:
 
{{AssemblerCommandSeeAlso}}
 
{{AssemblerCommandSeeAlso}}
  
== External links ==
+
{{Template:AssemblerCommandExternalLinks}}
* [https://wikipedia.org/wiki/X86_instruction_listings wikipedia.org/wiki/X86_instruction_listings]
 
* [https://wikibooks.org/wiki/X86_Assembly/Other_Instructions wikibooks.org/wiki/X86_Assembly/Other_Instructions]
 
* [http://x86.renejeschke.de/ x86.renejeschke.de]
 
* [http://www.asmpedia.org/index.php?title=Main_Page asmpedia.org]
 
* [http://ref.x86asm.net/ ref.x86asm.net]
 

Revision as of 15:24, 3 January 2018

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.


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