created: 07/18/01; small edits: 10/20/01, 02/22/03, 06/26/03
The
power of computers is their ability to repeat actions and their ability to
alter their operation depending on data. Modern programming languages express
these abilities using control structures. Repeated action (iteration) is done
with a while structure. Alternative control paths (alternation)
is done with an if-then-else structure.
The machine instructions of the processor do not have these structures. Assembly language does not have these structures. When you program in assembly language you must build these structures out of basic assembly instructions. These basic instructions are the jump instructions and the conditional branch instructions.
j instruction (jump)beq instruction (branch equal)bne instruction (branch not equal)When a program is executing, does each machine instruction have an address in main memory?