免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3806 | 回复: 10
打印 上一主题 下一主题

[C] 汇编能否运行取决于什么? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-08-07 23:12 |只看该作者 |倒序浏览
Intel core i5的CPU,如果写汇编,是该采用intel 格式的汇编吗?
我装的系统是linux,今天下午写汇编,采用intel x86格式,用nasm和ld命令行,反馈消息无法识别。
用g++输出一段c++程度的汇编码之后,发现采用的是AT&T格式。

问题如下
1.汇编能否运行取决于什么?
2.Intel core i5的CPU,g++输出的是AT&T格式的汇编码,我自己直接写汇编码该采用什么格式?
3.汇编语言格式只有intel和AT&T,这两种不同格式该在什么情况下使用呢?

谢谢各位。

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
2 [报告]
发表于 2015-08-08 16:40 |只看该作者
莫名其妙的问题。
编译与运行有什么直接关系吗?

论坛徽章:
7
处女座
日期:2014-08-23 21:10:59程序设计版块每日发帖之星
日期:2015-06-15 22:20:00程序设计版块每日发帖之星
日期:2015-06-20 22:20:00程序设计版块每日发帖之星
日期:2015-07-05 22:20:00每日论坛发贴之星
日期:2015-07-05 22:20:00操作系统版块每日发帖之星
日期:2015-07-13 23:17:46程序设计版块每日发帖之星
日期:2015-12-16 06:20:00
3 [报告]
发表于 2015-08-09 10:25 |只看该作者
这个问题也困扰我很久了。

按道理说,汇编至于硬件有关系,不应该与操作系统有关系。

gcc ,g++一类把一个程序反汇编后,确实不是intel 系列的汇编指令。
windows下确实是intel系列的指令。

是不是只有一种解释: 编译器强奸了汇编?

论坛徽章:
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
4 [报告]
发表于 2015-08-09 15:55 |只看该作者
iolop 发表于 2015-08-07 23:12
1.汇编能否运行取决于什么?


汇编代码从来都不能直接运行, 只能被汇编器汇编, 或者被解释器解释. 不同的汇编器支持不同的汇编格式(即使是针对同一架构), 例如 gas 针对 x86 就同时支持 intel 和 at&t 两种汇编格式.

2.Intel core i5的CPU,g++输出的是AT&T格式的汇编码,我自己直接写汇编码该采用什么格式?


这个取决于你准备用哪个汇编器, 它支持哪种你就用哪种.

3.汇编语言格式只有intel和AT&T,这两种不同格式该在什么情况下使用呢?


汇编语言格式多了去了, intel 和 at&t 只不过是 x86 的两种格式罢了. 这两种格式哪种能用还是取决于汇编器, 只要它支持, 就能用.

论坛徽章:
154
2022北京冬奥会纪念版徽章
日期:2015-08-07 17:10:5720周年集字徽章-年
日期:2022-10-26 16:44:2015-16赛季CBA联赛之深圳
日期:2022-11-02 14:02:4515-16赛季CBA联赛之八一
日期:2022-11-28 12:07:4820周年集字徽章-20	
日期:2023-07-19 08:49:4515-16赛季CBA联赛之八一
日期:2023-11-04 19:23:5115-16赛季CBA联赛之广夏
日期:2023-12-13 18:09:34
5 [报告]
发表于 2015-08-09 18:51 来自手机 |只看该作者
linux  windows两者平台还是有区别的

论坛徽章:
154
2022北京冬奥会纪念版徽章
日期:2015-08-07 17:10:5720周年集字徽章-年
日期:2022-10-26 16:44:2015-16赛季CBA联赛之深圳
日期:2022-11-02 14:02:4515-16赛季CBA联赛之八一
日期:2022-11-28 12:07:4820周年集字徽章-20	
日期:2023-07-19 08:49:4515-16赛季CBA联赛之八一
日期:2023-11-04 19:23:5115-16赛季CBA联赛之广夏
日期:2023-12-13 18:09:34
6 [报告]
发表于 2015-08-09 18:51 来自手机 |只看该作者
貌似有说,linux下的手册也是厚厚一本的说

论坛徽章:
36
CU大牛徽章
日期:2013-09-18 15:24:20NBA常规赛纪念章
日期:2015-05-04 22:32:03牛市纪念徽章
日期:2015-07-24 12:48:5515-16赛季CBA联赛之辽宁
日期:2016-03-30 09:26:4715-16赛季CBA联赛之北控
日期:2016-03-30 11:26:2315-16赛季CBA联赛之广夏
日期:2016-05-20 15:46:5715-16赛季CBA联赛之吉林
日期:2016-05-24 11:38:0615-16赛季CBA联赛之青岛
日期:2016-05-30 13:41:3215-16赛季CBA联赛之同曦
日期:2016-06-23 16:41:052015年亚洲杯之巴林
日期:2015-02-03 15:05:04CU大牛徽章
日期:2013-09-18 15:24:52CU十二周年纪念徽章
日期:2013-10-24 15:46:53
7 [报告]
发表于 2015-08-10 17:34 |只看该作者
汇编和C语言一样就一个编程语言,运行取决于什么呢,运行环境太多了。
g++反汇编输出的是AT&T格式,跟你用nasm编译写的汇编代码没啥关系。
AT&T与intel两种格式你喜欢哪种就用哪种,除非有条件限制,不过这一般取决于你程序的运行环境。

论坛徽章:
6
2015年迎新春徽章
日期:2015-03-04 10:16:53操作系统版块每日发帖之星
日期:2015-08-04 06:20:002015亚冠之鹿岛鹿角
日期:2015-08-05 16:51:182015亚冠之全北现代
日期:2015-08-07 17:14:392015亚冠之武里南联
日期:2015-08-11 15:33:03数据库技术版块每日发帖之星
日期:2016-02-02 06:20:00
8 [报告]
发表于 2015-08-11 15:33 |只看该作者
1.汇编能否运行取决与你最终编译形成的二进制文件能否执行
2.想采用什么格式就用什么格式,用对应格式的编译器就行
3.取决于你对那种语法熟悉,说白了就是使用那种工具达到目的,要达到目的的工具有很多种,那种熟悉你就用那种

论坛徽章:
2
2015亚冠之平阳省
日期:2015-07-08 10:15:132015亚冠之广州恒大
日期:2015-08-11 10:11:23
9 [报告]
发表于 2015-08-11 16:10 |只看该作者
不是要先把汇编代码翻译成目标代码,然后在链接成可执行文件吗??

论坛徽章:
3
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:032015年亚洲杯之中国
日期:2015-04-22 15:52:45
10 [报告]
发表于 2015-08-11 17:41 |只看该作者
唉, CU的水平........
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP