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

    二、反汇编一个程序

  • 操作过程如下:
    2018-2019-1 20189219《Linux内核原理与分析》第二周作业_第1张图片
    2018-2019-1 20189219《Linux内核原理与分析》第二周作业_第2张图片
  • 汇编后的结果如下
    2018-2019-1 20189219《Linux内核原理与分析》第二周作业_第3张图片
  • 下边开始分析如图:

    2018-2019-1 20189219《Linux内核原理与分析》第二周作业_第4张图片
  • 从本次课程学习中我掌握了汇编语言的含义,对linux内核有了更加深入的理解。

你可能感兴趣的:(2018-2019-1 20189219《Linux内核原理与分析》第二周作业)