• 20179223《Linux内核原理与分析》第二周学习笔记


    第二周实验

    本周学习情况:

    学习了X86 cpu的几个寄存器及X86汇编指令:
    movl %eax,%edx edx=eax %表示一个寄存器,把eax内容放入edx,等号相当于把eax赋值给edx,寄存器寻址;
    movl $0x123,%edx edx=0x123 立即数是以$开头的数值,把16进制的数值放入edx,立即寻址;
    movl 0x123,%edx edx=(int32_t)0x123 内存地址16进制的123内存放入edx,把0x123强制转化成32-bit的指针,表示取它的值,直接寻址;
    movl (%ebx),%edx edx=
    (int32_t)ebx ebx这个寄存器存的值加个括号表示内存地址,所存储的数据放入edx,间接寻址;
    movl 4(%ebx),%edx edx=
    (int32_t*)(ebx+4) 除了在间接寻址的基础上先给ebx地址上加个立即数ebx+4,变址寻址。

    先打开一个shell控制台,并可以下载在自己的电脑上;

    把代码输入其中,并保存;

    进行编译代码,按照题目要求命令编译成汇编代码;

    打开main.s,删除点开头的内容,留下纯汇编代码;

    步骤演示:

    遇到的问题及解决方案

    在进行输入代码时,不知道怎么从代码输入界面跳回原来的界面,记得上课老师讲过但是忘了,然后看了视频再加上自己百度,终于把问题解决了,代码输好后,要先按Esc,变成normal状态,然后按:wq,这样就能回到原来的界面。

  • 相关阅读:
    redis -- RDB
    redis--数据库
    redis-慢查询日志
    redis 订阅与发布
    redis 事务
    redis 事件
    redis--服务器与客户端
    readis 内部数据结构
    Redis数据类型
    Docker 限制容器资源
  • 原文地址:https://www.cnblogs.com/9223lx/p/7634243.html
Copyright © 2020-2023  润新知