123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- .define .lino,.filn
- .define EXIT,WRITE,BRK
- .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
- WRITE: jmp __write
- BRK: jmp __brk
- .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!
|