第二周实验

本周学习情况:

学习了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,这样就能回到原来的界面。

20179223《Linux内核原理与分析》第二周学习笔记的更多相关文章

  1. 2019-2020-1 20199303<Linux内核原理与分析>第二周作业

    2019-2020-1 20199303第二周作业 1.汇编与寄存器的学习 寄存器是中央处理器内的组成部份.寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令.数据和位址.在中央处理器的控制部件中 ...

  2. 20169219 linux内核原理与分析第二周作业

    "linux内核分析"的第一讲主要讲了计算机的体系结构,和各寄存器之间对数据的处理过程. 通用寄存器 AX:累加器 BX:基地址寄存器 CX:计数寄存器 DX:数据寄存器 BP:堆 ...

  3. 2019-2020-1 20199314 <Linux内核原理与分析>第二周作业

    1.基础学习内容 1.1 冯诺依曼体系结构 计算机由控制器.运算器.存储器.输入设备.输出设备五部分组成. 1.1.1 冯诺依曼计算机特点 (1)采用存储程序方式,指令和数据不加区别混合存储在同一个存 ...

  4. Linux内核原理与分析-第二周作业

    写之前回看了一遍秒速五厘米:如果

  5. Linux内核分析第二周学习笔记

    linux内核分析第二周学习笔记 标签(空格分隔): 20135328陈都 陈都 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.co ...

  6. Linux内核分析——第二周学习笔记20135308

    第二周 操作系统是如何工作的 第一节 函数调用堆栈 存储程序计算机:是所有计算机基础的框架 堆栈:计算机中基础的部分,在计算机只有机器语言.汇编语言时,就有了堆栈.堆栈机制是高级语言可以运行的基础. ...

  7. Linux内核分析——第二周学习笔记

    20135313吴子怡.北京电子科技学院 chapter 1 知识点梳理 (一)计算机是如何工作的?(总结)——三个法宝 ①存储程序计算机工作模型,计算机系统最最基础性的逻辑结构: ②函数调用堆栈,高 ...

  8. 三20135320赵瀚青LINUX内核分析第二周学习笔记

    赵瀚青原创作品转载请注明出处<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.计算机的三个法宝 存储程 ...

  9. Linux内核原理与分析-第一周作业

    本科期间,学校开设过linux相关的课程,当时的学习方式主要以课堂听授为主.虽然老师也提供了相关的学习教材跟参考材料,但是整体学下来感觉收获并不是太大,现在回想起来,主要还是由于自己课下没有及时动手实 ...

  10. 2019-2020-1 20199314 <Linux内核原理与分析>第一周作业

    前言 本周对实验楼的Linux基础入门进行了学习,目前学习到实验九完成到挑战二. 学习和实验内容 快速学习了Linux系统的发展历程及其简介,学习了下的变量.用户权限管理.文件打包及压缩.常用命令的和 ...

随机推荐

  1. 理解多线程管理类 CWorkQueue

    有些人会觉得多线程无非是,有多少任务就启动多少线程,CreadThread,执行完了自己结束就释放资源了,其实不然.多线程是需要管理的,线程的启动.执行.等待和结束都需要管理,线程间如何通信,如何共享 ...

  2. mac 下如何建立vue-cli项目

    command+space : terminal //检测是否存在node node -v //检测是否带有npm安装管理工具 npm -v //具备进行下一步 //在documnets下建立vue文 ...

  3. javascript模块化编写

    目录: 1. 开篇语 2. 对象形式写法 3. 立即执行函数写法 4. prototype写法 5. 总结 1. 开篇语 现在我们写代码不再是一个人包办所有的活儿,都是在多人合作的情况下完成的.我们只 ...

  4. 页面title加icon

    把favicon.ico放入根目录下,在head中添加一下代码 <link rel="icon" type="image/x-icon" href=&qu ...

  5. 1-13 RHEL7-硬盘介绍和磁盘管理

    熟悉Linux平台下的存储介质,LVM逻辑卷.RAID 磁盘陈列等 大纲: 1-1  硬盘的分类及使用fdisk分区工具       1-1-1 认识硬盘的分类和特性.SCSI.IDE.SAS.SAT ...

  6. [less]用webstorm自动编译less产出css和sourcemap

    css产出sourcemap有什么用呢,可能大家要问这个问题了. 请移步这里 https://developers.google.com/chrome-developer-tools/docs/css ...

  7. day18 分页+form验证+中间件

    参考课件: http://www.cnblogs.com/wupeiqi/articles/6144178.html http://www.cnblogs.com/wupeiqi/articles/5 ...

  8. 控制语句2:循环:for 与 while

    循环是所有编程语言的必备利器,用于重复的动作等等. python中的循环有何特殊性:for 与 while 都有自己的else分支. 要学会刹车: 1.条件的控制次数 2.break 与 contin ...

  9. 跨域问题Java方式解决及Nginx方式解决【亲测可行】

    这两天和前端同事调试微信公众号项目,就遇到了跨域问题:网上相关博客也挺多的,但有很多细节没有点到,在此呢我也再次记录一下解决方式: (算是踩坑日记吧~ ~ ~)   !问题发现: 页面加载不出来,控制 ...

  10. C# 设计模式巩固 - 工厂方法模式

    前言 实在编不出来了~ 介绍 - 工厂方法模式 官方定义:(下面摘自百度百科)工厂方法模式(FACTORY METHOD)是一种常用的对象创建型设计模式,此模式的核心精神是封装类中不变的部分,提取其中 ...