From 4274cb903c49b6e7c4e00b3799851faeb87e2765 Mon Sep 17 00:00:00 2001 From: ceriel Date: Tue, 3 Sep 1991 16:03:08 +0000 Subject: [PATCH] new installation mechanism --- mach/pdp/libend/.distr | 2 ++ mach/pdp/libend/LIST | 5 +++ mach/pdp/libend/edata.s | 9 +++++ mach/pdp/libend/em_end.s | 22 ++++++++++++ mach/pdp/libend/end.s | 7 ++++ mach/pdp/libend/etext.s | 9 +++++ mach/pdp/libsys/.distr | 3 +- mach/pdp/libsys/head_em.s | 75 +++++++++++++++++++++++++++++++++++++++ 8 files changed, 130 insertions(+), 2 deletions(-) create mode 100644 mach/pdp/libend/.distr create mode 100644 mach/pdp/libend/LIST create mode 100644 mach/pdp/libend/edata.s create mode 100644 mach/pdp/libend/em_end.s create mode 100644 mach/pdp/libend/end.s create mode 100644 mach/pdp/libend/etext.s create mode 100644 mach/pdp/libsys/head_em.s diff --git a/mach/pdp/libend/.distr b/mach/pdp/libend/.distr new file mode 100644 index 000000000..b48ec8483 --- /dev/null +++ b/mach/pdp/libend/.distr @@ -0,0 +1,2 @@ +LIST +end_s.a diff --git a/mach/pdp/libend/LIST b/mach/pdp/libend/LIST new file mode 100644 index 000000000..2efbd3eb2 --- /dev/null +++ b/mach/pdp/libend/LIST @@ -0,0 +1,5 @@ +end_s.a +edata.s +em_end.s +end.s +etext.s diff --git a/mach/pdp/libend/edata.s b/mach/pdp/libend/edata.s new file mode 100644 index 000000000..f53adc109 --- /dev/null +++ b/mach/pdp/libend/edata.s @@ -0,0 +1,9 @@ +.sect .text +.sect .rom +.sect .data +.sect .bss +.define _edata +.sect .data + .align 4 + .sect .data +_edata: diff --git a/mach/pdp/libend/em_end.s b/mach/pdp/libend/em_end.s new file mode 100644 index 000000000..a062368da --- /dev/null +++ b/mach/pdp/libend/em_end.s @@ -0,0 +1,22 @@ +.sect .text +.sect .rom +.sect .data +.sect .bss +.define endtext,enddata,endbss,__end +.sect .text + .align 4 +.sect .rom + .align 4 +.sect .data + .align 4 +.sect .bss + .align 4 +.sect .end ! only for declaration of _end, __end and endbss. + + .sect .text +endtext: + .sect .data +enddata: + .sect .end +__end: +endbss: diff --git a/mach/pdp/libend/end.s b/mach/pdp/libend/end.s new file mode 100644 index 000000000..93a1e6e00 --- /dev/null +++ b/mach/pdp/libend/end.s @@ -0,0 +1,7 @@ +.sect .text +.sect .rom +.sect .data +.sect .bss +.define _end +.sect .end ! only for declaration of _end, __end and endbss. +_end: diff --git a/mach/pdp/libend/etext.s b/mach/pdp/libend/etext.s new file mode 100644 index 000000000..8c7453cb4 --- /dev/null +++ b/mach/pdp/libend/etext.s @@ -0,0 +1,9 @@ +.sect .text +.sect .rom +.sect .data +.sect .bss +.define _etext +.sect .text + .align 4 + .sect .text +_etext: diff --git a/mach/pdp/libsys/.distr b/mach/pdp/libsys/.distr index 1acf3808c..3a76f61cf 100644 --- a/mach/pdp/libsys/.distr +++ b/mach/pdp/libsys/.distr @@ -1,5 +1,4 @@ LIST -Makefile -compmodule libmon_s.a sys.h +head_em.s diff --git a/mach/pdp/libsys/head_em.s b/mach/pdp/libsys/head_em.s new file mode 100644 index 000000000..00900d172 --- /dev/null +++ b/mach/pdp/libsys/head_em.s @@ -0,0 +1,75 @@ +# +.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 +! $Header$ + +#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 +! next two lines for as long as tail needs printf +! mov r0,-(sp) +! jsr pc,*$_exit + sys 1 + + .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 -- 2.34.1