首页
社区
课程
招聘
[原创]打造自己的反汇编引擎——Intel指令编码学习报告(七)
发表于: 2008-11-3 22:15 18565

[原创]打造自己的反汇编引擎——Intel指令编码学习报告(七)

2008-11-3 22:15
18565
收藏
免费 7
支持
分享
最新回复 (23)
雪    币: 334
活跃值: (22)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
沙发........
2008-11-3 22:20
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
3
又有新的了。

已经到立即数了。

看来快要完成了啊。呵呵。

帮你加油。顺便看看,呵呵。
2008-11-3 22:21
0
雪    币: 202
活跃值: (57)
能力值: ( LV9,RANK:370 )
在线值:
发帖
回帖
粉丝
4
指令格式的各个部分差不多总结完了,过几天再总结一下我用的switch...case的老土指令识别方法,一个简单的反汇编引擎就构造完成了。
2008-11-3 22:22
0
雪    币: 202
活跃值: (57)
能力值: ( LV9,RANK:370 )
在线值:
发帖
回帖
粉丝
5
书呆彭,看来你对指令格式挺感兴趣的,如果以后这部分的知识能有什么其他应用,一起讨论啊
2008-11-3 22:24
0
雪    币: 111
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
每贴必顶。。!
2008-11-3 22:57
0
雪    币: 321
活跃值: (271)
能力值: ( LV13,RANK:1050 )
在线值:
发帖
回帖
粉丝
7
跟着学习。顶
2008-11-4 09:41
0
雪    币: 65
活跃值: (811)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
8
学习了 ……
虽然现在还看不明白……
2008-11-4 09:59
0
雪    币: 133
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
顶帖,留个标记
2008-11-4 12:53
0
雪    币: 163
活跃值: (41)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
10
我也顶一下。
2008-11-4 21:42
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
楼主确实很强大,很感谢你愿意与我们共享
2008-11-17 17:29
0
雪    币: 12
活跃值: (610)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
12
搬个板凳来学习
2008-11-17 18:30
0
雪    币: 558
活跃值: (43)
能力值: ( LV12,RANK:220 )
在线值:
发帖
回帖
粉丝
13
期待最重要的部分switch/case,最好能详细谈谈,指令特征表的构造
2008-11-18 12:35
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
学习了.............
2008-11-19 11:13
0
雪    币: 217
活跃值: (41)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
15
请问下一篇是最后一篇了吗?
2008-11-20 14:30
0
雪    币: 217
活跃值: (41)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
16
期待lz的下一篇,不知道是什么时候啊
2008-11-20 14:32
0
雪    币: 217
活跃值: (41)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
17
正在学习中,感觉就差最后一张把指令分组来个汇总了,不知道是不是,只是猜测!

我就是跟这这个学的,感觉最后的断层就在这里,第四部分:指令(Opcode)这章主要是告诉指令有一些规律,但也没又绝对的规律,关于Opcode基本是没说吧!

应该最后还要说下Opcode吧!

有点乱了,等发了最后一张,全貌出来了,我还要温习一篇的!期待啊!
2008-11-20 14:38
0
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
尊敬的egogg:
      拜读了您的大作打造自己的反汇编引擎——Intel指令编码学习报告,受益良多。非常感谢您将自己专研的知识与其他人分享。
   我有个疑问,不知道您能不能在百忙之中抽出点时间来辅导一下。关于您文章中提到的opcode中的s位的意思我看懂了。但是还有两个问题请您帮我分析一下
   第一:81,c0,f8  add eax,f8此时cpu是不是把f8当成8来看待?
         83,c0,f8  add eax,f8 此时cpu是不是把f8当成-8来看待?
   第二:如何控制汇编编译器,使它为指令(add eax,正或负的数值)分别生成81,或83的opcode的机器码?并且这样做有意义吗?
2009-1-24 09:36
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
支持啊,用switch...case 来造个CPU
2010-2-28 12:26
0
雪    币: 14
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
拜读完毕,谢谢楼主
2011-10-20 16:08
0
雪    币: 549
活跃值: (42)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
21
好的,学习中。。。
2011-10-20 16:13
0
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
楼主,其实可以不用switch的。我找到了一个方法不用switch甚至几乎不用if就能搞定你switch所能完成的功能
2012-6-17 18:59
0
雪    币: 68
活跃值: (101)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
add指令没有82开头的,http://www.felixcloutier.com/x86/ADD.html
所以文章有很多是错的,坑啊!
2017-12-31 16:46
0
雪    币: 68
活跃值: (101)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24



sodarkbit

add指令没有82开头的,http://www.felixcloutier.com/x86/ADD.html
所以文章有很多是错的,坑啊!
80,81,82,83开头的指令在指令组GRP1中。82开头一系列指令是80开头一系列指令的别名,也就是两者等价
2017-12-31 16:58
0
游客
登录 | 注册 方可回帖
返回
// // 统计代码