张国祥 发表于 2011-6-26 17:11:43

检测点3.1问题

本帖最后由 张国祥 于 2011-6-28 17:37 编辑

第二题:

mov ax,6622                               cs=2000 ip=0003 ax=6622
jmp 0ff0:0100                            cs=0ff0 ip=0100 ax=6622
mov ax,2000                              cs=0ff0 ip=0103 ax=2000
mov ds,ax                                        cs=0ff0 ip=0105 ax=2000 ds=2000
mov ax                                    cs=0ff0 ip=0108 ax=c389
mov ax,                                    cs=0ff0 ip=010b ax=ea66其中jmp 0ff0:0100   执行后,cs、ip应该是像我写的那样吧?小甲鱼的答案写的是别的:

那么我的对不对呢?

再生缘 发表于 2011-6-26 17:24:33

0ff0:0100 的物理地址是10000H   而1000:0的物理地址也是10000H是一样的

张国祥 发表于 2011-6-26 17:29:44

再生缘 发表于 2011-6-26 17:24 static/image/common/back.gif
0ff0:0100 的物理地址是10000H   而1000:0的物理地址也是10000H是一样的

意思是说我的也对?

张国祥 发表于 2011-6-27 17:52:16

再生缘 发表于 2011-6-26 17:24 static/image/common/back.gif
0ff0:0100 的物理地址是10000H   而1000:0的物理地址也是10000H是一样的

我的方法对吗?

Mr.HO 发表于 2011-6-27 22:23:52

张国祥 发表于 2011-6-27 17:52 static/image/common/back.gif
我的方法对吗?

没错!!!!!!!!!!!

bjhrwzh 发表于 2011-7-5 18:07:00

学习了啊~!~!我也是迷惑这里了。现在明白了

king嗜血法师 发表于 2011-7-5 21:53:43

本帖最后由 king嗜血法师 于 2011-7-5 21:54 编辑

按值讲应该是0ff0:100,虽然地址是一样的。
我也没去试,去debug试试就知道了。

381984421 发表于 2011-7-13 14:51:47

没去debug调试,跟着CS和IP的指向一步一步按顺序就下来了,这节没问题,下节开始,强烈顶起,小甲鱼的教程,哈哈,教程里逗乐我N次了,讲的太好拉:loveliness:

boss-tb 发表于 2015-2-12 17:32:06

:sweat:
jmp 0ff0, 0100
这个之后下面的代码是不会被执行的
会默认执行{bx + sl} * al
cs=2000 ip=3
cs=2000 ip=0ff0
cs=2000 ip=0ff2
cs=2000 ip=0ff4
cs=2000 ip=0ff6
cs=2000 ip=0ff8
这个才是正确答案!!!!!!

boss-tb 发表于 2015-2-12 18:18:15

2.写出CPU执行每条指令后,CS、IP和相关寄存器中的值。
mov ax,6622h   cs=2000h ip=0003h
jmp 0ff0:0100cs=0ff0ip=0100h
mov ax,2000h   cs=1000h ip=0003h
mov ds,ax      cs=1000h ip=0005h
mov ax,cs=1000h ip=0008h
mov ax,cs=1000h ip=000bh
3.再次体会:数据和程序有区别吗?如何确定内存中的信息那些事数据那些是程序?
数据存放在数据段寄存器
程序存放在代码段寄存器
页: [1]
查看完整版本: 检测点3.1问题