CHAPTER 2: ARCHITECTURE

2.2 Program Memory

2.2.1 Configuration of program memory

The S1C63000 can access a maximum 64K-word (⋅ 13 bits) program memory space. In the individual model of the S1C63 Family, the ROM of which size is decided depending on the model is connected to this space to write a program and static data.

Figure 2.2.1.1 shows the program memory map of the S1C63000.

13-bit

Address

0000H Program area Common subroutine, etc.

00FFH

0100H NMI interrupt vector

0101H

Hardware interrupt vectors

010FH

0110H Program start address

0111H

Software interrupt vectors

013FH

0140H

Program area

FFFFH

Fig. 2.2.1.1 S1C63000 program memory map

The S1C63000 can access 64K-word space linearly without any page management used in current 4-bit microcomputers.

As shown in Figure 2.2.1.1, the program start address after an initial reset is fixed at 0110H independent of the S1C63 Family models. Programming should be done so that the execution program starts from that address.

The address 0100H to 010FH is the hardware interrupt vector's area in which up to 16 interrupt vectors can be assigned. Address 0100H is for the exclusive use of NMI (non-maskable interrupt). The number of interrupt vectors is dependent on the interrupt function of the S1C63 Family models. Branch instructions to the interrupt service routines should be written in this area. See Section 3.5, "Interrupts" for details of the interrupts.

The address 0111H to 013FH is the software interrupt vector's area. Up to 63 software interrupts can be set up together with the hardware interrupt vector area. Set branch instructions to the interrupt service routines in this area similarly to the hardware interrupts.

Addresses from 0000H to 00FFH and from 0140H to FFFFH are program area. A call instruction (CALZ) that is for the exclusive use of the area from 0000H to 00FFH is provided so that the area is useful to store common subroutines that are called from relocatable modules.

2.2.2 PC (program counter)

The PC (program counter) is a 16-bit counter that keeps the program address to be executed next. The PC is incremented by executing every instruction step to execute a program sequentially. When a branch instruction is executed or an interrupt is generated, the content of the PC is modified to branch the process flow.

The PC covers the entire program memory space alone, therefore processing such as page management are unnecessary.

At initial reset, the PC is initialized to 0110H and the program starts executing from that address.

S1C63000 CORE CPU MANUAL

EPSON

11