CHAPTER 4: ASSEMBLER

Preprocessed file

.stabs "C:\EPSON\S1C63\Test\main.s", FileName

;main.s

;AS63 test program (main routine)

;***** INITIAL SP1 & SP2 ADDRESS DEFINITION *****

;#ifdef SMALL_RAM

 

;

.set SP1_INIT_ADDR 0xb

;SP1 init addr = 0x2c

;#else

 

 

 

 

.set SP1_INIT_ADDR 0x4b

;SP1 init addr = 0x12c

;#endif

 

 

 

.set SP2_INIT_ADDR 0x1f

;SP2 init addr = 0x1f

;***** NMI & BOOT, LOOP *****

 

 

.global

INIT_RAM_BLK1

; subroutine in sub.s

 

.global

INC_RAM_BLK1

; subroutine in sub.s

 

.org

0x100

 

NMI:

 

 

 

.stabn 23, LineInfo

 

 

calr

INIT_RAM_BLK1

; initialize RAM block 1

.stabn 24, LineInfo

 

 

reti

 

; in NMI(watchdog timer)

 

.org

0x110

 

BOOT:

 

 

 

.stabn 28, LineInfo

 

 

ldb

%ba,SP1_INIT_ADDR

 

.stabn 29, LineInfo

 

 

ldb

%sp1,%ba

; set SP1

.stabn 30, LineInfo

 

 

ldb

%ba,SP2_INIT_ADDR

 

.stabn 31, LineInfo

 

 

ldb

%sp2,%ba

; set SP2

.stabn 32, LineInfo

 

 

calr

INIT_RAM_BLK1

; initialize RAM block 1

LOOP:

 

 

 

.stabn 34, LineInfo

 

 

calr

INC_RAM_BLK1

; increment RAM block 1

.stabn 35, LineInfo

 

 

jr

LOOP

; infinity loop

;***** RAM block *****

 

 

.org

0x0

 

 

.bss

 

 

 

.comm

RAM_BLK0, 4

 

 

.comm

RAM_BLK1, 4

 

.stabn 0, FileEnd

S5U1C63000A MANUAL

EPSON

85

(S1C63 FAMILY ASSEMBLER PACKAGE)