This preview shows page 1. Sign up to view the full content.
Unformatted text preview: esentation starts a quick tour to show the relation between C, assembly code, and object code. We then proceed to the details of IA32, starting with the representation and manipulation of data and the implementation of control. We see how control constructs in C, such as if, while, and switch statements, are implemented. We then cover the implementation of procedures, including how the run-time stack supports the passing of data and control between procedures, as well as storage for local variables. Next, we consider how data structures such as arrays, structures, and unions are implemented at the machine level. With this background in machine-level programming, we can examine the problems of out of bounds memory references and the vulnerability of systems to buffer overﬂow attacks. We ﬁnish this part of the presentation with some tips on using the GDB debugger for examining the runtime behavior of a machinelevel program. We then move into material that is marked with a “*” and is intended for the truly dedicated machinelanguage enthusiasts. We give a presenta...
View Full Document
- Spring '10
- The American