CHAPTER 4: ASSEMBLER
S5U1C63000A MANUAL EPSON 85
(S1C63 FAMILY ASSEMBLER PACKAGE)
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