102 lines
2.1 KiB
NASM
102 lines
2.1 KiB
NASM
.globl __start__stack
|
|
;--------------------------------------------------------
|
|
; Stack segment in internal ram
|
|
;--------------------------------------------------------
|
|
.area SSEG (DATA)
|
|
__start__stack:
|
|
.ds 1
|
|
|
|
;--------------------------------------------------------
|
|
; interrupt vector
|
|
;--------------------------------------------------------
|
|
.area VECTOR (CODE)
|
|
.globl __interrupt_vect
|
|
__interrupt_vect:
|
|
ljmp __sdcc_gsinit_startup
|
|
|
|
ljmp #(0x400+0x03)
|
|
.ds 5
|
|
ljmp #(0x400+0x0B)
|
|
.ds 5
|
|
ljmp uart0_isr_forward;
|
|
.ds 5
|
|
ljmp #(0x400+0x1B)
|
|
.ds 5
|
|
ljmp #(0x400+0x23)
|
|
.ds 5
|
|
ljmp #(0x400+0x2B)
|
|
.ds 5
|
|
ljmp #(0x400+0x33)
|
|
.ds 5
|
|
ljmp #(0x400+0x3B)
|
|
.ds 5
|
|
ljmp #(0x400+0x43)
|
|
.ds 5
|
|
ljmp #(0x400+0x4B)
|
|
.ds 5
|
|
ljmp #(0x400+0x53)
|
|
.ds 5
|
|
ljmp #(0x400+0x5B)
|
|
.ds 5
|
|
ljmp #(0x400+0x63)
|
|
.ds 5
|
|
ljmp #(0x400+0x6B)
|
|
.ds 5
|
|
ljmp #(0x400+0x73)
|
|
.ds 5
|
|
ljmp #(0x400+0x7B)
|
|
.ds 5
|
|
ljmp #(0x400+0x83)
|
|
.ds 5
|
|
ljmp #(0x400+0x8B)
|
|
.ds 5
|
|
|
|
uart0_isr_forward:
|
|
push psw
|
|
jnb psw.1, 00001$
|
|
pop psw
|
|
ljmp _uart0_isr
|
|
00001$:
|
|
pop psw
|
|
ljmp #(0x400+0x13)
|
|
|
|
|
|
;--------------------------------------------------------
|
|
; external initialized ram data
|
|
;--------------------------------------------------------
|
|
.area XISEG (XDATA)
|
|
.area HOME (CODE)
|
|
.area GSINIT0 (CODE)
|
|
.area GSINIT1 (CODE)
|
|
.area GSINIT2 (CODE)
|
|
.area GSINIT3 (CODE)
|
|
.area GSINIT4 (CODE)
|
|
.area GSINIT5 (CODE)
|
|
.area GSINIT (CODE)
|
|
.area GSFINAL (CODE)
|
|
.area CSEG (CODE)
|
|
|
|
;--------------------------------------------------------
|
|
; global & static initialisations
|
|
;--------------------------------------------------------
|
|
|
|
.area GSINIT (CODE)
|
|
.globl __sdcc_gsinit_startup
|
|
.globl __sdcc_program_startup
|
|
.globl __start__stack
|
|
.globl __mcs51_genXINIT
|
|
.globl __mcs51_genXRAMCLEAR
|
|
.globl __mcs51_genRAMCLEAR
|
|
.area GSFINAL (CODE)
|
|
.globl __sdcc_program_startup
|
|
ljmp __sdcc_program_startup
|
|
;--------------------------------------------------------
|
|
; Home
|
|
;--------------------------------------------------------
|
|
.area HOME (CODE)
|
|
.area HOME (CODE)
|
|
__sdcc_program_startup:
|
|
lcall _bootloader_main
|
|
; return from main will lock up
|
|
sjmp .
|