Blame | Last modification | View Log | Download
;--------------------------------------------------------------------------; crt0.s - Generic crt0.s for a Z80;; Copyright (C) 2000, Michael Hope;; This library is free software; you can redistribute it and/or modify it; under the terms of the GNU General Public License as published by the; Free Software Foundation; either version 2, or (at your option) any; later version.;; This library is distributed in the hope that it will be useful,; but WITHOUT ANY WARRANTY; without even the implied warranty of; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the; GNU General Public License for more details.;; You should have received a copy of the GNU General Public License; along with this library; see the file COPYING. If not, write to the; Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,; MA 02110-1301, USA.;; As a special exception, if you link this library with other files,; some of which are compiled with SDCC, to produce an executable,; this library does not by itself cause the resulting executable to; be covered by the GNU General Public License. This exception does; not however invalidate any other reasons why the executable file; might be covered by the GNU General Public License.;--------------------------------------------------------------------------.module crt0.globl _main.area _HEADER (ABS);; Reset vector.org 0jp init.org 0x08eiretiei.org 0x10eireti.org 0x18eireti.org 0x20eireti.org 0x28eireti.org 0x30eireti.org 0x38eireti.org 0x100init:;; Set stack pointer directly above top of memory.ld sp,#0x0000;; Initialise global variablescall gsinitcall _mainjp _exit;; Ordering of segments for the linker..area _HOME.area _CODE.area _INITIALIZER.area _GSINIT.area _GSFINAL.area _DATA.area _INITIALIZED.area _BSEG.area _BSS.area _HEAP.area _CODE__clock::ld a,#2rst 0x08ret_exit::;; Exit - special code to the emulatorld a,#0rst 0x081$:haltjr 1$.area _GSINITgsinit::ld bc, #l__INITIALIZERld a, bor a, cjr Z, gsinit_nextld de, #s__INITIALIZEDld hl, #s__INITIALIZERldirgsinit_next:.area _GSFINALret