深入理解计算机系统 ——第三章 程序的机器级表示

### 这一章主要是介绍高级语言,例如C语言编写的程序,经过编译后转换为汇编程序。以往在程序员对机器进行操作主要都是使用汇编语言。笔者在大学做单片机开发的时候,老师制订的实验,明确要求使用汇编语言。
汇编语言的使用和掌握能够很好地帮助程序员对系统资源进行把控,同时也要求了程序编写逻辑的尽量地靠近机器的思考,对于程序员打下良好的编程基础具有很好地学习作用。
在这一章里面,由于时代的进步,目前开源社区或者厂商已经提供了能够很好地对高级语言进行优化的编译器GCC,这样即使是逻辑更为抽象的高级语言开发的程序也能够很好地转换为性能良好的汇编程序,更何况,抽象化程度更高的高级语言对于开发复杂的程序更有效率。因此目前对于程序员的要求已经从能够写汇编程序到能够读懂汇编程序。
那么为什么要会读会汇编程序呢?

    1.同一个程序,使用不同的GCC,会产生不同的汇编程序,同一个GCC,相同功能的一个程序,不同写法会产生不同的汇编程序,程序性能的优化,单纯从高级语言上很难做出优化,这时候就需要对程序编译后产生的汇编程序进行解读和重构。
    2.在程序编写过程中,很多错误是存在在

##汇编指令

你可能感兴趣的:(深入理解计算机系统笔)