74F+73F=F000?,什么情况
file:///C:/Users/Administrator/AppData/Roaming/Tencent/Users/1392987848/QQ/WinTemp/RichOle/AQSJ9~8M(DPWGXZ~3H$$OBN.jpg穷穷穷农民_7411 发表于 2012-12-19 22:07 static/image/common/back.gif
但是我debug出来cs却是F000
可以用JMP指令
JMP 段地址:偏移地址
如:jmp 2AE3:3
jmp3:0B16
功能:用指令中给出的段地址修改CS,偏移地址修改IP 我在dosbox里写mov ax,74F mov cs,ax cs的默认值是73F debug出来cs变成F000了 mov ax,74f
mov cs,ax
cs应该是74f吧,不论原来的cs是什么,都被覆盖掉了啊。
传送指令mov指令的格式是:mov DST,SRC
此指令把一个字节或一个字从源操作数SRC送至目的操作数DST
但是mov指令的传送有如下规定:
1.源操作数和目的操作数不能同时是段寄存器
2.代码段寄存器CS不能作为目的操作数
3.指令指针IP既不能作为源操作数也不能作为目的操作数
你的问题是违反了第2条规定,将段寄存器CS左为了目的操作数,所以会出错。
参考书籍:杨季文<<80X86汇编语言程序设计教程>>
四楼正解,只能mov ax,cs 不能对CS进行操作 只能DS SS ES 会飞的熊 发表于 2012-12-18 22:56 static/image/common/back.gif
mov ax,74f
mov cs,ax
cs应该是74f吧,不论原来的cs是什么,都被覆盖掉了啊。
但是我debug出来cs却是F000 SkyYA 发表于 2012-12-19 12:22 static/image/common/back.gif
不能对CS进行操作 只能DS SS ES
为什么哦?可以修改cs啊 haobing021 发表于 2012-12-19 10:18 static/image/common/back.gif
传送指令mov指令的格式是:mov DST,SRC
此指令把一个字节或一个字从源操作数SRC送至目的操作数DST
但是mo ...
代码段寄存器CS不能作为目的操作数--->那怎么修改cs? 四楼正解。 哥哥能用jmp、jz、je那些吗 穷穷穷农民_7411 发表于 2012-12-19 22:08 static/image/common/back.gif
为什么哦?可以修改cs啊
这个规定 CS由系统管理
在DEBUG中可以用R命令修改CS和IP的值 等于E8E,,如果是hex的话 的确不能用mov指令修改cs,刚查了下汇编金手指, 会飞的熊 发表于 2012-12-21 19:44 static/image/common/back.gif
的确不能用mov指令修改cs,刚查了下汇编金手指,
谢谢啊,呵呵 路过看看呵呵
页:
[1]