The machine-level instruction
Having described how a computer works, we now take a closer look at the computer. We are interested in what an instruction does and what resources it needs (i.e., data locations or constants). A low-level computer operation (i.e., machine code or assembly language) operates on binary data in memory or registers. Although computers have become millions of times faster over the decades, the nature of the low-level instruction has hardly changed.
Many first-generation microprocessors (e.g., 8080, 6800, Z80, and 6502) of the 1970s and 1980s used 8-bit instructions that had to be chained together to create a more practical instruction – for example, 8-bit microprocessors provide 16-bit instructions by chaining together two consecutive 8-bit instructions.
The second generation of microprocessors, such as Intel’s 8086 and Motorola’s 68000, had 16-bit instructions. These too were chained together to create sufficiently long instructions...