
20 Assembly Language Programming for the 68000 Family
nal rate at which operations are performed. The basic interval between
clock pulses is the cycle time for the CPU. It takes a multiple number of
cycles for the CPU to execute an instruction. Not all instructions require
the same number of cycles, and not every cycle requires an access to
memory. Furthermore, the M68000 family supports what is known as an
asynchronous bus: the speed of the bus does not have to be directly re
lated to the CPU clock. This is a major departure from the M6800 family
design.
When you consider this information, together with some more exotic
concepts such as instruction prefetch and pipelining, to be covered in
later chapters, it is a complicated task to determine the exact relationship
between the data bus width and the CPU speed. One thing is clear;
the M68000 is a fast microprocessor. Microprocessor manufacturers are
constantly designing benchmark tests to show the performance edge of
their chips. It is always possible to design a program that shows up
the good features of any chip in comparison with others. I will leave
it up to you to decide for yourself how much faith you want to place in
benchmark programs.
The CPU
Before starting on assembly language programming, it is essential that to
take a look at the 68000 microprocessor architecture. We are not going to
discuss all the details of the actual machine language used by the CPU,
but we must know enough about the structure of memory and the internal
CPU registers to use assembly language.
As you are probably aware from your experience with a high-level
programming language such as BASIC or Pascal, all information in the
computer’s memory and acted on by the CPU must be represented as
numbers. This includes textual information, which is represented by the
numeric equivalents for each character as governed by an appropriate
character set. You will learn more about character manipulation in later
chapters.
The instructions of the 68000 microprocessor are designed to manip
ulate numeric information in a variety of ways. Data can be moved from
one place to another in the computer’s memory, or data can be moved
from memory to registers contained in the microprocessor chip. Registers
are special places to store and manipulate data. They are like memory lo
cations except that they operate at much higher speeds and serve special
purposes for the CPU. The most important use of the registers is in per
forming arithmetic operations. The 68000 is capable of performing the
normal arithmetic operations on integer numbers, such as addition, sub
traction, multiplication and division, as well as logical operations. Logical
Kommentare zu diesen Handbüchern