250 RS #3 - Disassembling - as a tool for debugging - as a tool in virus-checking/investigation - Compilation Process - Lexical Analysis, Syntatic Analysis, Semantic Analysis, Intermediate Code and Optimization, Assembly Program - Linker - Interpretation vs Translation (and hybrids like Java) - Many-to-One (C++/Java/etc) Chapter 8 - One-to-One (Assembly) - Efficiencies - Trends in Computer Science/Technology - CPU speed - Memory speed - Memory sizes - Cores/Threading - Moore's Law - Memory Hierarchy - Why does it exist? - Registers, Cache, RAM, Secondary Storage, Tertiary Storage - Endian - Principles of programs: locality spacial temporal Chapter 6 - instruction formats and tradeoffs programming ease # of instruction (size of instruction set) size of instructions size of immediate values fetch/decode speeds hardware size - memory addressing immediate direct register reference indirect through register direct memory indirect memory reference