鱼C论坛

 找回密码
 立即注册
查看: 2207|回复: 6

监测点9.1的第一题有点问题

[复制链接]
发表于 2013-8-5 20:11:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
下面是我的代码:
assume cs:code
data segment
db 0,0,0,4h
data ends
code segment
start:  mov ax,data
mov ds,ax
mov bx,0
jmp word ptr [bx+1]
code ends
end start
在data段中,我定义了db 0,0,0,4h
确实可以实现ip置0,但是我定义dw 0,0,0,4h居然也可以正常运行,还是可以使ip置0,这是为什么呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-8-5 20:18:11 | 显示全部楼层
好吧。。。我犯傻了。。。[bx+1]指向第三个字节所在处。。是0就行。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-15 22:30:18 | 显示全部楼层
问下 是指向第2个字节处把? BX=0 BX+1=1 就是你定义的0 0 第2个0把?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

发表于 2013-8-15 22:39:02 | 显示全部楼层
我错了,前面jmp word 这个word 是个字型数据 也就是说 从1开始到2 2个字节  读法就是 2 1的读取里面的值,也就是说 把IP变成0000的话 就要把1和2这个2个字节变成0,0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-16 09:46:16 | 显示全部楼层

一开始可能不习惯。12h这样高的数字,在内存中从低到高是2,1排列的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-8-11 00:23:47 | 显示全部楼层
CS:IP指向第一条指令,第一条指令时data中的数,还是mov ax,data这一条,如果是这条,DS:[bx+1]就不是data中的0002 0003这个地址吧!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-8-11 00:59:00 | 显示全部楼层
dddos 发表于 2014-8-11 00:23
CS:IP指向第一条指令,第一条指令时data中的数,还是mov ax,data这一条,如果是这条,DS:就不是data中的000 ...

草,word ptr,段内转移,浪费我半小时!散了吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-7 04:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表