^-^
Why so serious?
lec5 Calling Conventions
  1. Calling Conventions
    1. 课前准备
      1. C Datatypes and Alignment
      2. RVG Calling Convention
        1. 通过寄存器传递参数
        2. 过长/过短的参数
        3. 返回值
        4. 栈属性:向下增长和16字节对齐
        5. Caller-saved 与 Callee-saved
      3. Soft-Float Calling Convention
    2. C程序到汇编程序的转换
      1. 目标文件 .o
      2. 汇编语言
    3. RISC-V vs x86
      1. 区别
      2. 精简指令集应用
      3. 向后兼容
    4. gdb和汇编代码执行
      1. 一些标签
      2. .asm 与 .s
      3. gdb
    5. RISC-V寄存器
      1. 寄存器使用
      2. Compressed Instruction
      3. 函数参数
      4. Caller Saved 与 Callee Saved
      5. 零扩展和符号扩展
    6. Stack
      1. Stack Frame
      2. 两个重要的寄存器:SP 和 FP
      3. 汇编函数
        1. leaf 函数
        2. Prologue 与 Epilogue
        3. 删掉 Prologue 与 Epilogue
      4. 使用 gdb 查看 Stack Frame