游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2889|回复: 5

请问VC++7.0编译器生成的是什么汇编代码?

[复制链接]

14

主题

48

帖子

48

积分

注册会员

Rank: 2

积分
48
发表于 2008-4-2 11:53:00 | 显示全部楼层 |阅读模式
void MAIN(){
82382C08  mflr             r12
82382C0C  stw              r12,-8(r1)
82382C10  stwu             r1,-60h(r1)
$M64013:
82382C14  mr               r13,r13
                *(BYTE *)((LONG)&INT1_STOPPER)=(BYTE)(0);
82382C18  lis              r11,-31680                ; 8440h
82382C1C  addi             r11,r11,30765                ; 782Dh
82382C20  li               r10,0
82382C24  stb              r10,0(r11)
                (*(BYTE *)((LONG)&OBJ_FLG))&=((BYTE)(0x7F));                                //?]?????
82382C28  lis              r11,-31682                ; 843Eh
82382C2C  addi             r11,r11,-14751                ; 0C661h
82382C30  lbz              r11,0(r11)
82382C34  clrlwi           r11,r11,25
82382C38  clrlwi           r11,r11,24
82382C3C  lis              r10,-31682                ; 843Eh
82382C40  addi             r10,r10,-14751                ; 0C661h
82382C44  stb              r11,0(r10)
--------------------------------------------------------------------
以上是我使用VC++7.0对一段程序进行调试时的一小段汇编代码,我以前只学习过IMB 80X86的汇编,因此对这些lis,clrlwi,stw,stb...等等的符号简直闻所未闻.请问这些是什么汇编代码,现在有没有关于这部分资料的出版物或者公开的资料. 请各位高手来帮忙啊!

22

主题

144

帖子

193

积分

注册会员

Rank: 2

积分
193
发表于 2008-4-3 18:23:00 | 显示全部楼层

Re:请问VC++7.0编译器生成的是什么汇编代码?

这个怕是中间代码,或是向量机上的代码,

82382C08  mflr             r12
82382C0C  stw              r12,-8(r1)  这个好像是store word的意思
82382C10  stwu             r1,-60h(r1)

这个我好想在系统结构里面见过,不是x86汇编,有可能是alpha CPU的汇编指令,因为alpha好像是向量机cpu,又好像不是,记得模糊了,但是这个绝不x86指令集,格式也不对。如果你看看VC 的产品支持或说明可能会发现什么。x64的指令集好像也不是,我记得标号为rax,不用r12来表示寄存器。

121

主题

2029

帖子

2034

积分

金牌会员

Rank: 6Rank: 6

积分
2034
QQ
发表于 2008-4-3 19:28:00 | 显示全部楼层

Re:请问VC++7.0编译器生成的是什么汇编代码?

你是不是开了CLR选项。。。

22

主题

144

帖子

193

积分

注册会员

Rank: 2

积分
193
发表于 2008-4-3 19:58:00 | 显示全部楼层

Re:请问VC++7.0编译器生成的是什么汇编代码?

我打开了/CLR选项后,发现无法看汇编了,怎么回事?

查了一下MSDN叫什么Common Language Runtime Compilation

调式不行,运行编译,怎么看它的汇编编码呢?用反编译器?也只是看到了x86指令,不能看到C代码啊~

问问楼上~

21

主题

136

帖子

165

积分

注册会员

Rank: 2

积分
165
发表于 2008-4-4 09:58:00 | 显示全部楼层

Re:请问VC++7.0编译器生成的是什么汇编代码?

是基于arm的汇编代码..
lz是不是把属性设置错了...选x86的就行了....

22

主题

144

帖子

193

积分

注册会员

Rank: 2

积分
193
发表于 2008-4-5 21:42:00 | 显示全部楼层

Re:请问VC++7.0编译器生成的是什么汇编代码?

VC在安装的时候,会根据本机(开发机)的配置所进行项目初始设置,不可能你在alpha CPU上开发,他还会有x86的指令生成,不然怎么调试?出现上述代码肯定是在开发机上有问题,并不是x86指令机。我记得好像windows是支持过alpha CPU,其指令集与x86好像很不相同。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-20 15:46

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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