This preview shows page 1. Sign up to view the full content.
Unformatted text preview: rintf) and generates the ﬁnal executable ﬁle. Linking is described in more detail in Chapter 7. 3.2.1 Machine-Level Code
The compiler does most of the work in the overall compilation sequence, transforming programs expressed in the relatively abstract execution model provided by C into the very elementary instructions that the processor executes. The assembly code-representation is very close to machine code. Its main feature is that it is in a more readable textual format, as compared to the binary format of object code. Being able to understand assembly code and how it relates to the original C code is a key step in understanding how computers execute programs. The assembly programmer’s view of the machine differs signiﬁcantly from that of a C programmer. Parts of the processor state are visible that are normally hidden from the C programmer: ¯ ¯ ¯ ¯ The program counter ( called %eip) indicates the address in memory of the next instruction to be executed. The integer register ﬁle contains eight named locations storing 32-bit va...
View Full Document