海纳百川
登录
|
登录并检查站内短信
|
个人设置
网站首页
|
论坛首页
|
博客
|
搜索
|
收藏夹
|
帮助
|
团队
|
注册
|
RSS
主题:
答票友:纵然是机器语言(机器码),离了上下文也是不成的
海纳百川首页
->
驴鸣镇
阅读上一个主题
::
阅读下一个主题
作者
答票友:纵然是机器语言(机器码),离了上下文也是不成的
所跟贴
答票友:纵然是机器语言(机器码),离了上下文也是不成的
--
少正卯
- (256 Byte) 2014-3-30 周日, 下午2:27
(338 reads)
一票友
警告次数: 1
加入时间: 2004/02/14
文章: 3540
经验值: 79217
标题:
cpu根本不是这样工作的,是从一个地址开始执行。第一个数据必须是操作码,根据操作码判断后面是数据还是另一个操作码。
(89 reads)
时间:
2014-3-30 周日, 下午2:47
你有没有手工编译汇编语言成机器码,
再手工调试的经验?
有过就明白了,cpu根本不会出现你说的问题。
cpu把遇到的第一个数据当成操作码,
所以不会出现无法判断的问题。
如果你搞错了位置,
计算机通常会爆走出错,
不定干出什么事情出来。
返回顶端
你的理解很奇特。“根据操作码判断后面是数据还是另一个操作码”,这不正是“上下文相关”的意思么?
--
少正卯
- (0 Byte) 2014-3-30 周日, 下午2:58
(84 reads)
刚才不是说过了?操作码和操作数据共同构成一条指令。指令与指令之间是不相关的。
--
一票友
- (0 Byte) 2014-3-30 周日, 下午3:05
(77 reads)
“计算机通常会爆走出错”这不恰恰是上下文搞错了造成的么?
--
少正卯
- (30 Byte) 2014-3-30 周日, 下午2:54
(85 reads)
cpu怎么可能分得清?也绝对不允许cpu自己做判断,一边猜一边执行是绝对不允许的。
--
一票友
- (194 Byte) 2014-3-30 周日, 下午3:04
(94 reads)
哪有什么“输错起始地址”?指令执行地址错误最常见的原因是空指针或未初始化指针,其次是堆栈溢出。
--
少正卯
- (0 Byte) 2014-3-30 周日, 下午3:11
(79 reads)
你也没用过汇编吧?用debug直接调试汇编语言时,也要指定从哪个地址开始执行的。高级语言没有这个问题了。
--
一票友
- (0 Byte) 2014-3-30 周日, 下午3:28
(85 reads)
你说的那套早过时了,我们都是用 soft-ice 或 driver works 或 windbg 的
--
少正卯
- (44 Byte) 2014-3-30 周日, 下午9:39
(126 reads)
那是编译器的功劳,不是你的本事。编译成可执行文件后,自然交给操作系统去控制。通过溢出的指针获得一切权力的方式不好用了。
--
一票友
- (79 Byte) 2014-3-30 周日, 下午9:57
(99 reads)
看来你是真不懂,上边几个都不是编译器,你可以google 一下就知道我说的是什么了。
--
少正卯
- (0 Byte) 2014-3-31 周一, 上午4:39
(100 reads)
票友把集成环境也习惯性地称为编译器。这些专业知识有什么好争的?又不是惯性那种初一的内容,每个人都可以发言。
--
一票友
- (0 Byte) 2014-3-31 周一, 上午5:50
(71 reads)
所以说你没有手工编译调试的经验嘛。你做过就知道了。指定cpu从哪个地址开始执行是调试的第一步。
--
一票友
- (0 Byte) 2014-3-30 周日, 下午3:16
(84 reads)
显示文章:
所有文章
1天
7天
2周
1个月
3个月
6个月
1年
时间顺序
时间逆序
海纳百川首页
->
驴鸣镇
所有的时间均为 北京时间
论坛转跳:
您
不能
在本论坛发表新主题
您
不能
在本论坛回复主题
您
不能
在本论坛编辑自己的文章
您
不能
在本论坛删除自己的文章
您
不能
在本论坛发表投票
您
不能
在这个论坛添加附件
您
可以
在这个论坛下载文件
based on phpbb, All rights reserved.
[ Page generation time: 0.307762 seconds ] :: [ 23 queries excuted ] :: [ GZIP compression enabled ]