csapp-learning Computer Systems A Programmer's Perspective 深入理解计算机系统 学习笔记 准备 资料 WSL 01 -- 安装 Ubuntu WSL 02 -- Ubuntu 中安装 GUI 应用 WSL 03 -- 访问文件目录 WSL 04 -- gcc WSL 05 -- VS Code WSL 06 -- gdb 第三章 程序的机器级表示 笔记 内存 内存的布局 寄存器 指令集 1 - 操作数格式 指令集 2 - mov 指令集 3 - leaq 指令集 4 - 一元操作 指令集 5 - 二元操作 指令集 6 - push / pop 运行时栈 1 - 准备 运行时栈 2 - 分配内存和参数传递 运行时栈 3 - 转移控制 call 运行时栈 4 - 被保存的寄存器 运行时栈 5 - 返回值和 ret 栈帧的布局 递归 条件码 第三章 程序的机器级表示 笔记 公众号版本 前言 - 学习笔记 从程序的角度看,内存是什么? 内存的布局 寄存器 指令 1 - MOV 指令 2 - LEA 指令 3 - 算术和逻辑 指令 4 - PUSH 和 POP 指令 5 - CALL 和 RET 程序运行时的栈 栈帧的布局 条件码寄存器 条件分支 循环 递归 从底层逻辑开始