From 6dac59f2d41cde79a1ae8733186dded0dcd1a5e7 Mon Sep 17 00:00:00 2001 From: ceriel Date: Fri, 12 Jan 1990 10:29:26 +0000 Subject: [PATCH] some more changes to use VAX assembler --- mach/vax4/libem/.distr | 1 + mach/vax4/libem/Makefile | 21 +++++++------ mach/vax4/libem/aar4.s | 8 +++-- mach/vax4/libem/adf.s | 13 ++++---- mach/vax4/libem/adi.s | 9 +++--- mach/vax4/libem/and.s | 12 ++++---- mach/vax4/libem/ass.s | 9 +++--- mach/vax4/libem/bls.s | 29 +++++++++--------- mach/vax4/libem/cff.s | 23 +++++++------- mach/vax4/libem/cfi.s | 15 +++++----- mach/vax4/libem/cfu.s | 31 +++++++++---------- mach/vax4/libem/cif.s | 17 ++++++----- mach/vax4/libem/cii.s | 17 ++++++----- mach/vax4/libem/cmand.s | 12 ++++---- mach/vax4/libem/cmf.s | 27 +++++++++-------- mach/vax4/libem/cmi.s | 20 ++++++------- mach/vax4/libem/cms.s | 16 +++++----- mach/vax4/libem/cmu.s | 19 ++++++------ mach/vax4/libem/com.s | 12 ++++---- mach/vax4/libem/csa4.s | 21 ++++++------- mach/vax4/libem/csb4.s | 31 +++++++++---------- mach/vax4/libem/csx.s | 14 ++++----- mach/vax4/libem/cuf.s | 35 +++++++++++----------- mach/vax4/libem/cui.s | 11 +++---- mach/vax4/libem/cuu.s | 11 +++---- mach/vax4/libem/dus.s | 9 +++--- mach/vax4/libem/dvf.s | 13 ++++---- mach/vax4/libem/dvi.s | 9 +++--- mach/vax4/libem/dvu.s | 9 +++--- mach/vax4/libem/dvu4.s | 13 ++++---- mach/vax4/libem/end.s | 20 +++++++++++++ mach/vax4/libem/exg.s | 16 +++++----- mach/vax4/libem/fat.s | 16 +++++----- mach/vax4/libem/fef.s | 19 ++++++------ mach/vax4/libem/fif.s | 19 +++++++----- mach/vax4/libem/gto.s | 25 ++++++++-------- mach/vax4/libem/inn.s | 20 +++++++------ mach/vax4/libem/ior.s | 12 ++++---- mach/vax4/libem/lar4.s | 18 ++++++----- mach/vax4/libem/los.s | 25 ++++++++-------- mach/vax4/libem/lpb.s | 40 +++++++++++++------------ mach/vax4/libem/lxa.s | 10 ++++--- mach/vax4/libem/lxl.s | 12 ++++---- mach/vax4/libem/mlf.s | 13 ++++---- mach/vax4/libem/mli.s | 9 +++--- mach/vax4/libem/mon.s | 6 ++-- mach/vax4/libem/ngf.s | 13 ++++---- mach/vax4/libem/ngi.s | 9 +++--- mach/vax4/libem/nop.s | 5 ++-- mach/vax4/libem/print.s | 34 +++++++++++---------- mach/vax4/libem/rck.s | 9 +++--- mach/vax4/libem/rck4.s | 15 +++++----- mach/vax4/libem/rmi.s | 9 +++--- mach/vax4/libem/rmu.s | 9 +++--- mach/vax4/libem/rmu4.s | 14 +++++---- mach/vax4/libem/rol.s | 9 +++--- mach/vax4/libem/ror.s | 9 +++--- mach/vax4/libem/sar4.s | 18 ++++++----- mach/vax4/libem/sbf.s | 13 ++++---- mach/vax4/libem/sbi.s | 9 +++--- mach/vax4/libem/sbs.s | 6 ++-- mach/vax4/libem/set.s | 23 +++++++------- mach/vax4/libem/sig.s | 6 ++-- mach/vax4/libem/sim.s | 14 +++++---- mach/vax4/libem/sli.s | 9 +++--- mach/vax4/libem/sri.s | 9 +++--- mach/vax4/libem/sru.s | 5 ++-- mach/vax4/libem/strhp.s | 23 +++++++------- mach/vax4/libem/strlb.s | 42 +++++++++++++------------- mach/vax4/libem/sts.s | 25 ++++++++-------- mach/vax4/libem/trp.s | 65 ++++++++++++++++++++-------------------- mach/vax4/libem/vars.s | 14 +++++---- mach/vax4/libem/xar.s | 19 ++++++------ mach/vax4/libem/xor.s | 12 ++++---- 74 files changed, 665 insertions(+), 549 deletions(-) create mode 100644 mach/vax4/libem/end.s diff --git a/mach/vax4/libem/.distr b/mach/vax4/libem/.distr index b462097ce..8702677e5 100644 --- a/mach/vax4/libem/.distr +++ b/mach/vax4/libem/.distr @@ -2,3 +2,4 @@ LIST Makefile compmodule libem_s.a +end.s diff --git a/mach/vax4/libem/Makefile b/mach/vax4/libem/Makefile index ad79696a4..79cd7c6fb 100644 --- a/mach/vax4/libem/Makefile +++ b/mach/vax4/libem/Makefile @@ -1,25 +1,28 @@ # $Header$ -all: libem_o.a +MACH=vax4 +all: libem_o.a end.o -install: cp - -cp: all +install: all ../../install libem_o.a tail_em + ../../install end.o end_em -cmp: all +cmp: all -../../compare libem_o.a tail_em + -../../compare end.o end_em + +end.o: end.s + $(MACH) -I../../../h -c end.s libem_o.a: libem_s.a - ASAR=ar ; export ASAR ;\ - RANLIB=ranlib ; export RANLIB ;\ + ASAR=aal ; export ASAR ;\ march . libem_o.a clean: rm -f *.o libem_o.a -opr: +opr : make pr | opr pr: - @pr `pwd`/Makefile @arch pv libem_s.a | pr -h `pwd`/libem_s.a + @pr `pwd`/end.s diff --git a/mach/vax4/libem/aar4.s b/mach/vax4/libem/aar4.s index 0aa65eeae..9469230a7 100644 --- a/mach/vax4/libem/aar4.s +++ b/mach/vax4/libem/aar4.s @@ -1,10 +1,12 @@ - # $Header$ -.globl .aar4 +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .aar4 + + ! $Header$ .aar4: movl (sp)+,r2 movl (sp)+,r0 - movl 8(r0),r1 # elementsize in r1 + movl 8(r0),r1 ! elementsize in r1 subl3 (r0),(sp)+,r0 mull2 r1,r0 addl2 (sp)+,r0 diff --git a/mach/vax4/libem/adf.s b/mach/vax4/libem/adf.s index 9bc407a4b..0a5ee1cb0 100644 --- a/mach/vax4/libem/adf.s +++ b/mach/vax4/libem/adf.s @@ -1,20 +1,21 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .adf - # $Header$ + ! $Header$ -.globl .adf .adf: movl (sp)+,r1 cmpl r0,$4 - bneq L1 + bneq 1f addf2 (sp)+,(sp) jmp (r1) -L1: +1: cmpl r0,$8 - bneq L2 + bneq 2f addd2 (sp)+,(sp) jmp (r1) -L2: +2: pushl $EILLINS jmp .fat diff --git a/mach/vax4/libem/adi.s b/mach/vax4/libem/adi.s index 509e68b07..714389d66 100644 --- a/mach/vax4/libem/adi.s +++ b/mach/vax4/libem/adi.s @@ -1,15 +1,16 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .adi - # $Header$ + ! $Header$ -.globl .adi .adi: movl (sp)+,r1 cmpl r0,$4 - bneq L1 + bneq 1f addl2 (sp)+,(sp) jmp (r1) -L1: +1: pushl $EILLINS jmp .fat diff --git a/mach/vax4/libem/and.s b/mach/vax4/libem/and.s index a9a01ee47..e7541bccb 100644 --- a/mach/vax4/libem/and.s +++ b/mach/vax4/libem/and.s @@ -1,13 +1,15 @@ - # $Header$ -.globl .and +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .and - # bytes in r0 + ! $Header$ + + ! bytes in r0 .and: movl (sp)+,r3 addl3 r0,sp,r1 ashl $-2,r0,r0 -L1: +1: mcoml (sp)+,r2 bicl2 r2,(r1)+ - sobgtr r0,L1 + sobgtr r0,1b jmp (r3) diff --git a/mach/vax4/libem/ass.s b/mach/vax4/libem/ass.s index 37a7a771e..8eb5b5f2c 100644 --- a/mach/vax4/libem/ass.s +++ b/mach/vax4/libem/ass.s @@ -1,16 +1,17 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .ass - # $Header$ + ! $Header$ -.globl .ass .ass: movl (sp)+,r1 cmpl r0,$4 - bneq Lerr + bneq 1f movl (sp)+,r0 addl2 r0,sp jmp (r1) -Lerr: +1: pushl $EILLINS jmp .fat diff --git a/mach/vax4/libem/bls.s b/mach/vax4/libem/bls.s index ded68fe9e..3120e8085 100644 --- a/mach/vax4/libem/bls.s +++ b/mach/vax4/libem/bls.s @@ -1,29 +1,30 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .bls - # $Header$ + ! $Header$ -.globl .bls .bls: movl (sp)+,r3 cmpl r0,$4 - bneq Lerr - movl (sp)+,r0 # number of bytes in r0 - movl (sp)+,r1 # addresses in r1, r2 + bneq 5f + movl (sp)+,r0 ! number of bytes in r0 + movl (sp)+,r1 ! addresses in r1, r2 movl (sp)+,r2 - blbc r0,L1 + blbc r0,1f movb (r2)+,(r1)+ -L1: - bbc $1,r0,L2 +1: + bbc $1,r0,2f movw (r2)+,(r1)+ -L2: +2: ashl $-2,r0,r0 - beql L4 -L3: + beql 4f +3: movl (r2)+,(r1)+ - sobgtr r0,L3 -L4: + sobgtr r0,3b +4: jmp (r3) -Lerr: +5: pushl $EILLINS jmp .fat diff --git a/mach/vax4/libem/cff.s b/mach/vax4/libem/cff.s index ee75d9fe8..47aba46d5 100644 --- a/mach/vax4/libem/cff.s +++ b/mach/vax4/libem/cff.s @@ -1,33 +1,34 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .cff - # $Header$ + ! $Header$ -.globl .cff .cff: movl (sp)+,r1 movl (sp)+,r0 cmpl r0,$4 - bneq Ldtd + bneq 1f movl (sp)+,r0 cmpl r0,$4 - bneq Lddf + bneq 2f jmp (r1) -Lddf: +2: cmpl r0,$8 - bneq Lerr + bneq 4f cvtdf (sp)+,-(sp) jmp (r1) -Ldtd: +1: movl (sp)+,r0 cmpl r0,$4 - bneq Lddd + bneq 3f cvtfd (sp)+,-(sp) jmp (r1) -Lddd: +3: cmpl r0,$8 - bneq Lerr + bneq 4f jmp (r1) -Lerr: +4: pushl $EILLINS jmp .fat diff --git a/mach/vax4/libem/cfi.s b/mach/vax4/libem/cfi.s index c89c0ced4..605f8e100 100644 --- a/mach/vax4/libem/cfi.s +++ b/mach/vax4/libem/cfi.s @@ -1,24 +1,25 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .cfi - # $Header$ + ! $Header$ -.globl .cfi .cfi: movl (sp)+,r1 movl (sp)+,r0 cmpl r0,$4 - bneq Lerr + bneq 1f movl (sp)+,r0 cmpl r0,$4 - bneq Lddl + bneq 2f cvtfl (sp)+,-(sp) jmp (r1) -Lddl: +2: cmpl r0,$8 - bneq Lerr + bneq 1f cvtdl (sp)+,-(sp) jmp (r1) -Lerr: +1: pushl $EILLINS jmp .fat diff --git a/mach/vax4/libem/cfu.s b/mach/vax4/libem/cfu.s index b761293d4..c7a4bc45e 100644 --- a/mach/vax4/libem/cfu.s +++ b/mach/vax4/libem/cfu.s @@ -1,37 +1,38 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .cfu - # $Header$ + ! $Header$ -.globl .cfu .cfu: movl (sp)+,r2 movpsl r1 bicl2 $~040,r1 - bicpsw $040 # integer overflow traps must be ignored + bicpsw $040 ! integer overflow traps must be ignored movl (sp)+,r0 cmpl (sp),$4 - bneq Lddt + bneq 1f tstl (sp)+ tstf (sp) - bgeq L1 + bgeq 5f mnegf (sp),(sp) -L1: +5: cvtfl (sp)+,-(sp) -L2: +2: cmpl r0,$4 - bneq Lerr - bispsw r1 # restore trap enable bit + bneq 4f + bispsw r1 ! restore trap enable bit jmp (r2) -Lddt: +1: cmpl (sp)+,$8 - bneq Lerr + bneq 4f tstd (sp) - bgeq L3 + bgeq 3f mnegd (sp),(sp) -L3: +3: cvtdl (sp)+,-(sp) - brb L2 -Lerr: + br 2b +4: pushl $EILLINS jmp .fat diff --git a/mach/vax4/libem/cif.s b/mach/vax4/libem/cif.s index 65c0e75fb..c2bb35ad6 100644 --- a/mach/vax4/libem/cif.s +++ b/mach/vax4/libem/cif.s @@ -1,27 +1,28 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .cif - # $Header$ + ! $Header$ -.globl .cif .cif: movl (sp)+,r1 movl (sp)+,r0 cmpl r0,$4 - bneq Ldbl + bneq Idbl movl (sp)+,r0 cmpl r0,$4 - bneq Lerr + bneq Ierr cvtlf (sp)+,-(sp) jmp (r1) -Ldbl: +Idbl: cmpl r0,$8 - bneq Lerr + bneq Ierr movl (sp)+,r0 cmpl r0,$4 - bneq Lerr + bneq Ierr cvtld (sp)+,-(sp) jmp (r1) -Lerr: +Ierr: pushl $EILLINS jmp .fat diff --git a/mach/vax4/libem/cii.s b/mach/vax4/libem/cii.s index 6a39061f4..c11bbdf52 100644 --- a/mach/vax4/libem/cii.s +++ b/mach/vax4/libem/cii.s @@ -1,25 +1,26 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .cii - # $Header$ + ! $Header$ -.globl .cii .cii: movl (sp)+, r1 movl (sp)+, r0 cmpl (sp), $1 - beql Lfrom1 + beql Ifrom1 cmpl (sp), $2 - beql Lfrom2 + beql Ifrom2 cmpl (sp)+, $4 - bgtr Lerr + bgtr Ierr jmp (r1) -Lfrom1: +Ifrom1: cvtbw 4(sp), 4(sp) -Lfrom2: +Ifrom2: tstl (sp)+ cvtwl (sp), (sp) jmp (r1) -Lerr: +Ierr: pushl $EILLINS jmp .fat diff --git a/mach/vax4/libem/cmand.s b/mach/vax4/libem/cmand.s index ea9942bfb..755ceed9f 100644 --- a/mach/vax4/libem/cmand.s +++ b/mach/vax4/libem/cmand.s @@ -1,13 +1,15 @@ - # $Header$ -.globl .cmand +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .cmand - # bytes in r0 + ! $Header$ + + ! bytes in r0 .cmand: movl (sp)+,r2 addl3 r0,sp,r1 ashl $-2,r0,r0 -L1: +I1: bicl2 (sp)+,(r1)+ - sobgtr r0,L1 + sobgtr r0,I1 jmp (r2) diff --git a/mach/vax4/libem/cmf.s b/mach/vax4/libem/cmf.s index 110b57537..3621111e4 100644 --- a/mach/vax4/libem/cmf.s +++ b/mach/vax4/libem/cmf.s @@ -1,30 +1,31 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .cmf - # $Header$ + ! $Header$ -.globl .cmf .cmf: movl (sp)+,r1 cmpl r0,$4 - bneq L1 + bneq I1 clrl r0 cmpf (sp)+,(sp)+ - brb L3 -L1: + br I3 +I1: cmpl r0,$8 - bneq Lerr + bneq Ierr clrl r0 cmpd (sp)+,(sp)+ -L3: - beql L2 - bgtr L4 +I3: + beql I2 + bgtr I4 incl r0 - brb L2 -L4: + br I2 +I4: decl r0 -L2: +I2: jmp (r1) -Lerr: +Ierr: pushl $EILLINS jmp .fat diff --git a/mach/vax4/libem/cmi.s b/mach/vax4/libem/cmi.s index c730675ad..0965048f9 100644 --- a/mach/vax4/libem/cmi.s +++ b/mach/vax4/libem/cmi.s @@ -1,23 +1,23 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .cmi - # $Header$ - -.globl .cmi + ! $Header$ .cmi: movl (sp)+,r1 cmpl r0,$4 - bneq Lerr + bneq Ierr clrl r0 cmpl (sp)+,(sp)+ - beql L1 - bgtr L2 + beql I1 + bgtr I2 incl r0 - brb L1 -L2: + br I1 +I2: decl r0 -L1: +I1: jmp (r1) -Lerr: +Ierr: pushl $EILLINS jmp .fat diff --git a/mach/vax4/libem/cms.s b/mach/vax4/libem/cms.s index fa74c3445..ac493a145 100644 --- a/mach/vax4/libem/cms.s +++ b/mach/vax4/libem/cms.s @@ -1,16 +1,18 @@ - # $Header$ -.globl .cms +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .cms - # bytes in r0 + ! $Header$ + + ! bytes in r0 .cms: movl (sp)+,r3 addl3 sp,r0,r1 addl3 r1,r0,r2 ashl $-2,r0,r0 -L1: +I1: cmpl (sp)+,(r1)+ - bneq L2 - sobgtr r0,L1 -L2: + bneq I2 + sobgtr r0,I1 +I2: movl r2,sp jmp (r3) diff --git a/mach/vax4/libem/cmu.s b/mach/vax4/libem/cmu.s index c30ecfd86..0a7687b7e 100644 --- a/mach/vax4/libem/cmu.s +++ b/mach/vax4/libem/cmu.s @@ -1,23 +1,24 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .cmu - # $Header$ + ! $Header$ -.globl .cmu .cmu: movl (sp)+,r1 cmpl r0,$4 - bneq Lerr + bneq Ierr clrl r0 cmpl (sp)+,(sp)+ - beqlu L1 - bgtru L2 + beqlu I1 + bgtru I2 incl r0 - brb L1 -L2: + br I1 +I2: decl r0 -L1: +I1: jmp (r1) -Lerr: +Ierr: pushl $EILLINS jmp .fat diff --git a/mach/vax4/libem/com.s b/mach/vax4/libem/com.s index 5ce26e742..0e2ef6264 100644 --- a/mach/vax4/libem/com.s +++ b/mach/vax4/libem/com.s @@ -1,12 +1,14 @@ - # $Header$ -.globl .com +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .com - # bytes in r0 + ! $Header$ + + ! bytes in r0 .com: movl (sp)+,r2 movl sp,r1 ashl $-2,r0,r0 -L1: +I1: mcoml (r1),(r1)+ - sobgtr r0,L1 + sobgtr r0,I1 jmp (r2) diff --git a/mach/vax4/libem/csa4.s b/mach/vax4/libem/csa4.s index 293e67524..ccffbea17 100644 --- a/mach/vax4/libem/csa4.s +++ b/mach/vax4/libem/csa4.s @@ -1,22 +1,23 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .csa4 - # $Header$ + ! $Header$ -.globl .csa4 .csa4: - movl (sp)+,r0 # descriptor address - movl (sp)+,r1 # index - movl (r0)+,r2 # default + movl (sp)+,r0 ! descriptor address + movl (sp)+,r1 ! index + movl (r0)+,r2 ! default subl2 (r0)+,r1 cmpl (r0)+,r1 - blssu L1 + blssu I1 movl (r0)[r1],r1 - bneq L2 -L1: + bneq I2 +I1: movl r2,r1 - bneq L2 + bneq I2 pushl $ECASE jmp .fat -L2: +I2: jmp (r1) diff --git a/mach/vax4/libem/csb4.s b/mach/vax4/libem/csb4.s index eb49a7c85..d0d5304a3 100644 --- a/mach/vax4/libem/csb4.s +++ b/mach/vax4/libem/csb4.s @@ -1,29 +1,30 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .csb4 - # $Header$ + ! $Header$ -.globl .csb4 .csb4: - movl (sp)+,r0 # descriptor address - movl (sp)+,r1 # index - pushl r4 # Save r4 - movl (r0)+,r4 # default - movl (r0)+,r2 # number of cases -L1: + movl (sp)+,r0 ! descriptor address + movl (sp)+,r1 ! index + pushl r4 ! Save r4 + movl (r0)+,r4 ! default + movl (r0)+,r2 ! number of cases +I1: decl r2 - blss L2 + blss I2 movl (r0)+,r3 cmpl r1,r3 - beql Lfound - tstl (r0)+ # useless address - brb L1 -Lfound: + beql Ifound + tstl (r0)+ ! useless address + br I1 +Ifound: movl (r0)+,r4 -L2: +I2: movl r4,r0 beql a3 - movl (sp)+,r4 # Restore r4 + movl (sp)+,r4 ! Restore r4 jmp (r0) a3: pushl $ECASE diff --git a/mach/vax4/libem/csx.s b/mach/vax4/libem/csx.s index 1a6266a55..fe4672080 100644 --- a/mach/vax4/libem/csx.s +++ b/mach/vax4/libem/csx.s @@ -1,21 +1,21 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .csa +.define .csb - # $Header$ + ! $Header$ -.globl .csa .csa: cmpl r0,$4 - bneq Lillins + bneq Iillins jmp .csa4 -.globl .csb - .csb: cmpl r0,$4 - bneq Lillins + bneq Iillins jmp .csb4 -Lillins: +Iillins: pushl $EILLINS jmp .fat diff --git a/mach/vax4/libem/cuf.s b/mach/vax4/libem/cuf.s index d04bd0d88..15332eb50 100644 --- a/mach/vax4/libem/cuf.s +++ b/mach/vax4/libem/cuf.s @@ -1,34 +1,35 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .cuf - # $Header$ + ! $Header$ -.globl .cuf .cuf: movl (sp)+,r2 movl (sp)+,r0 movl (sp)+,r1 cmpl r1,$4 - bneq Lerr + bneq Ierr cmpl r0,$4 - bneq Ldld + bneq Idld cvtlf (sp)+,-(sp) - bgeq Lout - addf2 Ltwo32f,(sp) -Lout: + bgeq Iout + addf2 Itwo32f,(sp) +Iout: jmp (r2) -Ldld: +Idld: cmpl r0,$8 - bneq Lerr + bneq Ierr cvtld (sp)+,-(sp) - bgeq Lout - addd2 Ltwo32F,(sp) + bgeq Iout + addd2 Itwo32F,(sp) jmp (r2) -Lerr: +Ierr: pushl $EILLINS jmp .fat -.data -Ltwo32f: - .float 0f4294967296.0 -Ltwo32F: - .double 0f4294967296.0 +.sect .rom +Itwo32f: + .data1 0200,0117,00,00 +Itwo32F: + .data1 0200,0117,00,00,00,00,00,00 diff --git a/mach/vax4/libem/cui.s b/mach/vax4/libem/cui.s index 9242ea7d6..676a6ea90 100644 --- a/mach/vax4/libem/cui.s +++ b/mach/vax4/libem/cui.s @@ -1,18 +1,19 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .cui - # $Header$ + ! $Header$ -.globl .cui .cui: movl (sp)+,r1 movl (sp)+,r0 cmpl r0,$4 - bneq Lerr + bneq Ierr movl (sp)+,r0 cmpl r0,$4 - bneq Lerr + bneq Ierr jmp (r1) -Lerr: +Ierr: pushl $EILLINS jmp .fat diff --git a/mach/vax4/libem/cuu.s b/mach/vax4/libem/cuu.s index efafd2aa9..3ec8ebac9 100644 --- a/mach/vax4/libem/cuu.s +++ b/mach/vax4/libem/cuu.s @@ -1,16 +1,17 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .cuu - # $Header$ + ! $Header$ -.globl .cuu .cuu: movl (sp)+,r1 cmpl (sp)+,$4 - bneq Lerr + bneq Ierr cmpl (sp)+, $4 - bneq Lerr + bneq Ierr jmp (r1) -Lerr: +Ierr: pushl $EILLINS jmp .fat diff --git a/mach/vax4/libem/dus.s b/mach/vax4/libem/dus.s index 17b991146..b641d2338 100644 --- a/mach/vax4/libem/dus.s +++ b/mach/vax4/libem/dus.s @@ -1,16 +1,17 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .dus - # $Header$ + ! $Header$ -.globl .dus .dus: movl (sp)+,r1 cmpl r0,$4 - bneq Lerr + bneq Ierr movl (sp)+,r0 pushl r1 jmp .dup -Lerr: +Ierr: pushl $EILLINS jmp .fat diff --git a/mach/vax4/libem/dvf.s b/mach/vax4/libem/dvf.s index da3a65b19..0ae996bc5 100644 --- a/mach/vax4/libem/dvf.s +++ b/mach/vax4/libem/dvf.s @@ -1,20 +1,21 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .dvf - # $Header$ + ! $Header$ -.globl .dvf .dvf: movl (sp)+,r1 cmpl r0,$4 - bneq L1 + bneq I1 divf2 (sp)+,(sp) jmp (r1) -L1: +I1: cmpl r0,$8 - bneq L2 + bneq I2 divd2 (sp)+,(sp) jmp (r1) -L2: +I2: pushl $EILLINS jmp .fat diff --git a/mach/vax4/libem/dvi.s b/mach/vax4/libem/dvi.s index ab92213dc..51fca7b1f 100644 --- a/mach/vax4/libem/dvi.s +++ b/mach/vax4/libem/dvi.s @@ -1,15 +1,16 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .dvi - # $Header$ + ! $Header$ -.globl .dvi .dvi: movl (sp)+,r1 cmpl r0,$4 - bneq L1 + bneq I1 divl2 (sp)+,(sp) jmp (r1) -L1: +I1: pushl $EILLINS jmp .fat diff --git a/mach/vax4/libem/dvu.s b/mach/vax4/libem/dvu.s index 7e8555d2d..6dd461da7 100644 --- a/mach/vax4/libem/dvu.s +++ b/mach/vax4/libem/dvu.s @@ -1,13 +1,14 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .dvu - # $Header$ + ! $Header$ -.globl .dvu .dvu: cmpl r0,$4 - bneq Lerr + bneq Ierr jmp .dvu4 -Lerr: +Ierr: pushl $EILLINS jmp .fat diff --git a/mach/vax4/libem/dvu4.s b/mach/vax4/libem/dvu4.s index 000d44674..eada8d45b 100644 --- a/mach/vax4/libem/dvu4.s +++ b/mach/vax4/libem/dvu4.s @@ -1,22 +1,23 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .dvu4 - # $Header$ + ! $Header$ -.globl .dvu4 .dvu4: movl (sp)+,r3 movl (sp)+,r2 - blss L1 + blss I1 movl (sp)+,r0 clrl r1 ediv r2,r0,r0,r1 jmp (r3) -L1: +I1: cmpl (sp)+,r2 - bgequ L2 + bgequ I2 clrl r0 jmp (r3) -L2: +I2: movl $1,r0 jmp (r3) diff --git a/mach/vax4/libem/end.s b/mach/vax4/libem/end.s new file mode 100644 index 000000000..bdd787237 --- /dev/null +++ b/mach/vax4/libem/end.s @@ -0,0 +1,20 @@ +.define endtext,enddata,endbss,_etext,_edata,_end +.sect .text + .align 4 +.sect .rom + .align 4 +.sect .data + .align 4 +.sect .bss + .align 4 +.sect .end ! only for declaration of _end and endbss. + + .sect .text +endtext: +_etext: + .sect .data +enddata: +_edata: + .sect .end +_end: +endbss: diff --git a/mach/vax4/libem/exg.s b/mach/vax4/libem/exg.s index b3160641e..4c90d41b5 100644 --- a/mach/vax4/libem/exg.s +++ b/mach/vax4/libem/exg.s @@ -1,18 +1,20 @@ - # $Header$ -.globl .exg +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .exg - # bytes in r0 + ! $Header$ + + ! bytes in r0 .exg: movl (sp)+,r3 addl3 sp,r0,r2 addl2 r0,r2 ashl $-2,r0,r1 -L1: +I1: movl -(r2),-(sp) - sobgtr r1,L1 + sobgtr r1,I1 addl3 r0,r2,r1 -L2: +I2: movw -(r2),-(r1) - sobgtr r0,L2 + sobgtr r0,I2 movl r1,sp jmp (r3) diff --git a/mach/vax4/libem/fat.s b/mach/vax4/libem/fat.s index 9ab4a93c7..a7535bc12 100644 --- a/mach/vax4/libem/fat.s +++ b/mach/vax4/libem/fat.s @@ -1,15 +1,17 @@ - # $Header$ -.globl .fat +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .fat + + ! $Header$ .fat: pushl (sp) jsb .trp - movl $L1,ap + movl $I1,ap movl (sp)+,6(ap) chmk (ap)+ halt - .data -L1: .word 1 - .long 1 - .long 0 + .sect .rom +I1: .data2 1 + .data4 1 + .data4 0 diff --git a/mach/vax4/libem/fef.s b/mach/vax4/libem/fef.s index 59daf1544..6dc0388f0 100644 --- a/mach/vax4/libem/fef.s +++ b/mach/vax4/libem/fef.s @@ -1,28 +1,29 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .fef - # $Header$ + ! $Header$ -.globl .fef .fef: movl (sp)+,r3 cmpl r0,$4 - bneq L1 + bneq I1 movf (sp)+,r0 - jsb Lhulp + jsb Ihulp movf r0,-(sp) jmp (r3) -L1: +I1: cmpl r0,$8 - bneq L2 + bneq I2 movd (sp)+,r0 - jsb Lhulp + jsb Ihulp movd r0,-(sp) jmp (r3) -L2: +I2: pushl $EILLINS jmp .fat -Lhulp: +Ihulp: extzv $7,$8,r0,r2 subl3 $128,r2,-(sp) insv $128,$7,$8,r0 diff --git a/mach/vax4/libem/fif.s b/mach/vax4/libem/fif.s index d1c3f1f98..0682c4014 100644 --- a/mach/vax4/libem/fif.s +++ b/mach/vax4/libem/fif.s @@ -1,24 +1,27 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .fif - # $Header$ + ! $Header$ -.globl .fif +.sect .rom +Ione: .data1 0200, 077, 00, 00, 00, 00, 00, 00 .fif: movl (sp)+,r2 cmpl r0,$4 - bneq L1 + bneq I1 mulf3 (sp)+,(sp)+,r0 - emodf r0,$0,$0f1.0,r1,-(sp) + emodf r0,$0,Ione,r1,-(sp) subf3 (sp),r0,-(sp) jmp (r2) -L1: +I1: cmpl r0,$8 - bneq L2 + bneq I2 muld3 (sp)+,(sp)+,r0 - emodd r0,$0,$0f1.0,r0,-(sp) + emodd r0,$0,Ione,r0,-(sp) subd3 (sp),r0,-(sp) jmp (r2) -L2: +I2: pushl $EILLINS jmp .fat diff --git a/mach/vax4/libem/gto.s b/mach/vax4/libem/gto.s index 85cd56fef..8d4102129 100644 --- a/mach/vax4/libem/gto.s +++ b/mach/vax4/libem/gto.s @@ -1,16 +1,17 @@ - # $Header$ +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .gto + ! $Header$ -.globl .strlb -.globl .gto - # Nonlocal goto. - # On the stack is a pointer to a block containing : - # 1. the new local base (ptr+8) - # 2. the new stack pointer (ptr+4) - # 3. the new program counter (ptr) +.extern .strlb + ! Nonlocal goto. + ! On the stack is a pointer to a block containing : + ! 1. the new local base (ptr+8) + ! 2. the new stack pointer (ptr+4) + ! 3. the new program counter (ptr) .gto: movl (sp)+,r2 - movl 4(r2),sp # Store new stack pointer - pushl (r2) # Push target address - pushl 8(r2) # Push new local base - jsb .strlb # Store in fp, compute ap + movl 4(r2),sp ! Store new stack pointer + pushl (r2) ! Push target address + pushl 8(r2) ! Push new local base + jsb .strlb ! Store in fp, compute ap rsb diff --git a/mach/vax4/libem/inn.s b/mach/vax4/libem/inn.s index c72be1a68..4e21fb7b2 100644 --- a/mach/vax4/libem/inn.s +++ b/mach/vax4/libem/inn.s @@ -1,18 +1,20 @@ - # $Header$ -.globl .inn +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .inn - # bytes in r0 + ! $Header$ + + ! bytes in r0 .inn: movl (sp)+,r3 movl (sp)+,r1 - ashl $3,r0,r2 # nr of bits in r2 + ashl $3,r0,r2 ! nr of bits in r2 cmpl r1,r2 - bgequ L2 - bbc r1,(sp),L2 + bgequ I2 + bbc r1,(sp),I2 movl $1,r1 -L1: +I1: addl2 r0,sp jmp (r3) -L2: +I2: clrl r1 - brb L1 + br I1 diff --git a/mach/vax4/libem/ior.s b/mach/vax4/libem/ior.s index 55968dceb..d4e55b44c 100644 --- a/mach/vax4/libem/ior.s +++ b/mach/vax4/libem/ior.s @@ -1,12 +1,14 @@ - # $Header$ -.globl .ior +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .ior - # bytes in r0 + ! $Header$ + + ! bytes in r0 .ior: movl (sp)+,r2 addl3 r0,sp,r1 ashl $-2,r0,r0 -L1: +I1: bisl2 (sp)+,(r1)+ - sobgtr r0,L1 + sobgtr r0,I1 jmp (r2) diff --git a/mach/vax4/libem/lar4.s b/mach/vax4/libem/lar4.s index 69ce40931..110cfd6b8 100644 --- a/mach/vax4/libem/lar4.s +++ b/mach/vax4/libem/lar4.s @@ -1,5 +1,7 @@ - # $Header$ -.globl .lar4 +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .lar4 + + ! $Header$ .lar4: movl (sp)+,r2 @@ -10,17 +12,17 @@ addl2 (sp)+,r0 addl2 r1,r0 cmpl r1,$1 - bgtr L3 + bgtr I3 movzbl -(r0),-(sp) jmp (r2) -L3: +I3: cmpl r1,$2 - bgtr L2 + bgtr I2 movzwl -(r0),-(sp) jmp (r2) -L2: +I2: ashl $-2,r1,r1 -L1: +I1: movl -(r0),-(sp) - sobgtr r1,L1 + sobgtr r1,I1 jmp (r2) diff --git a/mach/vax4/libem/los.s b/mach/vax4/libem/los.s index fa0a43302..9a3bb7938 100644 --- a/mach/vax4/libem/los.s +++ b/mach/vax4/libem/los.s @@ -1,31 +1,32 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .los - # $Header$ + ! $Header$ -.globl .los .los: movl (sp)+,r2 cmpl r0,$4 - beql L1 + beql I1 pushl $EILLINS jmp .fat -L1: - movl (sp)+,r0 # nbytes in r0 - movl (sp)+,r1 # address in r1 +I1: + movl (sp)+,r0 ! nbytes in r0 + movl (sp)+,r1 ! address in r1 cmpl r0,$1 - beql L2 + beql I2 cmpl r0,$2 - beql L3 + beql I3 addl2 r0,r1 ashl $-2,r0,r0 -L4: +I4: movl -(r1),-(sp) - sobgtr r0,L4 + sobgtr r0,I4 jmp (r2) -L2: +I2: cvtbl (r1),-(sp) jmp (r2) -L3: +I3: cvtwl (r1),-(sp) jmp (r2) diff --git a/mach/vax4/libem/lpb.s b/mach/vax4/libem/lpb.s index 8d92d6754..4e305e989 100644 --- a/mach/vax4/libem/lpb.s +++ b/mach/vax4/libem/lpb.s @@ -1,25 +1,27 @@ - # $Header$ - # special version to work with A68S, by CHL -.globl .lpb - # compute AB, given LB +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .lpb + + ! $Header$ + ! special version to work with A68S, by CHL + ! compute AB, given LB .lpb: cmpl r0,fp - bneq L1 + bneq I1 moval 4(ap),r0 rsb -L1: - movl 4(r0),r1 # mask for saved registers - addl2 $24,r0 # position of AB if no registers saved - movl $16,r2 # position of first bit to test -L2: - subl3 r2,$28,r3 # remaining size of mask - ffs r2,r3,r1,r2 # find first bit set in mask - beql L3 # no more bits set - addl2 $4,r0 # for each saved register +I1: + movl 4(r0),r1 ! mask for saved registers + addl2 $24,r0 ! position of AB if no registers saved + movl $16,r2 ! position of first bit to test +I2: + subl3 r2,$28,r3 ! remaining size of mask + ffs r2,r3,r1,r2 ! find first bit set in mask + beql I3 ! no more bits set + addl2 $4,r0 ! for each saved register incl r2 - jbr L2 -L3: - extzv $30,$2,r1,r2 # Now find out about the stack alignment - # between fp and ap - addl2 r2,r0 # add alignment + jbr I2 +I3: + extzv $30,$2,r1,r2 ! Now find out about the stack alignment + ! between fp and ap + addl2 r2,r0 ! add alignment rsb diff --git a/mach/vax4/libem/lxa.s b/mach/vax4/libem/lxa.s index 537c2878c..6640628ec 100644 --- a/mach/vax4/libem/lxa.s +++ b/mach/vax4/libem/lxa.s @@ -1,7 +1,9 @@ - # $Header$ -.globl .lxa +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .lxa + + ! $Header$ .lxa: - jsb .lxl # Find local base - jsb .lpb # Convert to argument base + jsb .lxl ! Find local base + jsb .lpb ! Convert to argument base rsb diff --git a/mach/vax4/libem/lxl.s b/mach/vax4/libem/lxl.s index e42adfdcb..eca16303d 100644 --- a/mach/vax4/libem/lxl.s +++ b/mach/vax4/libem/lxl.s @@ -1,14 +1,16 @@ - # $Header$ -.globl .lxl +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .lxl - # nlevels in r0 (>=2) + ! $Header$ + + ! nlevels in r0 (>=2) .lxl: pushl r0 decl (sp) movl 4(ap),r0 -L1: +I1: jsb .lpb movl (r0),r0 - sobgtr (sp),L1 + sobgtr (sp),I1 tstl (sp)+ rsb diff --git a/mach/vax4/libem/mlf.s b/mach/vax4/libem/mlf.s index e60619603..7f373892c 100644 --- a/mach/vax4/libem/mlf.s +++ b/mach/vax4/libem/mlf.s @@ -1,20 +1,21 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .mlf - # $Header$ + ! $Header$ -.globl .mlf .mlf: movl (sp)+,r1 cmpl r0,$4 - bneq L1 + bneq I1 mulf2 (sp)+,(sp) jmp (r1) -L1: +I1: cmpl r0,$8 - bneq L2 + bneq I2 muld2 (sp)+,(sp) jmp (r1) -L2: +I2: pushl $EILLINS jmp .fat diff --git a/mach/vax4/libem/mli.s b/mach/vax4/libem/mli.s index cf03e0e91..330e28ed3 100644 --- a/mach/vax4/libem/mli.s +++ b/mach/vax4/libem/mli.s @@ -1,15 +1,16 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .mli - # $Header$ + ! $Header$ -.globl .mli .mli: movl (sp)+,r1 cmpl r0,$4 - bneq L1 + bneq I1 mull2 (sp)+,(sp) jmp (r1) -L1: +I1: pushl $EILLINS jmp .fat diff --git a/mach/vax4/libem/mon.s b/mach/vax4/libem/mon.s index 760f1ba49..08af36b22 100644 --- a/mach/vax4/libem/mon.s +++ b/mach/vax4/libem/mon.s @@ -1,6 +1,8 @@ - # $Header$ +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .mon + + ! $Header$ -.globl .mon .mon: pushl $EBADMON diff --git a/mach/vax4/libem/ngf.s b/mach/vax4/libem/ngf.s index 667a096bc..5e4d422ea 100644 --- a/mach/vax4/libem/ngf.s +++ b/mach/vax4/libem/ngf.s @@ -1,20 +1,21 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .ngf - # $Header$ + ! $Header$ -.globl .ngf .ngf: movl (sp)+,r1 cmpl r0,$4 - bneq L1 + bneq I1 mnegf (sp),(sp) jmp (r1) -L1: +I1: cmpl r0,$8 - bneq L2 + bneq I2 mnegd (sp),(sp) jmp (r1) -L2: +I2: pushl $EILLINS jmp .fat diff --git a/mach/vax4/libem/ngi.s b/mach/vax4/libem/ngi.s index 271e6363a..dcffce90e 100644 --- a/mach/vax4/libem/ngi.s +++ b/mach/vax4/libem/ngi.s @@ -1,15 +1,16 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .ngi - # $Header$ + ! $Header$ -.globl .ngi .ngi: movl (sp)+,r1 cmpl r0,$4 - bneq L1 + bneq I1 mnegl (sp),(sp) jmp (r1) -L1: +I1: pushl $EILLINS jmp .fat diff --git a/mach/vax4/libem/nop.s b/mach/vax4/libem/nop.s index 2e7cb6d4f..d69f95aef 100644 --- a/mach/vax4/libem/nop.s +++ b/mach/vax4/libem/nop.s @@ -1,8 +1,9 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .nop - # $Header$ + ! $Header$ -.globl .nop .nop: movl hol0+LINO_AD,r0 diff --git a/mach/vax4/libem/print.s b/mach/vax4/libem/print.s index 3f6d56bed..e6c317542 100644 --- a/mach/vax4/libem/print.s +++ b/mach/vax4/libem/print.s @@ -1,29 +1,33 @@ - # $Header$ -.globl printd -.globl printc +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define printd +.define printc + + ! $Header$ printd: clrl r1 ediv $10,r0,r0,r1 - beql L1 + beql I1 pushl r1 jsb printd movl (sp)+,r1 -L1: - addb3 $'0,r1,r0 +I1: + addb3 $'0',r1,r0 printc: - movb r0,Lch + movb r0,Ich movl ap,r2 - movl $L9,ap + movl $I9,ap chmk $4 movl r2,ap rsb - .data -L9: - .long 3 - .long 2 - .long Lch - .long 1 -Lch: .word 0 + .sect .rom +I9: + .data4 3 + .data4 2 + .data4 Ich + .data4 1 + + .sect .data +Ich: .data2 0 diff --git a/mach/vax4/libem/rck.s b/mach/vax4/libem/rck.s index dc39d4dff..6765a8305 100644 --- a/mach/vax4/libem/rck.s +++ b/mach/vax4/libem/rck.s @@ -1,13 +1,14 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .rck - # $Header$ + ! $Header$ -.globl .rck .rck: cmpl r0,$4 - bneq Lerr + bneq Ierr jmp .rck4 -Lerr: +Ierr: pushl $EILLINS jmp .fat diff --git a/mach/vax4/libem/rck4.s b/mach/vax4/libem/rck4.s index 9882c3252..c7036eafe 100644 --- a/mach/vax4/libem/rck4.s +++ b/mach/vax4/libem/rck4.s @@ -1,18 +1,19 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .rck4 - # $Header$ + ! $Header$ -.globl .rck4 .rck4: movl (sp)+,r1 movl (sp)+,r0 - cmpl (sp),(r0) # compare lower bound - blss Lerr - cmpl (sp),4(r0) # compare upper bound - bgtr Lerr + cmpl (sp),(r0) ! compare lower bound + blss Ierr + cmpl (sp),4(r0) ! compare upper bound + bgtr Ierr jmp (r1) -Lerr: +Ierr: pushl r1 pushl $ERANGE jsb .trp diff --git a/mach/vax4/libem/rmi.s b/mach/vax4/libem/rmi.s index 66fa45692..939981eca 100644 --- a/mach/vax4/libem/rmi.s +++ b/mach/vax4/libem/rmi.s @@ -1,19 +1,20 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .rmi - # $Header$ + ! $Header$ -.globl .rmi .rmi: movl (sp)+,r3 cmpl r0,$4 - bneq L1 + bneq I1 movl (sp)+,r2 movl (sp)+,r1 ashq $-32,r0,r0 ediv r2,r0,r1,r0 pushl r0 jmp (r3) -L1: +I1: pushl $EILLINS jmp .fat diff --git a/mach/vax4/libem/rmu.s b/mach/vax4/libem/rmu.s index 3054f87e4..74ca29b41 100644 --- a/mach/vax4/libem/rmu.s +++ b/mach/vax4/libem/rmu.s @@ -1,15 +1,16 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .rmu - # $Header$ + ! $Header$ -.globl .rmu .rmu: cmpl r0,$4 - bneq Lerr + bneq Ierr jsb .rmu4 pushl r0 rsb -Lerr: +Ierr: pushl $EILLINS jmp .fat diff --git a/mach/vax4/libem/rmu4.s b/mach/vax4/libem/rmu4.s index f266f51e4..2a682f0e1 100644 --- a/mach/vax4/libem/rmu4.s +++ b/mach/vax4/libem/rmu4.s @@ -1,18 +1,20 @@ - # $Header$ -.globl .rmu4 +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .rmu4 + + ! $Header$ .rmu4: movl (sp)+,r3 movl (sp)+,r2 - blss L1 + blss I1 movl (sp)+,r0 clrl r1 ediv r2,r0,r1,r0 jmp (r3) -L1: +I1: movl (sp)+,r0 cmpl r0,r2 - blssu L2 + blssu I2 subl2 r2,r0 -L2: +I2: jmp (r3) diff --git a/mach/vax4/libem/rol.s b/mach/vax4/libem/rol.s index ec55edcf9..88c31310c 100644 --- a/mach/vax4/libem/rol.s +++ b/mach/vax4/libem/rol.s @@ -1,16 +1,17 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .rol - # $Header$ + ! $Header$ -.globl .rol .rol: movl (sp)+,r1 cmpl r0,$4 - bneq Lerr + bneq Ierr movl (sp)+,r0 rotl r0,(sp),(sp) jmp (r1) -Lerr: +Ierr: pushl $EILLINS jmp .fat diff --git a/mach/vax4/libem/ror.s b/mach/vax4/libem/ror.s index f8697311c..f32eeffa4 100644 --- a/mach/vax4/libem/ror.s +++ b/mach/vax4/libem/ror.s @@ -1,16 +1,17 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .ror - # $Header$ + ! $Header$ -.globl .ror .ror: movl (sp)+,r1 cmpl r0,$4 - bneq Lerr + bneq Ierr subl3 (sp)+,$32,r0 rotl r0,(sp),(sp) jmp (r1) -Lerr: +Ierr: pushl $EILLINS jmp .fat diff --git a/mach/vax4/libem/sar4.s b/mach/vax4/libem/sar4.s index 80061e28a..37735b047 100644 --- a/mach/vax4/libem/sar4.s +++ b/mach/vax4/libem/sar4.s @@ -1,5 +1,7 @@ - # $Header$ -.globl .sar4 +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .sar4 + + ! $Header$ .sar4: movl (sp)+,r2 @@ -10,17 +12,17 @@ mull2 r1,r0 addl2 (sp)+,r0 cmpl r1,$1 - bgtr L3 + bgtr I3 cvtlb (sp)+,(r0) jmp (r2) -L3: +I3: cmpl r1,$2 - bgtr L2 + bgtr I2 cvtlw (sp)+,(r0) jmp (r2) -L2: +I2: ashl $-2,r1,r1 -L1: +I1: movl (sp)+,(r0)+ - sobgtr r1,L1 + sobgtr r1,I1 jmp (r2) diff --git a/mach/vax4/libem/sbf.s b/mach/vax4/libem/sbf.s index 9c317f843..8aa413d72 100644 --- a/mach/vax4/libem/sbf.s +++ b/mach/vax4/libem/sbf.s @@ -1,20 +1,21 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .sbf - # $Header$ + ! $Header$ -.globl .sbf .sbf: movl (sp)+,r1 cmpl r0,$4 - bneq L1 + bneq I1 subf2 (sp)+,(sp) jmp (r1) -L1: +I1: cmpl r0,$8 - bneq L2 + bneq I2 subd2 (sp)+,(sp) jmp (r1) -L2: +I2: pushl $EILLINS jmp .fat diff --git a/mach/vax4/libem/sbi.s b/mach/vax4/libem/sbi.s index acad0ea3d..f0dd9c91e 100644 --- a/mach/vax4/libem/sbi.s +++ b/mach/vax4/libem/sbi.s @@ -1,15 +1,16 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .sbi - # $Header$ + ! $Header$ -.globl .sbi .sbi: movl (sp)+,r1 cmpl r0,$4 - bneq L1 + bneq I1 subl2 (sp)+,(sp) jmp (r1) -L1: +I1: pushl $EILLINS jmp .fat diff --git a/mach/vax4/libem/sbs.s b/mach/vax4/libem/sbs.s index 4814f1eb7..5d751761f 100644 --- a/mach/vax4/libem/sbs.s +++ b/mach/vax4/libem/sbs.s @@ -1,5 +1,7 @@ - # $Header$ -.globl .sbs +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .sbs + + ! $Header$ .sbs: movl (sp)+,r1 diff --git a/mach/vax4/libem/set.s b/mach/vax4/libem/set.s index c1ba16afd..17986ca39 100644 --- a/mach/vax4/libem/set.s +++ b/mach/vax4/libem/set.s @@ -1,25 +1,26 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .setx - # $Header$ + ! $Header$ -.globl .setx - # bytes in r0 + ! bytes in r0 .setx: movl (sp)+,r3 - movl (sp)+,r1 # bitnumber in r1 + movl (sp)+,r1 ! bitnumber in r1 subl3 r0,sp,r2 -L1: +I1: clrl -(sp) cmpl sp,r2 - bgtru L1 - ashl $3,r0,r2 # number of bits in r2 + bgtru I1 + ashl $3,r0,r2 ! number of bits in r2 cmpl r1,r2 - bgequ L2 - bbcs r1,(sp),L3 -L3: + bgequ I2 + bbcs r1,(sp),I3 +I3: jmp (r3) -L2: +I2: pushl $ESET jsb .trp jmp (r3) diff --git a/mach/vax4/libem/sig.s b/mach/vax4/libem/sig.s index e2b586685..ee5c9a818 100644 --- a/mach/vax4/libem/sig.s +++ b/mach/vax4/libem/sig.s @@ -1,5 +1,7 @@ - # $Header$ -.globl .sig +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .sig + + ! $Header$ .sig: movl (sp)+,r1 diff --git a/mach/vax4/libem/sim.s b/mach/vax4/libem/sim.s index 2a11a71fe..6adef5730 100644 --- a/mach/vax4/libem/sim.s +++ b/mach/vax4/libem/sim.s @@ -1,12 +1,14 @@ - # $Header$ -.globl .sim +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .sim + + ! $Header$ .sim: movl (sp)+,r0 - movl (sp)+,.trpim # store ignore mask - bbc $5,.trpim,L3 # floating underflow to be ignored? + movl (sp)+,.trpim ! store ignore mask + bbc $5,.trpim,I3 ! floating underflow to be ignored? bicpsw $0100 jmp (r0) -L3: - bispsw $0100 # enable underflow trap +I3: + bispsw $0100 ! enable underflow trap jmp (r0) diff --git a/mach/vax4/libem/sli.s b/mach/vax4/libem/sli.s index 9f29a5f4f..90fb59802 100644 --- a/mach/vax4/libem/sli.s +++ b/mach/vax4/libem/sli.s @@ -1,17 +1,18 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .sli - # $Header$ + ! $Header$ -.globl .sli .sli: movl (sp)+,r2 cmpl r0,$4 - bneq L1 + bneq I1 movl (sp)+,r0 movl (sp)+,r1 ashl r0,r1,-(sp) jmp (r2) -L1: +I1: pushl $EILLINS jmp .fat diff --git a/mach/vax4/libem/sri.s b/mach/vax4/libem/sri.s index 7144701db..c922515e4 100644 --- a/mach/vax4/libem/sri.s +++ b/mach/vax4/libem/sri.s @@ -1,18 +1,19 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .sri - # $Header$ + ! $Header$ -.globl .sri .sri: movl (sp)+,r2 cmpl r0,$4 - bneq L1 + bneq I1 movl (sp)+,r0 mnegl r0,r0 movl (sp)+,r1 ashl r0,r1,-(sp) jmp (r2) -L1: +I1: pushl $EILLINS jmp .fat diff --git a/mach/vax4/libem/sru.s b/mach/vax4/libem/sru.s index 4c7c2f2b0..b7d1d534d 100644 --- a/mach/vax4/libem/sru.s +++ b/mach/vax4/libem/sru.s @@ -1,8 +1,9 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .sru - # $Header$ + ! $Header$ -.globl .sru .sru: movl (sp)+,r3 diff --git a/mach/vax4/libem/strhp.s b/mach/vax4/libem/strhp.s index 84a8d4741..bc7deee2e 100644 --- a/mach/vax4/libem/strhp.s +++ b/mach/vax4/libem/strhp.s @@ -1,8 +1,9 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .strhp - # $Header$ + ! $Header$ -.globl .strhp .strhp: movl (sp)+,r1 @@ -10,23 +11,23 @@ pushl r1 movl r0,.reghp cmpl r0,.hplim - blssu L2 + blssu I2 addl2 $02000,r0 bicl2 $0777,r0 movl r0,.hplim movl ap,r1 - movl $L9,ap + movl $I9,ap chmk (ap)+ - bcc L1 + bcc I1 pushl $EHEAP jsb .trp rsb -L1: +I1: movl r1,ap -L2: +I2: rsb - .data -L9: .word 17 - .long 1 -.hplim: .long _end + .sect .data +I9: .data2 17 + .data4 1 +.hplim: .data4 _end diff --git a/mach/vax4/libem/strlb.s b/mach/vax4/libem/strlb.s index 23065e107..28f8c4e9f 100644 --- a/mach/vax4/libem/strlb.s +++ b/mach/vax4/libem/strlb.s @@ -1,27 +1,29 @@ - # $Header$ - # revised version by CHL -.globl .strlb - # Store the value that is on the stack in fp. - # Compute ap. +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .strlb + + ! $Header$ + ! revised version by CHL + ! Store the value that is on the stack in fp. + ! Compute ap. .strlb: movl (sp)+,r3 movl (sp)+,fp pushl r3 - movl $20,ap # Compute argumentbase from local base. - # Distance is 5 longwords + the number of - # registers saved. - movl 4(fp),r3 # mask for saved registers - movl $16,r2 # position of first bit to test -L4: - subl3 r2,$28,r1 # remaining size of mask - ffs r2,r1,r3,r2 # find first bit set in mask - beql L5 # no more bits set - addl2 $4,ap # for each saved register + movl $20,ap ! Compute argumentbase from local base. + ! Distance is 5 longwords + the number of + ! registers saved. + movl 4(fp),r3 ! mask for saved registers + movl $16,r2 ! position of first bit to test +I4: + subl3 r2,$28,r1 ! remaining size of mask + ffs r2,r1,r3,r2 ! find first bit set in mask + beql I5 ! no more bits set + addl2 $4,ap ! for each saved register incl r2 - jbr L4 -L5: - extzv $14,$2,6(fp),r3 # Now find out about the stack alignment - # between fp and ap - addl2 r3,ap # add alignment + jbr I4 +I5: + extzv $14,$2,6(fp),r3 ! Now find out about the stack alignment + ! between fp and ap + addl2 r3,ap ! add alignment addl2 fp,ap rsb diff --git a/mach/vax4/libem/sts.s b/mach/vax4/libem/sts.s index 3219a3c8f..5fab92326 100644 --- a/mach/vax4/libem/sts.s +++ b/mach/vax4/libem/sts.s @@ -1,32 +1,33 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .sts - # $Header$ + ! $Header$ -.globl .sts .sts: movl (sp)+,r2 cmpl r0,$4 - beql L1 + beql I1 pushl $EILLINS jmp .fat -L1: - movl (sp)+,r0 # number of bytes in r0 - movl (sp)+,r1 # address in r1 +I1: + movl (sp)+,r0 ! number of bytes in r0 + movl (sp)+,r1 ! address in r1 cmpl r0,$1 - beql L3 + beql I3 cmpl r0,$2 - beql L4 + beql I4 ashl $-2,r0,r0 -L2: +I2: movl (sp)+,(r1)+ - sobgtr r0,L2 + sobgtr r0,I2 jmp (r2) -L3: +I3: movl (sp)+,r0 movb r0,(r1) jmp (r2) -L4: +I4: movl (sp)+,r0 movw r0,(r1) jmp (r2) diff --git a/mach/vax4/libem/trp.s b/mach/vax4/libem/trp.s index f9a2e1aaa..f55f29920 100644 --- a/mach/vax4/libem/trp.s +++ b/mach/vax4/libem/trp.s @@ -1,5 +1,6 @@ - # $Header$ -.globl .trp +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .trp + ! $Header$ .trp: pushl r0 @@ -7,46 +8,44 @@ movl 4(sp),8(sp) movl (sp)+,(sp) cmpl r0,$16 - bgequ L1 # a trapnumber >= 16 cannot be ignored - bbc r0,.trpim,L1 + bgequ I1 ! a trapnumber >= 16 cannot be ignored + bbc r0,.trpim,I1 movl (sp)+,r0 rsb -L1: - pushr $017776 # save registers - pushl r0 # trapnumber on stack +I1: + pushr $017776 ! save registers + pushl r0 ! trapnumber on stack movl .trppc,r0 - beql L2 # is there a user defined traphandler? + beql I2 ! is there a user defined traphandler? clrl .trppc - calls $1,(r0) # if so, call it - popr $017776 # restore registers + calls $1,(r0) ! if so, call it + popr $017776 ! restore registers movl (sp)+,r0 rsb -.set write,4 +I2: + ! Put the (octal) trapnumber in the zeroes in Iemes[]. -L2: - # Put the (octal) trapnumber in the zeroes in Lemes[]. - - movl $Lemesend-9,r1 # Addres after last '0'. - movl $5,r2 # Max number of digits. - movl (sp),r0 # Trap number in r0. -L3: - bicw3 $0177770,r0,r3 # Lower 3 bits form lower octal digit. - bisb2 r3,-(r1) # Put them in the '0'. - ashl $-3,r0,r0 # Shift the 3 bits off. - sobgtr r2,L3 + movl $Iemesend-9,r1 ! Addres after last '0'. + movl $5,r2 ! Max number of digits. + movl (sp),r0 ! Trap number in r0. +I3: + bicw3 $0177770,r0,r3 ! Lower 3 bits form lower octal digit. + bisb2 r3,-(r1) ! Put them in the '0'. + ashl $-3,r0,r0 ! Shift the 3 bits off. + sobgtr r2,I3 movl ap,r2 - movl $Lwr,ap - chmk $write + movl $Iwr,ap + chmk $4 ! write movl r2,ap bpt -.data -Lemes: -.byte 'E,'M,' ,'t,'r,'a,'p,' ,'0,'0,'0,'0,'0,' ,'(,'o,'c,'t,'a,'l,'),0xa -Lemesend: +.sect .data +Iemes: +.data1 'E','M',' ','t','r','a','p',' ','0','0','0','0','0',' ','(','o','c','t','a','l',')',0xa +Iemesend: .align 2 -Lwr: -.long 3 # 3 arguments. -.long 2 # File descriptor 2. -.long Lemes # Address of character buffer. -.long Lemesend - Lemes # Number of characters to write. +Iwr: +.data4 3 ! 3 arguments. +.data4 2 ! File descriptor 2. +.data4 Iemes ! Address of character buffer. +.data4 Iemesend - Iemes ! Number of characters to write. diff --git a/mach/vax4/libem/vars.s b/mach/vax4/libem/vars.s index ac505bd59..2bc492332 100644 --- a/mach/vax4/libem/vars.s +++ b/mach/vax4/libem/vars.s @@ -1,13 +1,15 @@ -.globl hol0 -.globl .reghp -.globl .trppc -.globl .trpim +.sect .text; .sect .rom; .sect .data; .sect .bss +.sect .data +.define hol0 +.define .reghp +.define .trppc +.define .trpim hol0: .space 8 .trppc: .space 4 .trpim: - .long 0 + .data4 0 .reghp: - .long _end + .data4 _end diff --git a/mach/vax4/libem/xar.s b/mach/vax4/libem/xar.s index 431f0462e..f14e79de1 100644 --- a/mach/vax4/libem/xar.s +++ b/mach/vax4/libem/xar.s @@ -1,28 +1,27 @@ #include "em_abs.h" +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .lar +.define .sar +.define .aar - # $Header$ + ! $Header$ -.globl .lar .lar: cmpl r0,$4 - bneq Lillins + bneq Iillins jmp .lar4 -.globl .sar - .sar: cmpl r0,$4 - bneq Lillins + bneq Iillins jmp .sar4 -.globl .aar - .aar: cmpl r0,$4 - bneq Lillins + bneq Iillins jmp .aar4 -Lillins: +Iillins: pushl $EILLINS jmp .fat diff --git a/mach/vax4/libem/xor.s b/mach/vax4/libem/xor.s index 22c065194..f03c530b0 100644 --- a/mach/vax4/libem/xor.s +++ b/mach/vax4/libem/xor.s @@ -1,12 +1,14 @@ - # $Header$ -.globl .xor +.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text +.define .xor - # bytes in r0 + ! $Header$ + + ! bytes in r0 .xor: movl (sp)+,r2 addl3 r0,sp,r1 ashl $-2,r0,r0 -L1: +I1: xorl2 (sp)+,(r1)+ - sobgtr r0,L1 + sobgtr r0,I1 jmp (r2) -- 2.34.1