|
@@ -0,0 +1,65 @@
|
|
|
+.define .lino,.filn
|
|
|
+.define EXIT
|
|
|
+.define begtext,begdata,begbss
|
|
|
+.define EARRAY,ERANGE,ESET,EIDIVZ,EHEAP,EILLINS,ECASE,EBADGTO
|
|
|
+.define hol0,.reghp,.limhp,.trpim,.trppc
|
|
|
+.sect .text
|
|
|
+.sect .rom
|
|
|
+.sect .data
|
|
|
+.sect .bss
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+! runtime startof for 68020 machine
|
|
|
+
|
|
|
+
|
|
|
+LINO_AD = 0
|
|
|
+FILN_AD = 4
|
|
|
+
|
|
|
+EARRAY = 0
|
|
|
+ERANGE = 1
|
|
|
+ESET = 2
|
|
|
+EIDIVZ = 6
|
|
|
+EHEAP = 17
|
|
|
+EILLINS = 18
|
|
|
+ECASE = 20
|
|
|
+EBADGTO = 27
|
|
|
+
|
|
|
+ .sect .text
|
|
|
+begtext:
|
|
|
+ move.l (sp),d2
|
|
|
+ lea 4(sp),a0
|
|
|
+ move.l d2,d1
|
|
|
+ add.l #1,d1
|
|
|
+ asl.l #2,d1
|
|
|
+ move.l a0,a1
|
|
|
+ add.l d1,a1
|
|
|
+ pea (a1)
|
|
|
+ pea (a0)
|
|
|
+ move.l d2,-(sp)
|
|
|
+ move.l #0,a6
|
|
|
+ jsr _m_a_i_n
|
|
|
+ move.l d0,(sp) ! no stack cleanup needed
|
|
|
+EXIT:
|
|
|
+ jsr _exit
|
|
|
+
|
|
|
+ .sect .data
|
|
|
+begdata:
|
|
|
+ .data4 0 ! may be at virtual address 0 with no problem
|
|
|
+hol0:
|
|
|
+.lino:
|
|
|
+ .data4 0 ! lino
|
|
|
+.filn:
|
|
|
+ .data4 0 ! filn
|
|
|
+.reghp:
|
|
|
+ .data4 endbss
|
|
|
+.limhp:
|
|
|
+ .data4 endbss
|
|
|
+.trppc:
|
|
|
+ .data4 0
|
|
|
+.trpim:
|
|
|
+ .data4 0 ! USED TO BE 2 BYTES; IS THIS RIGHT?
|
|
|
+
|
|
|
+
|
|
|
+ .sect .bss
|
|
|
+begbss: !initialization is not needed because ALL entries are in zero space!
|