A method of performing link stack operations comprises the steps of reading and
writing to a link stack. During a write, a location in the link stack pointed to
by a current write pointer is selected and a link address associated with an instruction
and a current read pointer to the link stack are written into the selected location.
After the write operation, the read pointer is updated such that the new read pointer
equals the current write pointer and the write pointer is updated. During a read
from the link stack, a location in the link stack is selected using a current read
pointer. A new read pointer and a link address associated with an instruction are
read from the selected read location.