鱼C论坛

 找回密码
 立即注册
查看: 1965|回复: 7

关于段地址与CS:IP的问题

[复制链接]
发表于 2013-10-27 22:07:50 | 显示全部楼层
本帖最后由 青草 于 2013-10-27 22:15 编辑

这个我记的MOV这个指令 内存数据和寄存器操作好象都是3字节  而MOV对寄存器与寄存器操作好象都是2这节  MOV是二进制编程助记符 而你可以看出第二长图 第一句MOV中找到的三个字节 B8 23 01  这个B8的机器指令应该是对AX寄存器操作(传送数据)  后面23 01 是WORD数据  高字节01低字节23 排列后是0123  在加个H 就是0123H源地址数据传送到目标AX寄存器中   B8是CPU内部运算器运算后会找到对应的指令集中的指令(16位内存MOV取三字节其中两字节是内存地址 32位内存MOV EAX,**可能读的就是五这节了其中的四字节是内存地址)这里内存对寄存器传送数据必须是绝对内存地址!!!!!!!!而不是跳转中的位移!!!!

而第一个图中IP给出了是0000 这个IP是假设的  CPU加电时IP是指向主板只读内存中的数据  后来转到内存  真实的IP不好断定是几 只是程序运行时 有系统进行修改 还有遇到CALL之类的跳时修改  自己不必追究这么多 书上不是说了吗 以后的问题以后解决  看完书 只要用心 会懂的


声明:只是提供参考  并不做绝对答案 (对不对 还是自己去了解)上面可能有错别字我不改了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-20 14:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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