S1C6200/6200A CORE CPU MANUAL EPSON 7
2 MEMORY AND OPERATIONS

The difference between CALL and CALZ is shown in Figure 2.1.7.2.

Page 15Bank 0
Page 14
PSET
CALL
Bank 0
Step 0
Step 1
Step 254
Step 255
Bank 0
Page 1Bank 0
Page 0Bank 0
Step 0
Step 1
Step 254
Step 255
Page 15Bank 1
Bank 1
Step 0
Step 1
Step 254
Step 255
Page 3
CALZ
Bank 1
Bank 0 Bank 1
Page 1Bank 1
Page 0Bank 1
Step 0
Step 1
Step 254
Step 255
Page 14
CALL
CALL without PSET
can go anywhere
in a page
CALZ can only go to page 0
of the current bank
CALL with PSET
can go anywhere
within a bank
CALL and CALZ
cannot go
between banks
Page 3
CALZ

Fig. 2.1.7.2 The difference between CALL and CALZ instructions

2.1.8 RET and RETS instructions

The RET instruction causes a return from a subroutine to the address immediately following the address

from where that subroutine was called. The RETS instruction causes a return to the address following this

address. Proper use of RET and RETS allows simple conditional exits subroutines back to the main routine.

See Figure 2.1.8.1.

Bank 0 Page 0

Program memory

PSET
CALL
LD
LD

Bank 0 Page 10

Program memory

DDD....................
RET
RETS
0AH
DDD
A,0
B,0

Fig. 2.1.8.1 Difference between RET and RETS instructions

2.1.9 Stack considerations for call instructions

When a subroutine is called, the return address is loaded into the stack and retrieved when control is

returned to the calling program. Nesting allows efficient usage of the stack area.

As the stack area resides in the data memory, care should be taken to ensure that the stack area is not

corrupted by other data.