Ell
operation. The address register is adjusted by subtracting the buffer length (in
bytes) from the register contents.
To implement growth of the queue from high to low memory, use -(An) to put
data into the queue, -(Am) to get data from the queue.
After a "put" operation, the "put" register points to the last item placed in the
queue, and the unchanged "get" address register points to the last item
removed from the queue. After a " get" operation, the "get" register points to the
last item removed from the queue, and the unchanged "put" register points to
the last item placed in the queue, which is illustrated as follows:
LOW MEMORY
(FREE)
PUT -(An)
~
LAST PUT
· ·
·
NEXT GET
GET -(Am)
~
LAST GET (FREE)
HIGH MEMORY
To implement the queue as a circular buffer, the "get" or "put" operation should
be performed first, and then the relevant address register should be checked
and (if necessary) adjusted. The address register is adjusted by adding the
buffer length (in bytes) to the register contents.
MOTOROLA
3-22
DATA ORGANIZATION AND
CPU32 REFERENCE MANUAL
ADDRESSING
CAPABILITIES