码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【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怎么调用汇编

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

    数组地址

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

    结构体

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

    在这里插入图片描述

  • 相关阅读:
    SD系列——图像高清化算法方法
    开发-关闭Eureka自我保护机制
    中石油中石化的数字化变革:中国石油数字化油田迈入物联网与云计算时代!
    网课答案查询单页面附接口
    软考-系统架构师-计算机与网络基础知识-计算机网络基础知识
    设计模式-工厂方法(Factory Method)
    嵌入式经典面试题
    【论文翻译】使用变更数据捕获方法通过提取-转换-加载过程实时更新数据仓库
    Hive 查看和修改 tez 容器的资源
    基于C++的车辆装甲板检测自瞄系统
  • 原文地址:https://blog.csdn.net/m0_63571404/article/details/132698373
  • 最新文章
  • 【FHE】我们如何实现同态加密推理(八):SiLU 的密文化——两条路径,和一个 8 字节的开关
    SQLcl 中 c/old/new 替换变量为何失效?先定位再替换
    不让模型写作文,直接从它脑子里读答案:Jev 决策在 .NET 的两条路线
    Halo插件:支持GitHub的图床附件策略
    电视投屏界的“一股清流”!SimpleTVCast 6.0.0-beta 抢先体验:无需TV端App,界面大换血!✨
    华三VXLAN集中式网关实战指南:Spine多活网关 + 双活接入(M-LAG)
    软件更好写之后口碑会更重要
    大 O、大 Omega、大 Theta 的区别,O(n) 复杂度是什么意思
    Java标签跳转:一个鲜为人知但却很实用的小技巧
    多智能体系统论文速读
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号