VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
查看: 4736|回复: 8

FASM编译Hello world竟然编译出花指令……

[复制链接]
 楼主| 发表于 2010-1-3 15:10:06 | 显示全部楼层 |阅读模式
RT,FASM是Flat Assembler,开源的汇编器……编译了他自带的Hello World,看图:

无标题-1.jpg

然后反汇编一下竟然出现一个奇怪的call:

无标题-2.jpg

这个优化看起来有一点变态……变成花指令代码了……

评分

参与人数 1人气 +1 收起 理由
download + 1 火星了..................................

查看全部评分

发表于 2010-1-3 17:03:58 | 显示全部楼层
晕,果然被我猜中,...进来之前就猜了一下.这个己是众所周知的事了
回复 支持 反对

使用道具 举报

发表于 2010-1-3 19:56:28 | 显示全部楼层
......不明真相的老马路过.........
回复 支持 反对

使用道具 举报

发表于 2010-1-3 22:40:29 | 显示全部楼层
......不明真相的泡饭路过.........
回复 支持 反对

使用道具 举报

发表于 2010-1-4 09:11:09 | 显示全部楼层
不明真象的应该冬天没注意赏雪 经常看雪就知道了
回复 支持 反对

使用道具 举报

发表于 2010-1-4 09:47:21 | 显示全部楼层
还算得上是“优化”吗?!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-1-4 15:02:55 | 显示全部楼层
看起来是我火星了……因为我之前没有用过汇编编译器,只把OD当作汇编器来写内嵌汇编代码……

这么写确实会少3字节的代码……如果说这个是常见的优化的话,IDA竟然不认识这个优化,太?了……
回复 支持 反对

使用道具 举报

发表于 2010-1-4 18:55:03 | 显示全部楼层
不明真象的应该冬天没注意赏雪 经常看雪就知道了
download 发表于 2010-1-4 09:11

想看雪,自己身上要有一定的底子才行啊,不然肯定直接冻感冒而回.....
回复 支持 反对

使用道具 举报

发表于 2010-9-14 20:54:50 | 显示全部楼层
本帖最后由 JuncoJet 于 2010-9-14 21:08 编辑

这个是FASM中的Windows宏的结果
invoke xxx,“字符 ” 会被编译成
call 下一段代码地址(跳过字符地址,但是字符地址会被带入寨,相当于PUSH操作)
MASM也有这样的宏的,不过绝大多数用的的是CTXT() CTA0()宏
CTXT宏好像绝大多是是MASMPLUS里的,AOGO等前辈写的和集成的
回复 支持 反对

使用道具 举报

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

本版积分规则

文字版|手机版|小黑屋|VBGood  

GMT+8, 2023-3-22 04:05

VB爱好者乐园(VBGood)
快速回复 返回顶部 返回列表