关于loop指令的疑问
为了这个loop指令纠结了好几天 。。。假如有一段代码mov cs=1
s: mov ax,0
loop s
还有第九章的这个问题
谁能帮我详细的讲一下loop 指令执行时的过程和cs中的变化情况?? 我记得LOOP是依据的CX的值吧!
这位同学别搞混了咯!LOOP和CS无关的啊 loop 是循环没错吧!
既然有循环就要有循环次数!一个无限次数的循环就是常说的 '死循环',我们可不想要死循环~
所以在汇编中需要有一个值 来告诉 loop指令,要执行多少次!!!
而这个值就存在 CX 中,至于为什么在CX中,这个就没什么好说的了.死规定就是这样了.
--------------------
然后你又说道 在循环(loop)执行的时候 CS的变化.其实在循环执行的时候CS 是不发生变化的.
原因是,CS存的是代码 也就是指令,循环其实就是在重复这些指令,一遍一遍的不停的执行.所以说循环的时候
CS是不变化的
--------------------------------------
有任何错误之处,请及时指出,以免误人子弟{:2_27:} 那个题应该填,jcxz ok
jcxz的意思是用C语言解释就是:
if(0 == cx)
jmp ok;(跳到标号ok处) 这个loop和CX的关系就是for(i = 0; i < 10; i++)循环中这个for 和 i的关系,用i控制循环的次数,汇编用cx的值控制循环的次数。
页:
[1]