zoukankan      html  css  js  c++  java
  • 2020-2021-1 20209308《Linux内核原理与分析》第二周作业

    实验一:反汇编一个c程序

    • 过程
      - 1.编写简单的c语言程序
      - 2.反汇编指令 gcc –S –o main.s main.c -m32
      - 3.将无用信息删除后的最后结果

    • 分析
      - 模拟堆栈

    • 总结:计算机在工作时,给每个函数执行时先将函数的地址推入底层堆栈,再将足够的连续的一片内存分给函数程序,函数所需的参数在函数被调用之前就存入栈,方便时常的访问。栈中内存从高地址运行至低地址,一行一行直至函数运行完,或者执行call的指令调用了其他的函数,通过ret指令返回到主函数,最后通过leave指令释放栈。在栈执行中会使用寄存器来保存各种数据或者数据中的地址,eax为累加寄存器,ebx为基址寄存器,ecx计数寄存器,edx数据寄存器;也有专门储存指令的寄存器eip,和堆栈的指针寄存器esp,ebp。

  • 相关阅读:
    SpringMVC + MyBatis简单示例
    JSP---JSTL核心标签库的使用
    HBASE安装 (HA)
    HBase 常用Shell命令(转载)
    kafka quick start
    在IDEA中实战Git
    kibana6.2.2安装
    elasticsearch-head插件安装
    elasticsearch6.2.2安装
    jdk1.8安装
  • 原文地址:https://www.cnblogs.com/ppswaggy/p/13833020.html
Copyright © 2011-2022 走看看