home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
466.lha
/
AztecArp_v1.9
/
Source.LZH
/
crt0.asm
< prev
next >
Wrap
Assembly Source File
|
1990-12-05
|
2KB
|
75 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).w,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$ addq.l #8,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 ; ,_DOSBase
public __H1_org,__H1_end,__H2_org,__H2_end
end