之前的 程序都是顺序执行,现在我们看看,如果做到循环,循环需要一个计数器来记录次数,ECX就是这个功能。LOOP用来跳转到 标号,当ECX=0时,循环结束
;test_09 INCLUDE irvine32.inc INCLUDELIB Irvine32.lib INCLUDELIB KERNEL32.LIB .data arrayA WORD 10h,20h,30h,40h .code main PROC mov edi ,OFFSET arrayA mov ecx,LENGTHOF arrayA mov eax,0 @@: add eax,[edi] add edi,TYPE arrayA loop @B call DumpRegs exit main endp END main
程序中几个关键的 操作符我们都学过了,@@ 是匿名标号,@B 代表返回到前面最近的 标号。