2021-2022-1 20212802《Linux内核原理与分析》第二周作业

本文详细介绍了Linux内核第一章的学习内容,重点解析了汇编指令如movl, pushl, popl等在栈操作中的作用。通过分析一个简单的C程序及其编译后的汇编代码,阐述了esp、ebp、eip寄存器的工作原理,并通过画图辅助理解执行流程。总结强调了理解计算机基本原理和汇编语言的重要性,以及如何运用计算机思维进行编程。" 97101507,8419256,Nginx作为高性能HTTP和反向代理服务器详解,"['Web服务器', '反向代理', '负载均衡', 'HTTP', '高性能']
摘要由CSDN通过智能技术生成

本周的学习内容主要是庖丁解牛Linux的第一章,然后看完书后,又跟着云班课加深学习了一下第一章的内容。第一章主要讲述了linux里的汇编指令的一些指令,比如movl,pushl,popl等等,这些指令都是围绕数据结构中的栈做文章的。贯穿这一章的是esp、ebp,eip指针寄存器。简单来说,ebp就是指的栈底,esp就是指着栈顶。eip就是正在执行的指令所在的位置,然后不断重复的进行入栈出栈操作。

写了一个简单的C程序,如图所示,具体代码如下:

C语言代码:

    //mian.c    
    int g(int x)
    {
        return x + 3;
    }
     
    int f(int x)
    {
        return g(x);
    }
     
    int main(void)
    {
        return f(8) + 1;
    }

通过gcc -s -o main.s main.c -m32指令将其编译成汇编程序,打开该汇编文件并删除不重要的信息,如图所示,具体代码如下:

 反编译后汇编代码<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值