《汇编程序设计与计算机体系结构:软件工程师教程》 —1.9 代码回顾

华章计算机 发表于 2019/12/04 11:07:30 2019/12/04
【摘要】 本节书摘来自华章计算机《汇编程序设计与计算机体系结构:软件工程师教程》一书中第1章,第1.9节,作者是布莱恩·R. 霍尔(Brian R. Hall)[美] 凯文·J.斯隆卡(Kevin J. Slonka),爱飞翔 译。

1.9 代码回顾

笔者用冒泡排序来举例有两重含义:第一,是想告诉大家汇编语言并没有想象中枯燥;第二,是想展示它在文件尺寸与性能方面的优势(这只是个非常简单的例子,在更为复杂的一些情况下,它的优势会更加明显)。下表为两种语言实现的程序之间的对比:

用汇编语言及 C++ 语言实现的冒泡排序程序之间的对比

  image.png

 

请注意,汇编语言的 .s 文件(也就是包含汇编代码的源文件)与 C++ 编译器所产生的 .s 文件大小相差很远。C++ 编译器所生成的 .s 文件总共 21KB,其中可执行的代码大约 3KB,而由此生成的 .o 文件大小也是 3KB 左右。在最终的可执行文件上,两种语言相差不远,然而在内存占用量上,汇编语言则稍微低一些。

冒泡排序程序的汇编代码及 C++ 代码

image.png

image.png

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。