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

    一、Linux内核分析

    通过学习蓝墨云班课上的视频对汇编有了初步的了解

    • 通用寄存器
      EAX:累加器
      EBX:基地址寄存器
      ECX:计数寄存器
      EDX:数据寄存器
      EBP:堆栈基址针
      ESI、EDI:变址寄存器
      ESP:堆栈顶指针
    • 段寄存器
      CS:代码段寄存器。
      DS:数据段寄存器。
      ES:附加段寄存器。
      SS:堆栈段寄存器。
      FS:附加段寄存器。
      GS:附加段寄存器。
      mov指令及寻址方式
      其中l指32位,b指8位,w指16位,q指64位
    • 寄存器寻址:
      movl %eax,%edx
      相当于edx=eax
    • 立即寻址:
      movl $0x123,%edx
      相当于 edx=0x123
    • 直接寻址:movl 0x123,%edx
      相当于edx=*(int32_t)0x123
    • 间接寻址:movl (%ebx),%edx
      相当于edx=(int32_t)ebx
    • 变址寻址:movl 4(%ebx),%edx
      相当于edx=(int32_t)(ebx+4) ,4就是寄存器ebx存的值加4

    二、反汇编一个程序

    • 操作过程如下:


    • 汇编后的结果如下
    • 下边开始分析如图:

    • 从本次课程学习中我掌握了汇编语言的含义,对linux内核有了更加深入的理解。
  • 相关阅读:
    《原则》读书笔记
    mvn + testng + allure 生成自动化测试报告
    poj3264RMQ
    poj3928pingpong区间和
    uva11361数位dp
    Poj2795Exploring PyramidsDp
    uva11137Dp
    uva11375Dp
    三道组合题
    poj1379模拟退火
  • 原文地址:https://www.cnblogs.com/archemiya/p/9827099.html
Copyright © 2011-2022 走看看