2021.12.27  汇编

分填空题(31')和简答题(69')两个部分.

开卷. 可以带任意纸质资料.

> Cheatsheet 是 TLB,
>
> 《CSAPP》 是 Page Table,
>
> 考试发生 Page fault.
## 填空题

+ 浮点数
+ 十六进制加减法
+ 异常的分类
+ fork() 运行结果
+ 四个 0 四个 1 组成的最大整数，最小整数
+ 三个区域位宽大小分别为 1-4-3 的浮点数，比 1 大的最小的那个转换成 unsigned short 的补码表示
+ 读 loop 循环汇编，填 C 代码
+ ...

## 简答题

+ 列异常类型并举例子说明
+ 没咋见过的简答题：根据课上讲的内容分析一个数据保存与恢复程序的运作流程，属于是那种利用学到的知识进行材料分析，虽然不咋会
+ Switch table + Linking，相关代码填空
+ <s>手撕 Bomb Lab</s> 类似于 Attack Lab 的修改 Return Address 操作，看汇编写输入来 hack 程序
+ MIPS32 汇编指令编译后的内容，和作业基本一样
+ 文件 I/O，dup2 后写入的结果，考了 O_APPEND
+ 多维数组的汇编实现，读汇编推断数组大小；两个不同版本代码的空间占用分析
+ TLB + Page Table，和作业基本一样
+ ...



汇编代码一定要看的熟悉，如果汇编看不懂或者要写半天题目是绝对做不完的（大概

<s>开卷实际上开了个寂寞，带一堆书除了抄抄异常的例子，其他就没咋用上</s>