# .sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text .define LINO_AD,FILN_AD .define ERANGE,ESET,EHEAP,EILLINS,ECASE .define hol0,trppc~,trpim~,reghp~,.limhp .define EXIT,WRITE,BRK ! $Id$ #define float 1 #define hardfp 1 LINO_AD = 0 FILN_AD = 4 ERANGE = 1 ESET = 2 EFOVFL = 4 EFUNFL = 5 EFDIVZ = 7 EFUND = 011 ECONV = 012 EHEAP = 021 EILLINS = 022 ECASE = 024 #ifdef float #ifndef hardfp ! sys 060;.data2 4,fptrap / if not commented it will appear as undefined #endif sys 060;.data2 010,sig8 ldfps $07600 #endif mov 2(sp),r0 clr -2(r0) mov sp,r0 sub $4,sp mov 4(sp),(sp) tst (r0)+ mov r0,2(sp) 1: tst (r0)+ bne 1b cmp r0,*2(sp) blo 1f tst -(r0) 1: mov r0,4(sp) jsr pc,__m_a_i_n mov r0,-(sp) EXIT: jsr pc,__exit sys 1 WRITE: jmp __write BRK: jmp __brk .sect .data hol0: .data2 0,0 ! line no .data2 0,0 ! file trppc~: .data2 0 trpim~: .data2 0 reghp~: .data2 _end .limhp: .data2 _end .sect .text sig8: #ifdef float mov r0,-(sp) stst r0 mov 1f(r0),-(sp) jsr pc,trp~ sys 060;.data2 010,sig8 mov (sp)+,r0 rti .sect .data 1: .data2 EILLINS, EILLINS, EFDIVZ, ECONV, EFOVFL, EFUNFL, EFUND, EILLINS .sect .text #endif