. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(CPU工作原理)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  测试题弄不明白了  [待解决] 回复[ 6次 ]   点击[ 400次 ]  
lcm0001
[帖 主]   [ 发表时间:2012-11-08 13:59 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2012-11-05 15:58
1000:0 mov ax,8
1000:3 jmp ax
1000:5 mov ax,0
1000:8 mov bx,ax
1000:a jmp bx

运行到1000:a IP更改过几次

这问题郁闷死我了,我怎么觉得是个循环啊!
答案里有4 7 8 还有一个记不得了
求助大侠啊,解释下!
我在debug里弄了下,IP更改过13次
yu923928784
[第1楼]   [ 回复时间:2012-11-08 23:37 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2012-10-16 21:22
6次
1000:0 mov ax,8  一次
1000:3 jmp ax    两次 三次
1000:5 mov ax,0 
1000:8 mov bx,ax  四次
1000:a jmp bx     五次 六次
ot88to
[第2楼]   [ 回复时间:2012-11-09 17:48 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2012-09-25 19:43
1楼正解!
lcm0001
[第3楼]   [ 回复时间:2012-11-10 14:03 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2012-11-05 15:58
感谢1楼老师啊!
erling
[第4楼]   [ 回复时间:2014-07-14 10:45 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2014-07-14 09:57
回复:[第1楼]
------------------
1000:0 mov ax,8
1000:3 jmp ax 
1000:5 mov ax,0 
1000:8 mov bx,ax 
1000:a jmp bx  

运行到1000:a IP更改过几次

运行到1000:a,代表1000:a jmp bx这条指令已经执行完。
1) 取指mov ax,8。IP=3(第1次修改)。执行mov ax,8。此时ax=8。
2)取指jmp ax 。IP=5(第2次修改)。执行jmp ax 。IP=ax=8(第3次修改)。
3)取指mov bx,ax。IP=a(第4次修改)。执行mov bx,ax。此时bx=8。
4)取指jmp bx 。IP=c(第5次修改)。执行jmp bx 。IP=bx=8(第6次修改)。
firstasm
[第5楼]   [ 回复时间:2014-08-27 15:37 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2014-08-26 21:14
不是4次吗?
就是1楼和4楼分析的步骤,但是最后一步没运行吧?
运行到1000:a,说明1000:a还没运行吧?
gyq
[第6楼]   [ 回复时间:2014-08-28 02:50 ]   [引用]   [回复]   [ top ] 
荣誉值:4
信誉值:0
注册日期:2014-08-02 21:25
以下链接的博主写的题目是:CPU从1000:0处开始执行指令当执行完1000:a处的指令后CPU几次修改IP 。
http://www.asmedu.net/blog/user/postcontent.jsp?neighborId=54109&kindLevel=1&kindId=73539&postId=63075&readSg=1

那就是6次,没得商量了,楼上都分析的很棒。
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved