|
主题 : : 关于loop指令中“0-1=FFFFH”经典问题 [待解决] |
回复[ 13次 ]
点击[ 689次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2008-07-20 19:56 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-07-18 07:43 |
mov cx,0
s: mov ax,bx
loop s
以上指令序列执行后mov ax,bx被执行了多少次__2__(正确答案)_。
1、 0
2、 256
3、 65535
4、 65536
,知道loop会把0-1以后进行判断,cx=FFFF,我 看了论坛里 的 一些 讨论,说 是 因为是loop是 短转移,
但 我 还 是 想 不 通,为 什么 仅仅被 执行256次,而不 是 65536??? | | |
|
|
|
|
[第1楼]
[ 回复时间:2008-07-20 20:43 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-07-20 13:58 |
嗯,我也想知道!
我把 mov ax,bx 换成 inc ax
在debug中实验,结果ax由0最后还是0
应该是65536啊…… | | |
|
|
|
|
[第2楼]
[ 回复时间:2008-07-20 22:33 ]
[引用]
[回复]
[ top ] | |
荣誉值:405
信誉值:0
注册日期:2008-01-19 14:51 |
|
|
|
|
|
[第3楼]
[ 回复时间:2008-07-21 10:02 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-07-18 07:43 |
|
|
|
|
|
[第4楼]
[ 回复时间:2008-07-21 15:25 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-07-20 13:58 |
|
|
|
|
|
[第5楼]
[ 回复时间:2008-07-22 15:11 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-07-18 07:43 |
|
|
|
|
|
[第6楼]
[ 回复时间:2008-07-23 15:48 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:0
注册日期:2008-06-09 19:12 |
我 看了论坛里 的 一些 讨论,说 是 因为是loop是 短转移,
-----------------------------------------------------------------------------------------
回复:
答案:65536
原因:楼主首先再次进行一下区分,loop 指令循环次数的控制是由CX寄存器内的数据决定的.loop 是短转移指令是它的转移地址空间的大小,短转移的大小为256个字节大小:
EG:
assume cs:code
code segment
start:
mov ax,1234H
mov cx,4H
s:
mov ax,0H
inc ax
db 123D dup (90H)
loop s
;jmp near ptr s
mov ax,4200H
int 21H
code ends
end start
而循环的次数在cx寄存器中,能表示的范围是0~65535,当为0时,0H-1H=FFFFH <> 0所以循环次数应该为65536,与loop 是短转移指令没有关系. | | |
|
|
|
|
[第7楼]
[ 回复时间:2008-07-24 09:48 ]
[引用]
[回复]
[ top ] | |
荣誉值:98
信誉值:2
注册日期:2007-10-09 18:23 |
|
|
|
|
|
[第8楼]
[ 回复时间:2008-07-28 23:24 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-07-21 16:35 |
|
|
|
|
|
[第9楼]
[ 回复时间:2008-07-29 14:40 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-07-29 14:37 |
欢迎大家光临 极酷论坛:www.jococ.com | | |
|
|
|
|
[第10楼]
[ 回复时间:2008-08-26 23:03 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:4
注册日期:2008-04-12 00:20 |
哦,明白了,被搞糊涂了,还是基础没有掌握好,被忽悠了。 | | |
|
|
|
|
[第11楼]
[ 回复时间:2009-03-31 22:41 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:0
注册日期:2009-03-27 20:52 |
|
|
|
|
|
[第12楼]
[ 回复时间:2012-08-20 22:14 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2012-08-14 17:57 |
|
|
|
|
|
[第13楼]
[ 回复时间:2012-08-31 02:52 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2012-07-21 21:21 |
|