wwangyongy 发表于 2023-2-15 10:07:06

P49 call和ret指令 疑问 望解答 感谢

start:
mov ax,1      
moc cx,3      
call s         
mov bx,ax   
mov ax,4c00h   
int 21h
s:add ax,ax   执行到这里相当于1+1=2 将2存入ax中
loop s                标号s处循环3次,上一句ax已经等于2了,第一次循环不是应该2+2=4吗,为什么是从1+1开始,难道是碰到loop循环语句的时候ax会回归到初始值
ret

望解答不胜感谢!!!

人造人 发表于 2023-2-15 19:34:46

add ax,ax
这条指令一共执行了几次?
4次?

wwangyongy 发表于 2023-2-16 10:36:33

循环3次,因为cx=3,add ax,ax   ax=2
loop循环3次,不是应该是2+2=4,4+4=8,8+8=16
为什么要从1+1开始,搞不懂
算了,不纠结了,老师怎么教,就怎么学吧
感谢回复~!~!~!~

人造人 发表于 2023-2-16 12:52:04

wwangyongy 发表于 2023-2-16 10:36
循环3次,因为cx=3,add ax,ax   ax=2
loop循环3次,不是应该是2+2=4,4+4=8,8+8=16
为什么要从1+1开始, ...

add ax,ax
这条指令一共执行了几次?
4次?
先回答这个问题,你的意思是 add ax,ax 这条指令一共执行了4次是吗?
页: [1]
查看完整版本: P49 call和ret指令 疑问 望解答 感谢