当前位置: 首页 > news >正文

【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怎么调用汇编
    • 数组地址
    • 结构体

在这里插入图片描述

编译系统 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怎么调用汇编

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

数组地址

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

结构体

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

在这里插入图片描述

http://www.lryc.cn/news/156244.html

相关文章:

  • 库中是如何实现string类的?
  • 无涯教程-JavaScript - WORKDAY.INTL函数
  • STM32--蓝牙
  • java 实现原型模式
  • maven本地安装jar包install-file,解决没有pom的问题
  • 【C++学习笔记】5、变量作用域
  • Python中的装饰器
  • 什么是RESTful API,Spring MVC如何支持RESTful架构
  • cin、cin.getline()、getline()的用法【C++】
  • 单向链表(c/c++)
  • 像linux 一样清理Windows C盘
  • 在Linux 下制作启动盘以及dd命令使用
  • C语言插入排序
  • SQL-DCL
  • Elasticsearch 中的向量搜索:设计背后的基本原理
  • Jquery会议室布局含门入口和投影位置调整,并自动截图
  • 高精度乘法模板(fft)
  • C# 现状简单说明
  • el-table滚动加载、懒加载(自定义指令)
  • 不关闭Tamper Protection(篡改保护)下强制卸载Windows Defender和安全中心所有组件
  • 从一到无穷大 #13 How does Lindorm TSDB solve the high cardinality problem?
  • 三维模型OBJ格式轻量化的纹理压缩和质量关系分析
  • 【每日一题】54. 螺旋矩阵
  • git:一些撤销操作
  • leetcode 209. 长度最小的子数组
  • 《rk3399:各显示接口的dts配置》
  • Python数据分析-Pandas
  • golang 多线程管理 -- chatGpt
  • 【Math】导数、梯度、雅可比矩阵、黑塞矩阵
  • 【C语言】——调试技巧