Compiling to the Assembly Level
The theme of this book is the application of the concept of levels of abstraction to computer science. This chapter continues the theme by showing the relationship between the high-order languages level and the assembly level. It examines features of the C++ language at level HOL6 and shows how a compiler might translate programs that use those features to the equivalent program at level Asmb5.
One major difference between level-HOL6 languages and level-Asmb5 languages is the absence of extensive data types at level Asmb5. In C++, you can define integers, reals, arrays, booleans, and structures in almost any combination. But assembly language has only bits and bytes. If you want to define an array of ...