仅针对考试,充当重复搬运工
csapp(1)第1+2+3+4章节
1.关于无符号数和补码的运算/截断数字
针对考试我需要一套固定用法,既是
负数高位补1,正数高位补0,直到补到位宽之和的位数,再乘法
2.IEEE浮点表示
3.汇编switch跳转表
针对练习题3.31,用简短的话来说,就是跳转表中如果没处理switch的表达式的变量,这道题只有a,那么对于a的值case值一定是0,1,2,3,4,5,6.直到不满足条件的7(这一点是由于汇编代码第二行cmpq和第三行的ja决定的,满足条件上限的case值只能是6),
第二步,根据汇编代码的形如.L的标号的顺序(就是caseABCDE的顺序是c代码中决定了的)对应到跳转表具有相同标号的case值填写到c代码中的case值
第三步,每层的处理可以翻P129等表格来填写
3.栈帧结构(P171-172)
四个变量数据类型不同,分配地址不同,值得注意的是P169所写,前6个参数通过寄存器传递,后两个才是通过栈传递,故如图3-33所示
4.x86手工转换成Y86(尚未解决)
只看到书上4.3有一句是我们用寄存器%r8和%r9来保存常数值
5.Y86-64指令集