Exam 1 Review By sseshadr Agenda Reminders Test tomorrow One 8 5 x 11 sheet two sides Pick up your datalabs in OH Cachelab comes out tomorrow Review Questions Subset of What to Know Labs We try to reward people who did them well Assembly Basics what does cmp do source vs dest operand order for add etc What registers are special Caller save vs callee save Switch statements and jump tables Loops You should be able to trace through assembly Practice it You should be able to write small amounts of assembly like buflab Data Representation Two s compliment Floating point Endianness Subset of What to Know Stack What s different in 32 vs 64 bit You should know parameters ebp values return address etc Larger Structures Structs and Unions What s the difference Padding and alignment Arrays Multi dimensional access Control Loops in assembly Recursion Memory Heap vs Stack What is the L1 Cache Floating Point Review Basics Sign Mantissa Exponent Round to even Bias Infinity zero NaN Normalized vs Denormalized 110 11100 15 100 10101 111 00000 10010 111 10000 101 56 Infinity 1 128 13 4 01000 000 1 128 Round to even examples Represent 25 64 with 4 exponent bits 3 fraction bits Bias is 2 4 1 1 7 0101 100 Rounded DOWN to value 3 8 Represent 27 64 with 4 exponent bits 3 fraction bits 0101 110 Rounded UP to value 7 16 Represent 51 128 with 4 exponent bits 3 fraction bits 0101 101 Rounded UP to value 13 32 Didn t use round to even on this it wasn t a tie Array Access Start with the C code Then look at the assembly Work backwards Easiest to just do an example array2 yH x array1 xJ y Remember though multiply the offset by sizeof int rax x rdx 3y rax 32x rax 31x rdx 6y x rax 31x y rax must have value Jx y rdx must have value Hy x Structs What is a union again How big are things If you can t remember cheat sheet int char pointer you should know these by now float double short Alignment rules If you can t remember cheat sheet aaaa bbxx cccccccc dxxxeeee fxxx gggg hhhh xxxx Are we done NO
View Full Document