. : : Assembly Language : : .
|
首页
|
我提出的问题
|
我参与的问题
|
我的收藏
|
消息中心
|
游客 登录
|
刷新
|
提问
|
未解决
|
已解决
|
精华区
|
搜索
|
《汇编语言》论坛
->
转移指令的原理
管理员:
assembly
[
回复本贴
]
[
收藏本贴
] [
管理本贴
] [
关闭窗口
]
主题 : :
一道检测题
[待解决]
回复[
2
次 ] 点击[
632
次 ]
t181935471
[帖 主]
[ 发表时间:2009-06-06 21:50 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2009-04-09 19:14
mov cx,0
s: mov ax,bx
loop s
以上指令序列执行后mov ax,bx被执行了多少次_____。 4
1、 0
2、 256
3、 65535
4、 65536
注解:loop s执行时,先cx自减1,cx=cx-1=0-1=0+10000H-1=FFFFH,即65535,加上loop s前mov ax,bx被执行了一次,所以mov ax,bx被执行了65535+1=65536次
上述注解,不是很懂,希望大家能指教下,谢谢!
abob
[第
1
楼]
[ 回复时间:2009-06-08 11:18 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:169
信誉值:0
注册日期:2008-08-19 16:07
这个提要需要的知识点是loop指令的执行步骤。
先cx--,然后再用cx和0比较判断是否跳出循环。
设置mov cx,1当执行loop指令,即满足条件退出loop循环。(也就是说循环一次,这个和第五章使用loop相和)。
而当设置mov cx,0。当执行loop指令,先cx=cx-1,此时cx=ffffH。cx不等于0,则继续循环。
cx=ffffh,cx=cx-1,即cx=fffeh,不等于0,则继续循环。
直到cx=1时,执行loop指令,才退出循环。
t181935471
[第
2
楼]
[ 回复时间:2009-06-09 15:35 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2009-04-09 19:14
这个提要需要的知识点是loop指令的执行步骤。
先cx--,然后再用cx和0比较判断是否跳出循环。
设置mov cx,1当执行loop指令,即满足条件退出loop循环。(也就是说循环一次,这个和第五章使用loop相和)。
而当设置mov cx,0。当执行loop指令,先cx=cx-1,此时cx=ffffH。cx不等于0,则继续循环。
cx=ffffh,cx=cx-1,即cx=fffeh,不等于0,则继续循环。
直到cx=1时,执行loop指令,才退出循环。
------------------
回复:
先cx=cx-1,此时cx=ffffH cx=-1,为什么要表示成补码形式呢?是计算机的规定还是?
需要登录后才能回帖 -->>
请单击此处登录
Copyright © 2006-2024 ASMEDU.NET All Rights Reserved