美文网首页
CSAPP阅读笔记-第三章:程序的机器级表示

CSAPP阅读笔记-第三章:程序的机器级表示

作者: 希望是水户洋平 | 来源:发表于2021-03-17 14:41 被阅读0次

章节开头导语部分

GCC C语言编译器以汇编代码的形式产生输出,汇编代码是机器代码的文本表示,给出程序中的每一条指令。
x86-64是现在笔记本电脑和台式机中最常见处理器的机器语言,也是驱动大型数据中心和超级计算机的最常见处理器的机器语言。

3.3.6 用条件传送来实现条件分支

背景

传统的通过使用控制的条件转移的方法(即当条件满足时,程序沿着一条执行路径执行,而当条件不满足时就走另一条路径)虽然实现起来很简单,但是在现代处理器上可能会非常低效。

image.png

示例

传统方式实现
long absdiff(long x, long y)
{
    long result;
    if (x < y)
        result = y - x;
    else
        result = x - y;
    return result;
}
使用条件赋值方式实现

long cmovdiff(long x, long y)
{
    long rval = y - x;
    long eval = x - y;
    long ntest = x >= y;
    /*
        Line below requires single instruction:
    */
    if (ntest) rval = eval;
    return rval;
}

未完待续。。。。。。

相关文章

  • CSAPP阅读笔记-第三章:程序的机器级表示

    章节开头导语部分 GCC C语言编译器以汇编代码的形式产生输出,汇编代码是机器代码的文本表示,给出程序中的每一条指...

  • CSAPP 第三章 程序的机器级表示

    序言 汇编代码是机器代码的文本表示,与高级语言编写的程序不同,它跟跟机器平台结合紧密。 在超过50年中,半导体工业...

  • 2018-11-04 CSAPP 第三章读书笔记part1

    第三章 程序的机器级表示 对于严谨的程序员来说,能够阅读和理解汇编代码仍是一项很重要的技能。 阅读编译器产生的汇编...

  • CSAPP复习(1月24日)

    第三章 程序的机器级表示 1 有关汇编 用高级语言编写的程序可以在很多不同的机器上编译和执行,而汇编代码则是与特...

  • 程序的机器级表示

    在计算机系统中,程序的运行离不开CPU、内存等之间的协作。而在CPU中, 其内部的寄存器起到了十分重要的作用,有...

  • 程序的机器级表示

    计算机系统使用了多种不同的抽象,利用简单的抽象模型来隐藏实现的细节。对于机器级编程来说,其中两种抽象尤为重要。第一...

  • 程序的机器级表示

    本文是对《深入理解计算机系统》第3章的一些总结。 什么是机器级程序机器级程序只是一系列的字节序列,由多条指令组成,...

  • 程序的机器级表示

    计算机执行机器代码,用字节序列编码低级的操作,包括处理数据、管理存储器、读写存储设备上的数据,以及利用网络通信。编...

  • CSAPP 第二章 机器级表示

    x86处理器的历史;摩尔定律,每18个月翻一倍;但近年来,半导体产业步入后摩尔时代;C程序源代码转化成可执行代码过...

  • 第三章:程序的机器级表示

    程序的机器级表示 程序编码 机器级代码 数据格式 字word表示16位数据类型,32位数为双字double wor...

网友评论

      本文标题:CSAPP阅读笔记-第三章:程序的机器级表示

      本文链接:https://www.haomeiwen.com/subject/aywscltx.html