汇编程序 - 使用ECX循环

时间:2012-03-22 20:39:04

标签: assembly x86

如我们所知,loop X指令在X之前已经过ECX = 0

我的问题 - 循环指令首先执行的操作:递减ECX,或检查ECX == 0.

意思是,以下内容是核心

第一

   ECX = ECX - 1;
   if ECX > 0
       go to X

第二

   if ECX > 0 {
       ECX = ECX - 1;
       fo to x; }

感谢。

1 个答案:

答案 0 :(得分:3)

第一个。来自英特尔的手册2A:

  

每次执行LOOP指令时,计数寄存器递减,然后   检查0.如果计数为0,则循环终止并执行程序   继续LOOP指令后的指令。如果计数不为零,   对目的地(目标)操作数执行近似跳转,这可能是   循环开始时的指令。