Previous page
Next page

11.1  Introduction

This chapter examines programming at its lowest levels.  Since “low-level” programming is inextricably tied to the capabilities and features of the machines being programmed, this chapter includes details on the organization of computers at the machine level.

Section 11.2 presents a brief overview of the principle features of register-based machines, using the Watson Virtual Machine as a model.  We will try to avoid getting bogged down in too many details in this section, preferring instead to move quickly to Section 11.3, which provides an introduction to assembly language programming.  The assembly level is the lowest level of code that humans normally interact with.  

Section 11.4 contains a rather detailed presentation of how various types of data, such as numbers, characters, and images, can be represented at the machine level.  This section also examines how basic numeric operations, such as addition and multiplication, can be performed.

Section 11.5 fills in some of the details concerning the architecture of register-based machines, outlined in Section 11.2.  The Watson Virtual Machine is used as a guide to explore the translation of programs from the assembly level to the machine level.  Machine level is the lowest level of software.  At this level, programs and data are represented as strings of 1’s and 0’s.  Finally, the concept of the instruction cycle and details of how machine language programs are actually executed are described.


Return to top