home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fish 'n' More 2
/
fishmore-publicdomainlibraryvol.ii1991xetec.iso
/
fish
/
programming
/
aztecarp_376
/
src
/
crt0.asm
< prev
next >
Wrap
Assembly Source File
|
1990-08-01
|
2KB
|
78 lines
; Initial startup routine for Aztec 'C' and ARP
; NB: This should allow access to all Aztec Features, math, etc.
; Could be made smaller if only for CLI, only for Workbench,
; Could be made smaller if only this or that.
;
; Created 11/08/87 by -+=SDB+=- from crt0.a68 file provided by Manx
; Copyright (c) 1987 by Scott Ballantyne, may be freely
; used by Arp Supporters/users
;
; 10-Mar-90: Some minor rework for Aztec 5.0 release.
; This should rather use rstart.asm code.
;
include "exec/types.i"
include "exec/alerts.i"
include "libraries/arpbase.i"
include "exec/execbase.i"
call macro
xref _LVO\1
jsr _LVO\1(a6)
endm
mc68881
entry .begin
public .begin
.begin
bsr _geta4 ;get A4
lea __H1_end,a1
lea __H2_org,a2
cmp.l a1,a2 ;check if BSS and DATA together
bne start ;no, don't have to clear
move.w #((__H2_end-__H2_org)/4)-1,d1
bmi start ;skip if no bss
moveq #0,d2
loop move.l d2,(a1)+ ;clear out memory
dbra d1,loop
start move.l sp,__savsp ;save stack pointer
move.l 4,a6 ;get Exec's library base pointer
move.l a6,_SysBase ;put where we can get it
movem.l d0/a0,-(sp) ;save CLI command parameters
move.w AttnFlags(a6),d0
btst #AFB_68881,d0 ;check for 68881 flag in AttnFlags
beq 1$ ;skip if not
lea 2$,a5
call Supervisor ;do it in supervisor mode
bra 1$
2$ clr.l -(sp)
frestore (sp)+ ;reset the ffp stuff
rte ;and return
1$ jsr __main ;call the startup stuff
4$ lea 8(sp),sp ;pop args
rts ;and return
public _geta4
_geta4: far data
lea __H1_org+32766,a4
rts
public __main,__H0_org
dseg
public _SysBase,__savsp,___sloppy__ ; ,_DOSBase
public __H1_org,__H1_end,__H2_org,__H2_end
___sloppy__:
dc.l 0
end