美文网首页
Linux内核分析——第一周:计算机是如何工作的?

Linux内核分析——第一周:计算机是如何工作的?

作者: 徐兆鹏 | 来源:发表于2017-02-26 16:09 被阅读0次

    之前学习了操作系统课程,对其中寄存器等汇编部分一直感到很陌生,今天点开了孟宁老师的Linux内核分析,看了第一周的计算机是如何工作的,受益匪浅。

    首先将一段简单的C代码转换成汇编代码

    vim a.c

    Paste_Image.png

    执行以下命令,其中m32表示使用32位
    gcc –S –o a.s a.c -m32
    打开 a.s 删除其中点开头的行得到以下结果就是汇编代码

    Paste_Image.png

    了解常见的寄存器、汇编指令

    1. 寄存器
      esp 记录栈底位置
      ebp 记录栈顶位置
      eax 记录函数返回
      eip 记录函数位置

    2. 汇编指令
      movl 赋值
      addl 加法运算
      subl 减法运算
      pushl 压栈
      popl 弹栈
      call 函数调用
      ret 函数返回
      leave 使esp、ebp回到上次的位置

    分析汇编代码理解程序运行过程

    Paste_Image.png

    总结

    冯诺依曼提出的存储程序的计算机工作模型,是计算机最最基础性的逻辑结构,他的魅力在于能让计算机按部就班的做运算,最终返回运算结果,这也正是计算机的强项。

    徐兆鹏原创作品 转载请注明出处《Linux内核分析》
    MOOC课程http://mooc.study.163.com/course/USTC-1000029000

    相关文章

      网友评论

          本文标题:Linux内核分析——第一周:计算机是如何工作的?

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