【80天学习完《深入理解计算机系统》】第十四天 复习第三章

专注 效率 记忆
预习 笔记 复习 做题

欢迎观看我的博客,如有问题交流,欢迎评论区留言,一定尽快回复!(大家可以去看我的专栏,是所有文章的目录)
 
文章字体风格:
红色文字表示:重难点★✔
蓝色文字表示:思路以及想法★✔
 
如果大家觉得有帮助的话,感谢大家帮忙
点赞!收藏!转发!

本博客带大家一起学习,我们不图快,只求稳扎稳打。
由于我高三是在家自学的,经验教训告诉我,学习一定要长期积累,并且复习,所以我推出此系列。
只求每天坚持40分钟,一周学5天,复习2天
80天后我们学习完《深入理解计算机系统》
本课程来自b站 九曲阑干

【80天学习完《深入理解计算机系统》】

  • 编译系统 ciso
    • 汇编代码
  • 计算机系统的存储结构
    • 寄存器的本质 就是 一个存储空间
    • 寄存器(64位下 每个寄存器大小是8字节)
    • 如何使用寄存器
    • 寄存器的默认用途
      • rax 返回值
      • rdi rsi rdx rcx 函数参数
      • rsp 栈指针
      • caller调用者 callee被调用者
        • 调用者保存 被调用者保存
  • 指令
    • 操作码 || 操作数
    • 内存寻址
    • 什么是寄存器?就是存储信息的空间
    • 内存引用的本质:计算地址
    • MOV
      • mov 不能从内存搬运到内存
      • bwlq
        • 内存地址 ()表示
      • 例子
      • 0扩展 和 符合扩展 的指令
    • 栈(低地址向高地址) 堆是高地址向低地址
      • 入栈先减 出栈后加 pushq popq (rsp)
    • leaq 加载有效地址
      • 为什么要凑 因为 c只能是 1248
    • 一元操作
    • 二元操作
    • 左移右移 编码
    • 算数操作
    • 条件码寄存器
      • CF(无符号数的进位标志)
      • ZF 零标志位
      • SF 符号标志
      • OF 溢出标志
      • 条件码寄存器的作用(比较a和b的关系 就看 a-b后条件码)
        • set指令
    • 左移右移 编码
    • 算数操作
    • 条件码寄存器
      • CF(无符号数的进位标志)
      • ZF 零标志位
      • SF 符号标志
      • OF 溢出标志
      • 条件码寄存器的作用(比较a和b的关系 就看 a-b后条件码)
        • set指令
    • 函数调用(callq 和 ret 对应 操作栈上的地址)
    • 参数传递中 如果是地址 栈中怎么体现
    • swap怎么调用汇编
    • 数组地址
    • 结构体

【80天学习完《深入理解计算机系统》】第十四天 复习第三章_第1张图片

编译系统 ciso

【80天学习完《深入理解计算机系统》】第十四天 复习第三章_第2张图片
【80天学习完《深入理解计算机系统》】第十四天 复习第三章_第3张图片

汇编代码

【80天学习完《深入理解计算机系统》】第十四天 复习第三章_第4张图片

计算机系统的存储结构

寄存器的本质 就是 一个存储空间

【80天学习完《深入理解计算机系统》】第十四天 复习第三章_第5张图片

寄存器(64位下 每个寄存器大小是8字节)

【80天学习完《深入理解计算机系统》】第十四天 复习第三章_第6张图片

如何使用寄存器

【80天学习完《深入理解计算机系统》】第十四天 复习第三章_第7张图片
【80天学习完《深入理解计算机系统》】第十四天 复习第三章_第8张图片

寄存器的默认用途

rax 返回值

rdi rsi rdx rcx 函数参数

rsp 栈指针

【80天学习完《深入理解计算机系统》】第十四天 复习第三章_第9张图片

caller调用者 callee被调用者

调用者保存 被调用者保存

【80天学习完《深入理解计算机系统》】第十四天 复习第三章_第10张图片
【80天学习完《深入理解计算机系统》】第十四天 复习第三章_第11张图片

指令

操作码 || 操作数

【80天学习完《深入理解计算机系统》】第十四天 复习第三章_第12张图片
【80天学习完《深入理解计算机系统》】第十四天 复习第三章_第13张图片
【80天学习完《深入理解计算机系统》】第十四天 复习第三章_第14张图片

内存寻址

【80天学习完《深入理解计算机系统》】第十四天 复习第三章_第15张图片

什么是寄存器?就是存储信息的空间

内存引用的本质:计算地址

在这里插入图片描述

MOV

mov 不能从内存搬运到内存

在这里插入图片描述

bwlq

内存地址 ()表示

在这里插入图片描述

例子

在这里插入图片描述

0扩展 和 符合扩展 的指令

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

栈(低地址向高地址) 堆是高地址向低地址

在这里插入图片描述

入栈先减 出栈后加 pushq popq (rsp)

在这里插入图片描述

leaq 加载有效地址

在这里插入图片描述
在这里插入图片描述

为什么要凑 因为 c只能是 1248

一元操作

在这里插入图片描述

二元操作

在这里插入图片描述

左移右移 编码

【80天学习完《深入理解计算机系统》】第十四天 复习第三章_第16张图片

算数操作

【80天学习完《深入理解计算机系统》】第十四天 复习第三章_第17张图片

条件码寄存器

【80天学习完《深入理解计算机系统》】第十四天 复习第三章_第18张图片

CF(无符号数的进位标志)

【80天学习完《深入理解计算机系统》】第十四天 复习第三章_第19张图片

ZF 零标志位

SF 符号标志

OF 溢出标志

条件码寄存器的作用(比较a和b的关系 就看 a-b后条件码)

set指令

【80天学习完《深入理解计算机系统》】第十四天 复习第三章_第20张图片
【80天学习完《深入理解计算机系统》】第十四天 复习第三章_第21张图片

【80天学习完《深入理解计算机系统》】第十四天 复习第三章_第22张图片

【80天学习完《深入理解计算机系统》】第十四天 复习第三章_第23张图片

【80天学习完《深入理解计算机系统》】第十四天 复习第三章_第24张图片【80天学习完《深入理解计算机系统》】第十四天 复习第三章_第25张图片

【80天学习完《深入理解计算机系统》】第十四天 复习第三章_第26张图片

左移右移 编码

【80天学习完《深入理解计算机系统》】第十四天 复习第三章_第27张图片

算数操作

【80天学习完《深入理解计算机系统》】第十四天 复习第三章_第28张图片

条件码寄存器

【80天学习完《深入理解计算机系统》】第十四天 复习第三章_第29张图片

CF(无符号数的进位标志)

【80天学习完《深入理解计算机系统》】第十四天 复习第三章_第30张图片

ZF 零标志位

SF 符号标志

OF 溢出标志

条件码寄存器的作用(比较a和b的关系 就看 a-b后条件码)

set指令

【80天学习完《深入理解计算机系统》】第十四天 复习第三章_第31张图片
【80天学习完《深入理解计算机系统》】第十四天 复习第三章_第32张图片

【80天学习完《深入理解计算机系统》】第十四天 复习第三章_第33张图片

【80天学习完《深入理解计算机系统》】第十四天 复习第三章_第34张图片

【80天学习完《深入理解计算机系统》】第十四天 复习第三章_第35张图片【80天学习完《深入理解计算机系统》】第十四天 复习第三章_第36张图片

【80天学习完《深入理解计算机系统》】第十四天 复习第三章_第37张图片

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

函数调用(callq 和 ret 对应 操作栈上的地址)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

参数传递中 如果是地址 栈中怎么体现

在这里插入图片描述

swap怎么调用汇编

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

数组地址

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

结构体

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

你可能感兴趣的:(80天学完,深入理解计算机系统,学习,linux,运维)