免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3301 | 回复: 11

看看这是什么编译器生成的代码,晕死 [复制链接]

论坛徽章:
10
CU大牛徽章
日期:2013-09-18 15:20:48程序设计版块每日发帖之星
日期:2016-07-21 06:20:00IT运维版块每日发帖之星
日期:2015-07-30 09:40:01技术图书徽章
日期:2014-10-14 16:00:43天蝎座
日期:2013-09-27 17:41:29CU大牛徽章
日期:2013-09-18 15:21:17CU大牛徽章
日期:2013-09-18 15:21:12CU大牛徽章
日期:2013-09-18 15:21:06CU大牛徽章
日期:2013-09-18 15:20:58每日论坛发贴之星
日期:2016-07-21 06:20:00
发表于 2008-11-14 21:42 |显示全部楼层
.text:0000A50C                 MOV     R3, #0xE
.text:0000A510                 STR     R3, [R11,#n14]
.text:0000A514                 MOV     R3, #0
.text:0000A518                 STR     R3, [R11,#i]    ; for( int i = 0 ;
.text:0000A51C
.text:0000A51C loc_A51C                                ; CODE XREF: ReadString+9Cj
.text:0000A51C                 LDR     R0, [R11,#SourceString]
.text:0000A520                 BL      Get_From_Point
.text:0000A524                 LDR     R3, [R11,#i]
.text:0000A528                 CMP     R0, R3
.text:0000A52C                 BLE     loc_A594        ; 离开循环
.text:0000A530                 LDR     R0, [R11,#SourceString]
.text:0000A534                 LDR     R1, [R11,#i]
.text:0000A538                 BL      GetChar_R1_

这是我有史以来看到的最忠实于原著的汇编码了。
很明显这个编译器没有使用任何寄存器优化。
代码的生成完全来自源码。虽然为反汇编带来了一定好处,但也太弱智了吧。

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
发表于 2008-11-14 22:03 |显示全部楼层
哈哈

论坛徽章:
0
发表于 2008-11-14 22:12 |显示全部楼层
貌似是arm?

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
发表于 2008-11-14 22:33 |显示全部楼层

回复 #1 tomac 的帖子

怎么编译器生成的注释用的还是中文?

论坛徽章:
10
CU大牛徽章
日期:2013-09-18 15:20:48程序设计版块每日发帖之星
日期:2016-07-21 06:20:00IT运维版块每日发帖之星
日期:2015-07-30 09:40:01技术图书徽章
日期:2014-10-14 16:00:43天蝎座
日期:2013-09-27 17:41:29CU大牛徽章
日期:2013-09-18 15:21:17CU大牛徽章
日期:2013-09-18 15:21:12CU大牛徽章
日期:2013-09-18 15:21:06CU大牛徽章
日期:2013-09-18 15:20:58每日论坛发贴之星
日期:2016-07-21 06:20:00
发表于 2008-11-14 22:35 |显示全部楼层
注释是我做的呀。
再来一段
.text:0000AAC0                 MOV     R12, SP
.text:0000AAC4                 STMFD   SP!, {R11,R12,LR,PC}
.text:0000AAC8                 SUB     R11, R12, #4
.text:0000AACC                 SUB     SP, SP, #8
.text:0000AAD0                 STR     R0, [R11,#var_10]     <==看这里
.text:0000AAD4                 LDR     R3, [R11,#var_10]     <==看这里
.text:0000AAD8                 LDR     R3, [R3]
.text:0000AADC                 BIC     R3, R3, #0xF0000000
.text:0000AAE0                 MOV     R0, R3
.text:0000AAE4                 SUB     SP, R11, #0xC
.text:0000AAE8                 LDMFD   SP, {R11,SP,PC}

论坛徽章:
0
发表于 2008-11-14 22:46 |显示全部楼层
ADS?

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
发表于 2008-11-15 00:31 |显示全部楼层
debug模式编译?
加上-O3试试。

论坛徽章:
10
CU大牛徽章
日期:2013-09-18 15:20:48程序设计版块每日发帖之星
日期:2016-07-21 06:20:00IT运维版块每日发帖之星
日期:2015-07-30 09:40:01技术图书徽章
日期:2014-10-14 16:00:43天蝎座
日期:2013-09-27 17:41:29CU大牛徽章
日期:2013-09-18 15:21:17CU大牛徽章
日期:2013-09-18 15:21:12CU大牛徽章
日期:2013-09-18 15:21:06CU大牛徽章
日期:2013-09-18 15:20:58每日论坛发贴之星
日期:2016-07-21 06:20:00
发表于 2008-11-15 23:25 |显示全部楼层
不是GCC生成的

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
发表于 2008-11-15 23:35 |显示全部楼层
没带优化选项的编译吧,加上优化选项试试?

论坛徽章:
0
发表于 2008-11-16 12:54 |显示全部楼层
看汇编我总是不知所以
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

DTCC2020中国数据库技术大会

【架构革新 高效可控】2020年12月21日-23日第十一届中国数据库技术大会将在北京隆重召开。

大会设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。

http://dtcc.it168.com


大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP