汇编语言嵌套循环

时间:2018-07-06 12:49:54

标签: loops assembly x86-16

由于我是这门语言的新手,它听起来似乎有点新手,但这几天就在我的考试中出现了,我真的很想知道答案。

根据我内部的程序员,我认为结果将是:

  

EAX = 280

所有帮助将不胜感激。 以下程序的EAX寄存器的最终值是多少?

mov eax, 0 
mov ecx, 10 
loop1: 
mov ecx, 5 
mov eax, 3 
loop2: 
add eax, 5 
jmp loop2 
jmp loop1

1 个答案:

答案 0 :(得分:3)

我不确定您如何找到该程序将在EAX = 280处停止。

从您的代码中,将执行以下指令:

1:     mov eax, 0 
2:     mov ecx, 10 

loop1: 
3:     mov ecx, 5 
4:     mov eax, 3 
loop2: 
5:     add eax, 5 
6:     jmp loop2 
7:     add eax, 5
8:     jmp loop2
9:     add eax, 5
...

由于您没有条件,该程序将永远不会停止,并且将eax永久递增5,然后跳转到loop2loop1的分支将永远不会执行。