beautypg.com

Expression stack, Return stack, Atar862-8 – Rainbow Electronics ATAR862-8 User Manual

Page 15

background image

15

ATAR862-8

4589B–4BMCU–02/03

ROM

The program memory (ROM) is mask programmed with the customer application pro-
gram during the fabrication of the microcontroller. The ROM is addressed by a 12-bit
wide program counter, thus predefining a maximum program bank size of 4 Kbytes. An
additional 1-Kbyte of ROM exists, which is reserved for quality control self-test software
The lowest user ROM address segment is taken up by a 512-byte Zero page which con-
tains predefined start addresses for interrupt service routines and special subroutines
accessible with single byte instructions (SCALL).

The corresponding memory map is shown in Figure 4. Look-up tables of constants can
also be held in ROM and are accessed via the MARC4’s built-in table instruction.

Figure 11.

ROM Map of the Microcontroller Block

RAM

The microcontroller block contains 256 x 4-bit wide static random access memory
(RAM), which is used for the expression stack. The return stack and data memory are
used for variables and arrays. The RAM is addressed by any of the four 8-bit wide RAM
address registers SP, RP, X and Y.

Expression Stack

The 4-bit wide expression stack is addressed with the expression stack pointer (SP). All
arithmetic, I/O and memory reference operations take their operands, and return their
results to the expression stack. The MARC4 performs the operations with the top of
stack items (TOS and TOS-1). The TOS register contains the top element of the expres-
sion stack and works in the same way as an accumulator. This stack is also used for
passing parameters between subroutines and as a scratch pad area for temporary stor-
age of data.

Return Stack

The 12-bit wide return stack is addressed by the return stack pointer (RP). It is used for
storing return addresses of subroutines, interrupt routines and for keeping loop index
counts. The return stack can also be used as a temporary storage area.

The MARC4 instruction set supports the exchange of data between the top elements of
the expression stack and the return stack. The two stacks within the RAM have a user
definable location and maximum depth.

ROM

(4 K x 8 bit)

Zero page

FFFh

7FFh

1FFh

000h

1F0h

1F8 h

010 h

018 h

000h

008h

020h

1E8h
1E0h

S

C

A

LL addresses

140h

180h

040h

0C0h

008h

$AUTOSLEEP

$RESET

INT0

INT1

INT2

INT3

INT4

INT5

INT6

INT7

1E0h

1C0h

1 00h

0 80h

page

0 00h

Zero