. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(内存访问)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  为什么mov ip,1000不成立,mov sp,1000就成立  [待解决] 回复[ 3次 ]   点击[ 441次 ]  
j2167
[帖 主]   [ 发表时间:2014-07-15 14:20 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2014-07-14 13:32
困惑中,CS:IP   DS:IP   SS:SP   按理说,同样作为偏移地址的IP,理应跟SP一样,都可以接受数据的直接输入,但是,IP就是不行,SP就是可以,不能晓其中原由,望大虾指点
zgmjiayou
[第1楼]   [ 回复时间:2014-08-01 11:46 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-01-03 19:48
很好的问题,CS:IP是指令指针寄存器,如果允许修改IP,稍不注意就会影响别的程序的正常运行甚至危及到操作系统的安全(如果可以的话,通过修改CS:IP不就可以直接获取内核最高权限了吗?)。鉴于这样的理念,如果仅通过编程是无法对IP进行任何直接操作的,所有的操作只能由CPU内部完成。
SS:SP最多只是你个人的程序不能正常运行,但不会对别的程序有直接影响。

----------------------------------------------------------------------------------个人理解
zgmjiayou
[第2楼]   [ 回复时间:2014-08-05 07:39 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-01-03 19:48
补充一下,上面说的“修改IP”是不能直接接收数据的意思,并不是不能修改,事实是可以通过转移指令由CPU的内部进行修改操作。
zgmjiayou
[第3楼]   [ 回复时间:2014-08-05 07:39 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-01-03 19:48
跳转指令
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved