From: ceriel Date: Tue, 31 Mar 1987 09:23:20 +0000 (+0000) Subject: Ported to other m68000 systems X-Git-Tag: release-5-5~4269 X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=bc6486d7b07b599a47cee1cd28bbd002bc4462c3;p=ack.git Ported to other m68000 systems --- diff --git a/mach/mantra/int/Makefile b/mach/mantra/int/Makefile index 29ae66c87..58f8c7caa 100644 --- a/mach/mantra/int/Makefile +++ b/mach/mantra/int/Makefile @@ -1,65 +1,69 @@ INTS=em2_t--- em2_---- em2_t-cp em2_t-c- em2_t--p \ em4_t--- em4_---- em4_t-cp em4_t-c- em4_t--p P = mloop -FILES=deffile $P0 $P1 $P2 $P3 $P4 $P5 $P6 $P7 $P8 $P9 $Pa $Pb $Pc $Pe +FILES=deffile $P0 $P1 $P2 $P3 $P4 $P5 $P6 $P7 $P8 $P9 $Pa $Pb $Pc CPP=../../../lib/cpp b=../../../lib/int all: $(INTS) em em: em.c - cc -o em -I../../../h em.c + $(CC) -o em -I../../../h em.c -em2_t---: $(FILES) +em2_t---: $(FILES) compile cat $(FILES) | $(CPP) -P -Dopfreq=0 -Dlast=1 -Dcount=0 -Dtest=1 -Dflow=0 -Dprof=0 >tmp.s - m68k2 -o em2_t--- tmp.s + ./compile -o em2_t--- tmp.s rm -f tmp.s -em2_----: $(FILES) +em2_----: $(FILES) compile cat $(FILES) | $(CPP) -P -Dopfreq=0 -Dlast=0 -Dcount=0 -Dtest=0 -Dflow=0 -Dprof=0 >tmp.s - m68k2 -o em2_---- tmp.s + ./compile -o em2_---- tmp.s rm -f tmp.s -em2_t-cp: $(FILES) +em2_t-cp: $(FILES) compile cat $(FILES) | $(CPP) -P -Dopfreq=0 -Dlast=1 -Dcount=1 -Dtest=1 -Dflow=0 -Dprof=1 >tmp.s - m68k2 -o em2_t-cp tmp.s + ./compile -o em2_t-cp tmp.s rm -f tmp.s -em2_t-c-: $(FILES) +em2_t-c-: $(FILES) compile cat $(FILES) | $(CPP) -P -Dopfreq=0 -Dlast=1 -Dcount=1 -Dtest=1 -Dflow=0 -Dprof=0 >tmp.s - m68k2 -o em2_t-c- tmp.s + ./compile -o em2_t-c- tmp.s rm -f tmp.s -em2_t--p: $(FILES) +em2_t--p: $(FILES) compile cat $(FILES) | $(CPP) -P -Dopfreq=0 -Dlast=1 -Dcount=0 -Dtest=1 -Dflow=0 -Dprof=1 >tmp.s - m68k2 -o em2_t--p tmp.s + ./compile -o em2_t--p tmp.s rm -f tmp.s -em4_t---: $(FILES) +em4_t---: $(FILES) compile cat $(FILES) | $(CPP) -P -Dlword -Dopfreq=0 -Dlast=1 -Dcount=0 -Dtest=1 -Dflow=0 -Dprof=0 >tmp.s - m68k2 -o em4_t--- tmp.s + ./compile -o em4_t--- tmp.s rm -f tmp.s -em4_----: $(FILES) +em4_----: $(FILES) compile cat $(FILES) | $(CPP) -P -Dlword -Dopfreq=0 -Dlast=0 -Dcount=0 -Dtest=0 -Dflow=0 -Dprof=0 >tmp.s - m68k2 -o em4_---- tmp.s + ./compile -o em4_---- tmp.s rm -f tmp.s -em4_t-cp: $(FILES) +em4_t-cp: $(FILES) compile cat $(FILES) | $(CPP) -P -Dlword -Dopfreq=0 -Dlast=1 -Dcount=1 -Dtest=1 -Dflow=0 -Dprof=1 >tmp.s - m68k2 -o em4_t-cp tmp.s + ./compile -o em4_t-cp tmp.s rm -f tmp.s -em4_t-c-: $(FILES) +em4_t-c-: $(FILES) compile cat $(FILES) | $(CPP) -P -Dlword -Dopfreq=0 -Dlast=1 -Dcount=1 -Dtest=1 -Dflow=0 -Dprof=0 >tmp.s - m68k2 -o em4_t-c- tmp.s + ./compile -o em4_t-c- tmp.s rm -f tmp.s -em4_t--p: $(FILES) +em4_t--p: $(FILES) compile cat $(FILES) | $(CPP) -P -Dlword -Dopfreq=0 -Dlast=1 -Dcount=0 -Dtest=1 -Dflow=0 -Dprof=1 >tmp.s - m68k2 -o em4_t--p tmp.s + ./compile -o em4_t--p tmp.s rm -f tmp.s +compile: Makefile + case `ack_sys` in sun*) MACH=sun2;; pmds*) MACH=pmds4;; \ + m68_sysV_0) MACH=mantra;; *) MACH=m68k4;; \ + esac ; echo $$MACH -.m '$$*' > compile; chmod +x compile install: all -mkdir $b24 $b44 ls em2_???? | sed 's:em2_\(.*\):cp & $b24/em_\1:' | sh @@ -74,7 +78,7 @@ cmp: all -cmp em.1 ../../../man/em.1 clean: - -rm -f *.o *.old a.out em tmp.s $(INTS) + -rm -f *.o *.old a.out em tmp.s $(INTS) compile opr: make pr | opr diff --git a/mach/mantra/int/deffile b/mach/mantra/int/deffile index ea62078b6..d95394d9f 100644 --- a/mach/mantra/int/deffile +++ b/mach/mantra/int/deffile @@ -72,7 +72,7 @@ #define l_8 -16 #define checksize cmp.w #2,d0 ; beq 2f ; cmp.w #4,d0 ; beq 4f ; bra e_oddz #endif -#define adroff move.b (a3)+,(a1) ; move.b (a3)+,1(a1) +#define adroff move.b (a3)+,(a5) ; move.b (a3)+,1(a5) #define claimstack tst.b -1024(sp) #define locptr cmp.l sp,a0 ;\ bcc 6f diff --git a/mach/mantra/int/mloop0 b/mach/mantra/int/mloop0 index 55a7812b4..5f7bf9626 100644 --- a/mach/mantra/int/mloop0 +++ b/mach/mantra/int/mloop0 @@ -1,4 +1,5 @@ .define filb + .define _m_a_i_n .define curproc .define pd .define nproc @@ -20,16 +21,18 @@ ! START OF THE PROGRAM !--------------------------------------------------------------------------- - lea retarea,a1 !a1 POINTS AT RETURN AREA +_m_a_i_n: + tst.l (sp)+ + lea retarea,a5 !a5 POINTS AT RETURN AREA move.l nd,-(sp) !nd contains endbss bsr _Xbreak add.l wrd,sp #if last move.l #126,d0 !initialise lasttable - lea lasttable,a5 -0: clr.l (a5)+ + lea lasttable,a1 +0: clr.l (a1)+ dbra d0,0b - move.l #-1,(a5) + move.l #-1,(a1) move.l #linused-8,linused #endif move.l 4(sp),a2 @@ -71,10 +74,10 @@ emfile: .asciz "e.out" bne badarg1 lea header,a0 move.l #5,d0 !convert em integer to integer -0: add.l #4,a1 - move.b (a0)+,-(a1) ; move.b (a0)+,-(a1) - move.b (a0)+,-(a1) ; move.b (a0)+,-(a1) - move.l (a1),-4(a0) ; dbra d0,0b +0: add.l #4,a5 + move.b (a0)+,-(a5) ; move.b (a0)+,-(a5) + move.b (a0)+,-(a5) ; move.b (a0)+,-(a5) + move.l (a5),-4(a0) ; dbra d0,0b move.l nd,a0 ; move.l a0,pb !Bottom emtext add.l ntext,a0 ; move.l a0,pd !proc. descr. base move.l nproc,d1 ; asl.l #3,d1 !2 pointers @@ -101,19 +104,21 @@ emfile: .asciz "e.out" lblbuf: sub.l #2048,sp claimstack move.l sp,a4 !transport ptr a4 - move.l sp,a5 + move.l sp,a1 + move.l a1,-(sp) move.l #2048,-(sp) ; move.l a4,-(sp) mov savefd,-(sp) ; bsr _Xread testen (sp)+ ; bne badarg move.l (sp)+,d0 + move.l (sp)+,a1 cmp.l #2048,d0 ; bcs 0f - add.l #1024,a5 ; bra 1f !a5 =buffer middle -0: add.l d0,a5 !a5 = buffer end + add.l #1024,a1 ; bra 1f !a1 =buffer middle +0: add.l d0,a1 !a1 = buffer end 1: move.l eb,a3 !At a3 filling has to start clr.l d1 ; clr.l d2 move.l #datswi,a6 -datloop: cmp.l a4,a5 ; bhi 9f !Go on filling data +datloop: cmp.l a4,a1 ; bhi 9f !Go on filling data bsr blshift !shift block down , read next block 9: sub.l #1,ndata ; blt finito move.b (a4)+,d1 ; beq dat0 !type byte in d1 @@ -126,10 +131,10 @@ datswi: .data4 dat1; .data4 dat2; .data4 dat3; .data4 dat4 .data4 dat5; .data4 dat6; .data4 dat6; .data4 dofloat .sect .text -dat0: add.l #4,a1 - move.b (a4)+,-(a1) ; move.b (a4)+,-(a1) - move.b (a4)+,-(a1) ; move.b (a4)+,-(a1) - move.l (a1),d0 ; move.l a3,d4 !d0 =count +dat0: add.l #4,a5 + move.b (a4)+,-(a5) ; move.b (a4)+,-(a5) + move.b (a4)+,-(a5) ; move.b (a4)+,-(a5) + move.l (a5),d0 ; move.l a3,d4 !d0 =count sub.l a2,d4 !reconstruct byte count of previous describtor sub.l #1,d0 ; sub.l #1,d4 1: move.l d4,d3 @@ -167,18 +172,21 @@ dofloat: add.l d2,a3 atof: tst.b (a4)+ ; bne atof rts -blshift: move.l a5,a0 ; move.l #1024,d0 +blshift: move.l a1,a0 ; move.l #1024,d0 + tst.l -(sp) sub.l d0,a0 ; move.l d0,-(sp) sub.l d0,a4 !update pointer asr.l #2,d0 -0: move.l (a5)+,(a0)+ ; sub.w #1,d0 - bgt 0b ; move.l a0,a5 - move.l a5,-(sp) ; mov savefd,-(sp) +0: move.l (a1)+,(a0)+ ; sub.w #1,d0 + bgt 0b ; move.l a0,a1 + move.l a1,4(sp) + move.l a1,-(sp) ; mov savefd,-(sp) bsr _Xread testen (sp)+ ; bne badarg move.l (sp)+,d0 + move.l (sp)+,a1 cmp.l #1024,d0 ; beq 1f - add.l d0,a5 + add.l d0,a1 1: rts finito: cmp.l hp,a3 ; bne badarg !load file error @@ -190,7 +198,7 @@ finito: cmp.l hp,a3 ; bne badarg !load file error move.l nproc,d1 ; move.l pd,a3 asl.l #3,d1 !proc. descr. is 8 bytes -4: move.l a5,d2 ; sub.l a4,d2 !What is available? +4: move.l a1,d2 ; sub.l a4,d2 !What is available? add.l #7,d2 ; and.w #-0x8,d2 !multiple of 8! sub.l d2,d1 !subtract what can asr.l #3,d2 !be read. divide by 8 @@ -237,39 +245,39 @@ finito: cmp.l hp,a3 ; bne badarg !load file error ! Count pointer zero is reserved for the case that no line number ! is yet defined. -! Register use: a6 is external base ("eb"), a1 points at return area, other +! Register use: a6 is external base ("eb"), a5 points at return area, other ! registers are free makelink: move.l pd,a0 move.l #0,a2 move.l a0,a3 !a3 will point at the first proc. move.l a0,a4 !a4 will point at proc descr base -0: move.l a0,a5 !keep former descr pointer in a5 +0: move.l a0,a1 !keep former descr pointer in a1 add.l #24,a0 !a0 points at next one cmp.l a0,a6 !top of descriptor space bls 4f !yes? ready! 1: move.l 4(a0),d0 !start address of current proc in d0 - cmp.l 4(a5),d0 !compair start address with previous + cmp.l 4(a1),d0 !compair start address with previous bcc 2f !d0 large? follow link! - sub.l #24,a5 !d0 small? compair with previous - cmp.l a5,a4 !is a5 smaller than pd + sub.l #24,a1 !d0 small? compair with previous + cmp.l a1,a4 !is a1 smaller than pd bls 1b !no? try again move.l a3,16(a0) !yes? then smallest text add up to now move.l a0,a3 !remind a3 is to point at first proc bra 0b !next descriptor -2: move.l 16(a5),d1 !follow the link to find place +2: move.l 16(a1),d1 !follow the link to find place beq 3f !if 0 then no link defined move.l d1,a2 cmp.l 4(a2),d0 !compair start address - bcs 3f !start addr between those of a5 and a2 - move.l a2,a5 !d0 above start address of a5 + bcs 3f !start addr between those of a1 and a2 + move.l a2,a1 !d0 above start address of a1 bra 2b !go on looking -3: move.l a0,16(a5) !a0 follows a5 +3: move.l a0,16(a1) !a0 follows a1 move.l d1,16(a0) !a2 follows a0 bra 0b 4: move.l a3,firstp !firstp links to first procedure -! Register use: a3 points at first procedure , d0 opcode byte , a5 base of +! Register use: a3 points at first procedure , d0 opcode byte , a1 base of ! table , d1 keeps min line nr , d2 keeps max line nr , d3 current line nr , ! maxcount in d4 @@ -305,17 +313,17 @@ procinf: move.l #1,maxcount !count pointer for first procedure bra 4f 3: adroff move.l #0,d3 - move.w (a1),d3 + move.w (a5),d3 bra 4f 6: move.b (a3)+,d0 cmp.b #35,d0 !lin_q ? bne 6f !skip for escape2 at 6f - move.b (a3)+,(a1)+ - move.b (a3)+,(a1)+ - move.b (a3)+,(a1)+ - move.b (a3)+,(a1) - sub.l #3,a1 - move.l (a1),d3 + move.b (a3)+,(a5)+ + move.b (a3)+,(a5)+ + move.b (a3)+,(a5)+ + move.b (a3)+,(a5) + sub.l #3,a5 + move.l (a5),d3 4: cmp.l d1,d3 !d3 less than minimum ? bcc 5f move.l d3,d1 diff --git a/mach/mantra/int/mloop1 b/mach/mantra/int/mloop1 index 801bdc181..b5401f577 100644 --- a/mach/mantra/int/mloop1 +++ b/mach/mantra/int/mloop1 @@ -12,14 +12,14 @@ loop: move.l #0,d0 add.w d0,d0 !opcode to index in table add.w d0,d0 #if prof + lea timeinf,a1 + move.l 0(a1,d0),d1 !get operation time move.l profile,a0 - lea timeinf,a5 - move.l 0(a5,d0),d1 !get operation time add.l d1,(a0) #endif #if opfreq - lea counttab,a5 - add.l #1,0(a5,d0) + lea counttab,a0 + add.l #1,0(a0,d0) #endif jmp dispat(pc,d0) !jump to branch to the operation @@ -112,13 +112,13 @@ escape1: cmp.w #640,d0 !check for range bhi e_illins !jump to ill instruction procedure #if prof - lea timeinf1,a5 - move.l 0(a5,d0),d1 + lea timeinf1,a1 + move.l 0(a1,d0),d1 add.l d1,(a0) #endif #if opfreq - lea counttab+1024,a5 - add.l #1,0(a5,d0) + lea counttab+1024,a0 + add.l #1,0(a0,d0) #endif jmp dispae1(pc,d0) !jump to the operation @@ -188,13 +188,13 @@ escape2: cmp.w #220,d0 bhi e_illins #if prof - lea timeinf2,a5 - move.l 0(a5,d0),d1 + lea timeinf2,a1 + move.l 0(a1,d0),d1 add.l d1,(a0) #endif #if opfreq - lea counttab+1664,a5 - add.l #1,0(a5,d0) + lea counttab+1664,a1 + add.l #1,0(a1,d0) #endif jmp dispae2(pc,d0) diff --git a/mach/mantra/int/mloop2 b/mach/mantra/int/mloop2 index 51069e11f..425c18960 100644 --- a/mach/mantra/int/mloop2 +++ b/mach/mantra/int/mloop2 @@ -30,7 +30,7 @@ loc_s_1: mov #-1,d0 jmp (a4) lpi_l: adroff - move.w (a1),d0 + move.w (a5),d0 move.l d0,-(sp) jmp (a4) lpi_q: jmp (a4) @@ -40,7 +40,7 @@ loc_q: jmp (a4) bra e_illins #endif loc_l: adroff - move.w (a1),d0 + move.w (a5),d0 ext.l d0 mov d0,-(sp) jmp (a4) @@ -49,7 +49,7 @@ ldc_0: cl -(sp) jmp (a4) ldc_l: adroff - move.w (a1),d0 + move.w (a5),d0 ext.l d0 !ext works only on d register 4: move.l d0,-(sp) #ifdef lword @@ -100,7 +100,7 @@ lol_w_1: move.l #-1,d0 mov 0(a2,d0),-(sp) jmp (a4) lol_pw: adroff - move.w (a1),d0 + move.w (a5),d0 5: asl.l wmu,d0 add.l a2,d0 move.l d0,a0 @@ -113,7 +113,7 @@ lol_pw: adroff jmp (a4) lol_nw: adroff - move.w (a1),d0 + move.w (a5),d0 ext.l d0 2: asl.l wmu,d0 add.l a2,d0 @@ -150,7 +150,7 @@ ldl_w_1: move.l #-1,d0 mov (a0),-(sp) jmp (a4) ldl_pw: adroff - move.w (a1),d0 + move.w (a5),d0 5: asl.l wmu,d0 add.l a2,d0 move.l d0,a0 @@ -163,7 +163,7 @@ ldl_pw: adroff mov l0(a0),-(sp) jmp (a4) ldl_nw: adroff - move.w (a1),d0 + move.w (a5),d0 ext.l d0 bra 2b ldl_qpw: move.l (sp)+,d0 @@ -173,7 +173,7 @@ ldl_qnw: move.l (sp)+,d0 !------------------------------------------------------------------------- loe_lw: adroff - move.w (a1),d0 + move.w (a5),d0 bra 1f loe_qw: move.l (sp)+,d0 bra 1f @@ -194,7 +194,7 @@ loe_w0: loe_w1: loe_w2: loe_w3: loe_w4: jmp (a4) lde_lw: adroff - move.w (a1),d0 + move.w (a5),d0 bra 1f lde_qw: move.l (sp)+,d0 bra 1f @@ -235,7 +235,7 @@ lil_1W: move.l l1(a2),a0 mov (a0),-(sp) jmp (a4) lil_pw: adroff - move.w (a1),d0 + move.w (a5),d0 bra 1f lil_qpw: move.l (sp)+,d0 bra 1f @@ -262,7 +262,7 @@ lil_w0: clr.w d0 jmp (a4) lil_nw: adroff - move.w (a1),d0 + move.w (a5),d0 ext.l d0 bra 1f lil_qnw: move.l (sp)+,d0 @@ -294,7 +294,7 @@ lof_s0: move.l d6,d0 move.b (a3)+,d0 bra 1f lof_l: adroff - move.w (a1),d0 + move.w (a5),d0 ext.l d0 bra 1f lof_q: move.l (sp)+,d0 @@ -315,7 +315,7 @@ lof_2W: move.l wrd+word,d0 ; bra 1b lof_3W: move.l wrd+word+word,d0 ; bra 1b lof_4W: move.l wrd+word+word+word,d0 ; bra 1b ldf_l: adroff - move.w (a1),d0 + move.w (a5),d0 ext.l d0 2: move.l (sp)+,a0 add.l d0,a0 @@ -335,7 +335,7 @@ ldf_q: move.l (sp)+,d0 !------------------------------------------------------------------------- lal_p: adroff - move.w (a1),d0 + move.w (a5),d0 bra 1f lal_qp: move.l (sp)+,d0 1: add.l #0+l0,d0 @@ -348,7 +348,7 @@ lal_w0: clr.w d0 add.l #0+l0,d0 bra 3f lal_n: adroff - move.w (a1),d0 + move.w (a5),d0 ext.l d0 bra 4f lal_qn: move.l (sp)+,d0 @@ -366,7 +366,7 @@ lal_w_2: move.l #-512,d0 bra 2b lae_l: adroff - move.w (a1),d0 + move.w (a5),d0 1: add.l a6,d0 move.l d0,-(sp) jmp (a4) @@ -385,7 +385,7 @@ lae_w5: lae_w6: lxl_1: move.l l0(a2),-(sp) jmp (a4) lxl_l: adroff - move.w (a1),d0 + move.w (a5),d0 beq 5f bgt 1f blt e_oddz @@ -408,7 +408,7 @@ lxl_2: move.l #1,d0 lxa_1: move.l #0,d0 bra 3f lxa_l: adroff - move.w (a1),d0 + move.w (a5),d0 bgt 1f blt e_oddz pea l0(a2) @@ -429,7 +429,7 @@ lxa_l: adroff loi_l: adroff clr.l d1 - move.w (a1),d1 + move.w (a5),d1 bra 8f loi_s0: move.l #0,d1 move.b (a3)+,d1 @@ -487,7 +487,7 @@ loi_1: move.l (sp)+,a0 los_z: mov (sp)+,d0 bra 0f los_l: adroff - move.w (a1),d0 + move.w (a5),d0 0: checksize 2: move.l #0,d1 ; move.w (sp)+,d1 ; bra 8b 4: move.l (sp)+,d1 ; bra 8b diff --git a/mach/mantra/int/mloop3 b/mach/mantra/int/mloop3 index 283db0f08..309edc0ac 100644 --- a/mach/mantra/int/mloop3 +++ b/mach/mantra/int/mloop3 @@ -8,7 +8,7 @@ !--------------------------------------------------------------------- stl_pw: adroff - move.w (a1),d0 + move.w (a5),d0 3: asl.l wmu,d0 add.l a2,d0 move.l d0,a0 @@ -23,7 +23,7 @@ stl_qpw: move.l (sp)+,d0 bra 3b stl_nw: adroff - move.w (a1),d0 + move.w (a5),d0 ext.l d0 bra 1f stl_qnw: move.l (sp)+,d0 @@ -61,7 +61,7 @@ sdl_w_1: move.l #-1,d0 mov (sp)+,word(a0) jmp (a4) sdl_nw: adroff - move.w (a1),d0 + move.w (a5),d0 ext.l d0 bra 2b sdl_qnw: move.l (sp)+,d0 @@ -69,7 +69,7 @@ sdl_qnw: move.l (sp)+,d0 sdl_qpw: move.l (sp)+,d0 bra 4f sdl_pw: adroff - move.w (a1),d0 + move.w (a5),d0 4: asl.l wmu,d0 add.l a2,d0 move.l d0,a0 @@ -87,7 +87,7 @@ sdl_pw: adroff sde_q: move.l (sp)+,d0 bra 1f sde_l: adroff - move.w (a1),d0 + move.w (a5),d0 1: add.l a6,d0 move.l d0,a0 #if test @@ -101,7 +101,7 @@ sde_l: adroff ste_qw: move.l (sp)+,d0 bra 1f ste_lw: adroff - move.w (a1),d0 + move.w (a5),d0 bra 1f ste_w2: move.w #512,d0 ; bra 0f ste_w1: move.w #256,d0 ; bra 0f @@ -124,7 +124,7 @@ stf_q: move.l (sp)+,a0 bra 0f stf_l: adroff move.l #0,a0 - move.w (a1),a0 + move.w (a5),a0 bra 0f stf_2W: move.l wrd+word,d0 ; move.l d0,a0 bra 0f @@ -147,7 +147,7 @@ sdf_q: move.l (sp)+,a0 bra 1f sdf_l: adroff move.l d6,a0 - move.w (a1),a0 + move.w (a5),a0 1: add.l (sp)+,a0 #if test locptr @@ -203,12 +203,12 @@ sil_w_1: move.l #-1,d0 mov (sp)+,(a0) jmp (a4) sil_pw: adroff - move.w (a1),d0 + move.w (a5),d0 bra 5b sil_qpw: move.l (sp)+,d0 bra 5b sil_nw: adroff - move.w (a1),d0 + move.w (a5),d0 ext.l d0 bra 2b sil_qnw: move.l (sp)+,d0 @@ -226,7 +226,7 @@ sti_1: move.l (sp)+,a0 move.b word-1(sp),(a0) add.l wrd,sp jmp (a4) -sti_l: adroff ; move.w (a1),d0 ; bra 0f +sti_l: adroff ; move.w (a5),d0 ; bra 0f sti_s0: clr.w d0 ; move.b (a3)+,d0 0: asr.l #1,d0 ; bne 1f bcs sti_1 ; bra e_oddz @@ -258,7 +258,7 @@ sti_1W: sti_2W: sti_3W: sti_4W: 4: mov (sp)+,(a0)+ dbra d0,4b jmp (a4) -sts_l: adroff ; move.w (a1),d0 +sts_l: adroff ; move.w (a5),d0 6: checksize 4: move.l (sp)+,d0; bra 0b 2: move.w (sp)+,d0; bra 0b @@ -268,7 +268,7 @@ sts_z: mov (sp)+,d0 !------------------------------------------------------------------------------ ! POINTER ARITHMETIC !------------------------------------------------------------------------------ -adp_l: adroff ; move.w (a1),d0 +adp_l: adroff ; move.w (a5),d0 ext.l d0 add.l d0,(sp); jmp (a4) adp_q: move.l (sp)+,d0 ; add.l d0,(sp) @@ -279,7 +279,7 @@ adp_s0: move.l d6,d0 ; move.b (a3)+,d0 add.l d0,(sp); jmp (a4) adp_s_1: move.l #-1,d0 ; move.b (a3)+,d0 add.l d0,(sp) ; jmp (a4) -ads_l: adroff ; move.w (a1),d0 +ads_l: adroff ; move.w (a5),d0 bra 0f ads_z: mov (sp)+,d0 0: checksize @@ -289,7 +289,7 @@ ads_z: mov (sp)+,d0 ads_1W: mov (sp)+,d0 extend d0 add.l d0,(sp); jmp (a4) -sbs_l: adroff ; move.w (a1),d0 +sbs_l: adroff ; move.w (a5),d0 bra 0f sbs_z: mov (sp)+,d0 !d0 contains objectsize 0: checksize diff --git a/mach/mantra/int/mloop4 b/mach/mantra/int/mloop4 index 41339172f..0f9caee01 100644 --- a/mach/mantra/int/mloop4 +++ b/mach/mantra/int/mloop4 @@ -31,14 +31,14 @@ inl__3W: move.l a2,a0 ; sub.l #6,a0 ; bra 4b inl_w_1: move.l #-1,d0 ; move.b (a3)+,d0 2: asl.l wmu,d0 1: move.l a2,a0 ; add.l d0,a0 ; bra 4b -inl_pw: adroff ; move.w (a1),d0 +inl_pw: adroff ; move.w (a5),d0 6: asl.l wmu,d0 ; add.l #0+l0,d0 bra 1b inl_qpw: move.l (sp)+,d0 ; bra 6b -inl_nw: adroff ; move.w (a1),d0 +inl_nw: adroff ; move.w (a5),d0 ext.l d0 ; bra 2b inl_qnw: move.l (sp)+,d0 ; bra 2b -ine_lw: adroff ; move.w (a1),d0 ; bra 5f +ine_lw: adroff ; move.w (a5),d0 ; bra 5f ine_qw: move.l (sp)+,d0 ; bra 5f ine_w0: clr.w d0 ; move.b (a3)+,d0 5: asl.l wmu,d0 ; move.l d0,a0 @@ -66,16 +66,16 @@ dec_z: move.l sp,a0 del_w_1: move.l #-1,d0 ; move.b (a3)+,d0 1: asl.l wmu,d0 2: move.l a2,a0 ; add.l d0,a0 ; bra 4b -del_pw: adroff ; move.w (a1),d0 +del_pw: adroff ; move.w (a5),d0 5: asl.l wmu,d0 ; add.l #0+l0,d0 ; bra 2b del_qpw: move.l (sp)+,d0 ; bra 5b -del_nw: adroff ; move.w (a1),d0 +del_nw: adroff ; move.w (a5),d0 ext.l d0 ; bra 1f del_qnw: move.l (sp)+,d0 ; bra 1f dee_w0: clr.w d0 ; move.b (a3)+,d0 0: asl.l wmu,d0 ; move.l d0,a0 add.l a6,a0 ; bra 4b -dee_lw: adroff ; move.w (a1),d0 ; bra 0b +dee_lw: adroff ; move.w (a5),d0 ; bra 0b dee_qw: move.l (sp)+,d0 ; bra 0b #if test @@ -97,15 +97,15 @@ zrl_w_1: move.l #-1,d0 ; move.b (a3)+,d0 #endif cl (a0) jmp (a4) -zrl_nw: adroff ; move.w (a1),d0 +zrl_nw: adroff ; move.w (a5),d0 ext.l d0 ; bra 1b zrl_qnw: move.l (sp)+,d0 ; bra 1b -zrl_pw: adroff ; move.w (a1),d0 +zrl_pw: adroff ; move.w (a5),d0 2: asl.l wmu,d0 ; add.l a2,d0 move.l d0,a0 ; cl l0(a0) jmp (a4) zrl_qpw: move.l (sp)+,d0 ; bra 2b -zre_lw: adroff ; move.w (a1),d0 ; bra 7f +zre_lw: adroff ; move.w (a5),d0 ; bra 7f zre_qw: move.l (sp)+,d0 ; bra 7f zre_w0: clr.w d0 ; move.b (a3)+,d0 7: asl.l wmu,d0 ; add.l a6,d0 @@ -117,7 +117,7 @@ zre_w0: clr.w d0 ; move.b (a3)+,d0 #endif cl (a0) jmp (a4) -zrf_l: adroff ; move.w (a1),d0 ; bra 8f +zrf_l: adroff ; move.w (a5),d0 ; bra 8f zrf_z: mov (sp)+,d0 8: move.l d7,d1 3: asr.w #1,d0 ; dbcs d1,3b @@ -125,7 +125,7 @@ zrf_z: mov (sp)+,d0 0: cl -(sp) ; dbra d0,0b jmp (a4) zer_s0: clr.w d0 ; move.b (a3)+,d0 ; bra 8b -zer_l: adroff ; move.w (a1),d0 ; bra 8b +zer_l: adroff ; move.w (a5),d0 ; bra 8b zer_z: mov (sp),d0 ; bra 8b ! The test on illegal argument takes some time , specially in 4byte case. @@ -136,7 +136,7 @@ zer_z: mov (sp),d0 ; bra 8b and_1W: mov (sp)+,d1 an d1,(sp) jmp (a4) -and_l: adroff ; move.w (a1),d0 ; bra 1f +and_l: adroff ; move.w (a5),d0 ; bra 1f and_z: mov (sp)+,d0 1: ble e_oddz ; move.l d0,a0 move.l d7,d2 @@ -150,7 +150,7 @@ and_z: mov (sp)+,d0 ior_1W: mov (sp)+,d1; inor d1,(sp) jmp (a4) ior_s0: clr.w d0 ; move.b (a3)+,d0; bra 4f -ior_l: adroff ; move.w (a1),d0 ; bra 4f +ior_l: adroff ; move.w (a5),d0 ; bra 4f ior_z: mov (sp)+,d0 4: ble e_oddz ; move.l d0,a0 move.l d7,d2 @@ -163,7 +163,7 @@ ior_z: mov (sp)+,d0 !---------------------------------------------------------------------------- -xor_l: adroff ; move.w (a1),d0 ; bra 6f +xor_l: adroff ; move.w (a5),d0 ; bra 6f xor_z: mov (sp)+,d0 6: ble e_oddz ; move.l d0,a0 move.l d7,d2 @@ -175,7 +175,7 @@ xor_z: mov (sp)+,d0 !---------------------------------------------------------------------------- -com_l: adroff ; move.w (a1),d0 ; bra 0f +com_l: adroff ; move.w (a5),d0 ; bra 0f com_z: mov (sp)+,d0 0: ble e_oddz ; move.l d7,d2 1: asr.l #1,d0 ; dbcs d2,1b ; bcs e_oddz @@ -185,7 +185,7 @@ com_z: mov (sp)+,d0 !--------------------------------------------------------------------------- -rol_l: adroff ; move.w (a1),d0 ; bra 3f +rol_l: adroff ; move.w (a5),d0 ; bra 3f rol_z: mov (sp)+,d0 3: ble e_oddz ; move.l d7,d2 4: asr.l #1,d0 ; dbcs d2,4b @@ -199,7 +199,7 @@ rol_z: mov (sp)+,d0 jmp (a4) 2: nega d1 ; bra 0f 2: nega d1 ; bra 0b -ror_l: adroff ; move.w (a1),d0 ; bra 6f +ror_l: adroff ; move.w (a5),d0 ; bra 6f ror_z: mov (sp)+,d0 6: ble e_oddz ; move.l d7,d2 7: asr.l #1,d0 ; dbcs d2,7b @@ -232,7 +232,7 @@ set_s0: clr.w d0 ; move.b (a3)+,d0 #endif bchg #0,d2 ; add.l d2,a0 bset d1,(a0) ; jmp (a4) !d1 mod 8 bit set -set_l: adroff ; move.w (a1),d0 ; bra 0b +set_l: adroff ; move.w (a5),d0 ; bra 0b set_z: mov (sp)+,d0; bra 0b !---------------------------------------------------------------------------- @@ -262,7 +262,7 @@ inn_s0: clr.w d0 ; move.b (a3)+,d0 btst d1,(a0) ; beq 7f mov #1,-(sp); jmp (a4) 7: cl -(sp) ; jmp (a4) -inn_l: adroff ; move.w (a1),d0 ; bra 0b +inn_l: adroff ; move.w (a5),d0 ; bra 0b inn_z: mov (sp)+,d0; bra 0b diff --git a/mach/mantra/int/mloop5 b/mach/mantra/int/mloop5 index ab48545e3..c89511b97 100644 --- a/mach/mantra/int/mloop5 +++ b/mach/mantra/int/mloop5 @@ -25,7 +25,7 @@ calcarr: move.l (sp)+,d3 !save return address aar_1W: bsr calcarr ; move.l a0,-(sp) jmp (a4) -aar_l: adroff ; cmp.w wrd,(a1) +aar_l: adroff ; cmp.w wrd,(a5) 0: bne e_illins ; bra aar_1W aar_z: comp wrd,(sp)+ ; bra 0b @@ -43,7 +43,7 @@ lar_1W: bsr calcarr ; add.l d1,a0 7: mov -(a0),-(sp); dbra d1,7b jmp (a4) -lar_l: adroff ; cmp.w wrd,(a1) +lar_l: adroff ; cmp.w wrd,(a5) 8: bne e_illins; bra lar_1W lar_z: comp wrd,(sp)+ ; bra 8b @@ -60,7 +60,7 @@ sar_1W: bsr calcarr ; asr.w #1,d1 7: mov (sp)+,(a0)+ ; dbra d1,7b jmp (a4) sar_z: comp wrd,(sp)+ ; bra 1f -sar_l: adroff ; cmp.w wrd,(a1) +sar_l: adroff ; cmp.w wrd,(a5) 1: bne e_illins ; bra sar_1W !------------------------------------------------------------------------- diff --git a/mach/mantra/int/mloop6 b/mach/mantra/int/mloop6 index c5aa47af3..245ea1825 100644 --- a/mach/mantra/int/mloop6 +++ b/mach/mantra/int/mloop6 @@ -9,7 +9,7 @@ ! SIGNED INTEGER ARITHMETIC !------------------------------------------------------------------------------ -adi_l: adroff ; move.w (a1),d0 ; bra 1f +adi_l: adroff ; move.w (a5),d0 ; bra 1f adi_z: mov (sp)+,d0 1: sub.w wrd,d0 ; beq adi_1W sub.w wrd,d0 ; beq adi_2W @@ -40,7 +40,7 @@ adi_2W: !-------------------------------------------------------------------------- sbi_z: mov (sp)+,d0 ; bra 1f -sbi_l: adroff ; move.w (a1),d0 +sbi_l: adroff ; move.w (a5),d0 1: sub.w wrd,d0 ; beq sbi_1W sub.w wrd,d0 ; beq sbi_2W bra e_oddz @@ -71,7 +71,7 @@ sbi_2W: !---------------------------------------------------------------------------- mli_z: mov (sp)+,d0 ; bra 0f -mli_l: adroff ; move.w (a1),d0 +mli_l: adroff ; move.w (a5),d0 0: sub.w wrd,d0 ; beq mli_1W sub.w wrd,d0 ; beq mli_2W bra e_oddz @@ -150,7 +150,7 @@ mlu4: move.l d1,d3 ; move.l d0,d2 !--------------------------------------------------------------------------- dvi_z: mov (sp)+,d0 ; bra 0f -dvi_l: adroff ; move.w (a1),d0 +dvi_l: adroff ; move.w (a5),d0 0: sub.w wrd,d0 ; beq dvi_1W sub.w wrd,d0 ; beq dvi_2W bra e_oddz @@ -172,7 +172,7 @@ dvi_2W: jmp (a4) rmi_z: mov (sp)+,d0 ; bra 1f -rmi_l: adroff ; move.w (a1),d0 +rmi_l: adroff ; move.w (a5),d0 1: sub.l wrd,d0 ; beq rmi_1W sub.l wrd,d0 ; beq rmi_2W bra e_oddz @@ -255,7 +255,7 @@ dvu4: !---------------------------------------------------------------------------- ngi_z: mov (sp)+,d0 ; bra 0f -ngi_l: adroff ; move.w (a1),d0 +ngi_l: adroff ; move.w (a5),d0 0: sub.l wrd,d0 ; bne 2f #if test comp und,(sp) ; bne 1f @@ -281,7 +281,7 @@ ngi_l: adroff ; move.w (a1),d0 !-------------------------------------------------------------------------- sli_z: mov (sp)+,d0 ; bra 0f -sli_l: adroff ; move.w (a1),d0 +sli_l: adroff ; move.w (a5),d0 0: sub.w wrd,d0 ; beq sli_1W sub.w wrd,d0 ; beq sli2 bra e_oddz @@ -330,7 +330,7 @@ sli2: #endif sri_z: mov (sp)+,d0 ; bra 0f -sri_l: adroff ; move.w (a1),d0 +sri_l: adroff ; move.w (a5),d0 0: sub.w wrd,d0 ; bne sri2 mov (sp)+,d0 bmi 7b diff --git a/mach/mantra/int/mloop7 b/mach/mantra/int/mloop7 index 5e5aee7b4..48e3fa49b 100644 --- a/mach/mantra/int/mloop7 +++ b/mach/mantra/int/mloop7 @@ -8,7 +8,7 @@ !----------------------------------------------------------------------------- adu_z: mov (sp)+,d0 ; bra 0f -adu_l: adroff ; move.w (a1),d0 +adu_l: adroff ; move.w (a5),d0 0: checksize 2: move.w (sp)+,d1 ; add.w d1,(sp) jmp (a4) @@ -16,7 +16,7 @@ adu_l: adroff ; move.w (a1),d0 jmp (a4) sbu_z: mov (sp)+,d0 ; bra 0f -sbu_l: adroff ; move.w (a1),d0 +sbu_l: adroff ; move.w (a5),d0 0: checksize 2: move.w (sp)+,d1 ; sub.w d1,(sp) jmp (a4) @@ -26,7 +26,7 @@ sbu_l: adroff ; move.w (a1),d0 !------------------------------------------------------------------------------ mlu_z: mov (sp)+,d0 ; bra 0f -mlu_l: adroff ; move.w (a1),d0 +mlu_l: adroff ; move.w (a5),d0 0: checksize 2: move.w (sp)+,d0 ; mulu (sp),d0 move.w d0,(sp) ; jmp (a4) @@ -37,7 +37,7 @@ mlu_l: adroff ; move.w (a1),d0 !---------------------------------------------------------------------------- dvu_z: mov (sp)+,d0 ; bra 0f -dvu_l: adroff ; move.w (a1),d0 +dvu_l: adroff ; move.w (a5),d0 0: checksize 2: move.w (sp)+,d1 ; beq 3f move.w (sp),d0 ; divu d1,d0 @@ -51,7 +51,7 @@ dvu_l: adroff ; move.w (a1),d0 !---------------------------------------------------------------------------- rmu_z: mov (sp)+,d0 ; bra 0f -rmu_l: adroff ; move.w (a1),d0 +rmu_l: adroff ; move.w (a5),d0 0: checksize 2: move.w (sp)+,d1 ; beq 3f move.w (sp),d0 ; divu d1,d0 @@ -66,7 +66,7 @@ rmu_l: adroff ; move.w (a1),d0 !------------------------------------------------------------------------. slu_z: mov (sp)+,d0 ; bra 0f -slu_l: adroff ; move.w (a1),d0 +slu_l: adroff ; move.w (a5),d0 0: checksize 2: move.w (sp)+,d0 bmi 7f @@ -85,7 +85,7 @@ slu_l: adroff ; move.w (a1),d0 9: nega d0 ; bra 5b sru_z: mov (sp)+,d0 ; bra 0f -sru_l: adroff ; move.w (a1),d0 +sru_l: adroff ; move.w (a5),d0 0: checksize 2: move.w (sp)+,d0 bmi 7b @@ -102,7 +102,7 @@ sru_l: adroff ; move.w (a1),d0 ! DUMMY FLOATING POINT ROUTINES !------------------------------------------------------------------------------ adf_l: sbf_l: mlf_l: dvf_l: - adroff ; move.w (a1),d0 + adroff ; move.w (a5),d0 1: add.l d0,sp #ifdef FLTRAP bra flnim diff --git a/mach/mantra/int/mloop8 b/mach/mantra/int/mloop8 index ae6c5a34e..3d79a8e0f 100644 --- a/mach/mantra/int/mloop8 +++ b/mach/mantra/int/mloop8 @@ -88,7 +88,7 @@ nobr3: add.l #2,a3 ; jmp (a4) !----------------------------------------------------------------------------- cmi_z: mov (sp)+,d0 ; bra 0f -cmi_l: adroff ; move.w (a1),d0 +cmi_l: adroff ; move.w (a5),d0 0: sub.w wrd,d0 ; beq cmi_1W sub.w wrd,d0 ; beq cmi_2W bra e_oddz @@ -104,7 +104,7 @@ cmi_2W: bra 1b cmu_z: mov (sp)+,d0 ; bra 4f -cmu_l: adroff ; move.w (a1),d0 +cmu_l: adroff ; move.w (a5),d0 4: sub.w wrd,d0 ; bne 5f comp (sp)+,(sp)+ ; bcs 3b beq 2b ; bra 1b @@ -115,7 +115,7 @@ cmu_l: adroff ; move.w (a1),d0 cmp_z: cmp.l (sp)+,(sp)+ ; bcs 3b beq 2b ; bra 1b -cms_l: adroff ; move.w (a1),d0 +cms_l: adroff ; move.w (a5),d0 bra 0f cms_z: mov (sp)+,d0 ; bra 0f cms_s0: move.l d6,d0 ; move.b (a3)+,d0 @@ -140,7 +140,7 @@ cmf_s0: move.l d6,d0 ; move.b (a3)+,d0 #else jmp (a4) #endif -cmf_l: adroff ; move.w (a1),d0 ; bra 9b +cmf_l: adroff ; move.w (a5),d0 ; bra 9b cmf_z: mov (sp)+,d0 ; bra 9b !------------------------------------------------------------------------- @@ -149,7 +149,7 @@ cmf_z: mov (sp)+,d0 ; bra 9b cai_z: move.l (sp)+,d0 ; bra 1f cal_q: move.l (sp)+,d0 ; bra 1f -cal_l: adroff ; move.w (a1),d0 ; bra 1f +cal_l: adroff ; move.w (a5),d0 ; bra 1f cal_s0: move.w d6,d0 ; move.b (a3)+,d0 ; bra 1f cal_1: cal_2: cal_3: cal_4: cal_5: cal_6: cal_7: cal_8: cal_9: cal_10: cal_11: cal_12: cal_13: cal_14: cal_15: cal_16: @@ -184,7 +184,7 @@ lblcal: 2: mov und,-(sp) ; dbra d1,2b 3: move.l (a0),a3 ; jmp (a4) -ret_l: adroff ; move.w (a1),d0 +ret_l: adroff ; move.w (a5),d0 bra 1f ret_s0: move.l #0,d0 ; move.b (a3)+,d0 1: blt e_oddz ; beq ret_0 @@ -194,8 +194,8 @@ ret_s0: move.l #0,d0 ; move.b (a3)+,d0 bra 5f ret_1W: move.l #0,d0 5: move.w d0,retsize !RETSIZE CONTAINS -3: mov (sp)+,(a1)+ ; dbra d0,3b ! #WORDS-1 - lea retarea,a1 ; bra 4f +3: mov (sp)+,(a5)+ ; dbra d0,3b ! #WORDS-1 + lea retarea,a5 ; bra 4f ret_0: move.w #-1,retsize 4: unlk a2 ; cmp.l a2,d6 beq hlt_z ; move.l (sp)+,a3 @@ -225,8 +225,8 @@ ret_0: move.w #-1,retsize lfr_1W: move.w d6,d0 ; move.l wrd,d1 0: cmp.w retsize,d0 ; beq 1f bsr e_badlfr -1: add.l d1,a1 -2: mov -(a1),-(sp) ; dbra d0,2b +1: add.l d1,a5 +2: mov -(a5),-(sp) ; dbra d0,2b 5: jmp (a4) lfr_l: move.b (a3)+,-(sp) ; move.b (a3)+,1(sp) move.w (sp)+,d0 ; bra 3f diff --git a/mach/mantra/int/mloop9 b/mach/mantra/int/mloop9 index 433adfda3..4dcbe998f 100644 --- a/mach/mantra/int/mloop9 +++ b/mach/mantra/int/mloop9 @@ -38,31 +38,31 @@ asp_qw: move.l (sp)+,d0 ; bra 6b !----------------------------------------------------------------------------- bls_z: mov (sp)+,d0 ; bra 0f -bls_l: adroff ; move.w (a1),d0 +bls_l: adroff ; move.w (a5),d0 0: checksize 2: move.w (sp)+,d0 ; bra 0f 4: move.l (sp)+,d0 ; bra 0f blm_q: move.l (sp)+,d0 ; bra 0f -blm_l: adroff ; move.w (a1),d0 +blm_l: adroff ; move.w (a5),d0 bra 0f blm_s0: move.l d6,d0 ; move.b (a3)+,d0 0: move.l d0,d2 ; asr.w wmu,d2 - beq 5f ; move.l a1,d1 + beq 5f ; move.l a5,d1 sub.w #1,d2 ; move.l (sp)+,a0 !dest. address - move.l (sp)+,a1 ; cmp.l a0,a1 -!a1 contains source address. beware of overlap of pieces + move.l (sp)+,a5 ; cmp.l a0,a5 +!a5 contains source address. beware of overlap of pieces beq 3f ; bcs 2f -1: mov (a1)+,(a0)+ ; dbra d2,1b -3: move.l d1,a1 +1: mov (a5)+,(a0)+ ; dbra d2,1b +3: move.l d1,a5 5: jmp (a4) -2: add.l d0,a1 ; add.l d0,a0 -4: mov -(a1),-(a0) ; dbra d2,4b +2: add.l d0,a5 ; add.l d0,a0 +4: mov -(a5),-(a0) ; dbra d2,4b bra 3b !---------------------------------------------------------------------------- csa_z: mov (sp)+,d0 ; bra 0f -csa_l: adroff ; move.w (a1),d0 +csa_l: adroff ; move.w (a5),d0 0: sub.l wrd,d0 ; bne e_illins csa_1W: move.l (sp)+,a0 ; mov (sp)+,d0 add.l #4,a0 ; subt (a0),d0 @@ -70,14 +70,14 @@ csa_1W: move.l (sp)+,a0 ; mov (sp)+,d0 comp word(a0),d0 ; bhi 6f extend d0 asl.l #2,d0 ; add.l wrd,d0 - move.l a0,a5 ; add.l d0,a5 - move.l word(a5),d1 ; bne 5f + move.l a0,a1 ; add.l d0,a1 + move.l word(a1),d1 ; bne 5f 6: sub.l #4,a0 ; move.l (a0),d1 beq e_case 5: move.l d1,a3 ; jmp (a4) csb_z: mov (sp)+,d0 ; bra 0f -csb_l: adroff ; move.w (a1),d0 +csb_l: adroff ; move.w (a5),d0 0: comp wrd,d0 ; bne e_illins csb_1W: move.l (sp)+,a0 ; mov (sp)+,d0 mov 4(a0),d1 ; sub.l #1,d1 @@ -101,10 +101,10 @@ lpb_z: add.l #0+l0,(sp) ; jmp (a4) !---------------------------------------------------------------------------- dup_1W: mov (sp),-(sp) ; jmp (a4) -dup_l: adroff ; move.w (a1),d0 +dup_l: adroff ; move.w (a5),d0 bra 1f dus_z: mov (sp)+,d0 ; bra 0f -dus_l: adroff ; move.w (a1),d0 +dus_l: adroff ; move.w (a5),d0 0: checksize 2: move.w (sp)+,d0 ; bra 1f 4: move.l (sp)+,d0 @@ -117,7 +117,7 @@ dus_l: adroff ; move.w (a1),d0 !----------------------------------------------------------------------------- exg_z: mov (sp)+,d0 ; bra 0f -exg_l: adroff ; move.w (a1),d0 +exg_l: adroff ; move.w (a5),d0 bra 0f exg_s0: move.l d6,d0 ; move.b (a3)+,d0 0: move.l d7,d1 ; move.l d0,a0 @@ -185,7 +185,7 @@ str_s0: move.l d6,d0 ; move.b (a3)+,d0 !---------------------------------------------------------------------------- rck_z: mov (sp)+,d0 ; bra 0f -rck_l: adroff ; move.w (a1),d0 +rck_l: adroff ; move.w (a5),d0 0: sub.l wrd,d0 ; beq rck_1W sub.l wrd,d0 ; bne e_oddz move.l (sp)+,a0 @@ -229,16 +229,16 @@ itoa: move.l #9,d4 ; add.l #11,a0 !------------------------------------------------------------------------------ fil_q: move.l (sp)+,a0 ; bra 3f -fil_l: adroff ; move.w (a1),d0 +fil_l: adroff ; move.w (a5),d0 move.l d0,a0 3: add.l a6,a0 ; cmp.l 4(a6),a0 beq 0f #if flow+count+prof - move.l curproc,a5 - move.l 8(a5),d0 - sub.l 12(a5),d0 + move.l curproc,a1 + move.l 8(a1),d0 + sub.l 12(a1),d0 move.l d0,countfld !START COUNTPTR FOR THIS PROC - move.l a0,20(a5) !FILE POINTER IN PROC DES + move.l a0,20(a1) !FILE POINTER IN PROC DES #endif move.l a0,4(a6) 0: jmp (a4) @@ -252,7 +252,7 @@ lni_z: add.l #1,(a6) #endif #endif bra 8f -lin_l: adroff ; move.w (a1),d0 ; bra 1f +lin_l: adroff ; move.w (a5),d0 ; bra 1f lin_q: move.l (sp)+,d0 ; bra 1f lin_s0: move.l #0,d0 ; move.b (a3)+,d0 1: cmp.l (a6),d0 ; beq 9f @@ -269,8 +269,9 @@ lin_s0: move.l #0,d0 ; move.b (a3)+,d0 #endif 8: #if last - bsr nexttab ; move.l 4(a6),(a5)+ !store new line - move.l (a6),(a5) !number in buffer lasttable + bsr nexttab ; + move.l 4(a6),(a1)+ !store new line + move.l (a6),(a1) !number in buffer lasttable #endif #if count move.l countptr,d1 !LINE NUMBER IN d1 @@ -311,7 +312,7 @@ syscal: .data4 e_badmon, _Xdup, _Xpipe, _Xtimes .data4 _Xprofil, e_badmon, _Xsetgid, _Xgetgid .data4 _sigtrp, e_badmon, e_badmon, _Xacct -.data4 e_badmon, _Xlock, _Xioctl, e_badmon +.data4 e_badmon, e_badmon, _Xioctl, e_badmon .data4 e_badmon, e_badmon, e_badmon, _Xexece .data4 _Xumask, _Xchroot, e_badmon, e_badmon diff --git a/mach/mantra/int/mloopa b/mach/mantra/int/mloopa index 37ee0b073..848716948 100644 --- a/mach/mantra/int/mloopa +++ b/mach/mantra/int/mloopa @@ -39,9 +39,9 @@ fatal: clr.l -(sp) !dummy return address error: movem.l d0/d1/d2/d3/d4/d5/d6/d7/a0/a1/a2/a3/a4/a5/a6,-(sp) mov 60(sp),d0 !ERROR NUMBER IN d0 - lea retsize,a5 + lea retsize,a1 move.l #16,d1 -1: move.w -(a5),-(sp) +1: move.w -(a1),-(sp) dbra d1,1b cmp.w #0xB,d0 bge 0f !FATAL ERROR , START ERROR HANDLING @@ -52,8 +52,8 @@ error: movem.l d0/d1/d2/d3/d4/d5/d6/d7/a0/a1/a2/a3/a4/a5/a6,-(sp) and.w d2,d1 bne 0f move.l #16,d1 - lea retsize,a5 -1: move.w (sp)+,(a5)+ + lea retsize,a1 +1: move.w (sp)+,(a1)+ dbra d1,1b movem.l (sp)+,d0/d1/d2/d3/d4/d5/d6/d7/a0/a1/a2/a3/a4/a5/a6 @@ -73,8 +73,8 @@ rtt_z: move.l a2,sp add.l #0x10,sp !REMOVE RETURN STATUS BLOCK add.l wrd,sp !REMOVE ERROR NUMBER move.l #16,d0 - lea retsize,a5 -1: move.w (sp)+,(a5)+ + lea retsize,a1 +1: move.w (sp)+,(a1)+ dbra d0,1b movem.l (sp)+,d0/d1/d2/d3/d4/d5/d6/d7/a0/a1/a2/a3/a4/a5/a6 add.l wrd,sp @@ -126,12 +126,12 @@ notrap1: comp #29,d0 !ERROR NUMBER STILL IN d0 2: move.l 4(a6),a0 cmp.l #0,a0 beq 5f - move.l a0,a5 + move.l a0,a1 sub.l #4,sp - move.l a5,-(sp) + move.l a1,-(sp) move.l #-1,d0 1: add.l #1,d0 - tst.b (a5)+ + tst.b (a1)+ bne 1b move.l d0,4(sp) mov #2,-(sp) @@ -249,8 +249,8 @@ lhalt: beq 0f bsr nexttab bra 1f -0: lea lasttable,a5 -1: tst.l (a5) +0: lea lasttable,a1 +1: tst.l (a1) bne 2f !exists entry in table move.l #22,-(sp) !here case no lines processed pea mess1 @@ -263,9 +263,9 @@ lhalt: mov d6,-(sp) bsr _Xwrite add.l wrd+4,sp - move.l (a5),d7 + move.l (a1),d7 move.l d7,a0 !keep file pointer in d7 - clr.l (a5)+ !this will stop the printing + clr.l (a1)+ !this will stop the printing move.l #-1,d1 !d1 will contain length of file name 3: add.l #1,d1 tst.b (a0)+ @@ -275,7 +275,7 @@ lhalt: mov d6,-(sp) bsr _Xwrite add.l wrd+4,sp -4: move.l (a5),d1 !next print line numbers +4: move.l (a1),d1 !next print line numbers lea mess3,a0 bsr itoa move.l #12,-(sp) @@ -284,11 +284,11 @@ lhalt: bsr _Xwrite add.l wrd+4,sp bsr nexttab - tst.l (a5) !in case 0 no more lines + tst.l (a1) !in case 0 no more lines beq 9f - cmp.l (a5),d7 + cmp.l (a1),d7 bne 2b !new file name - clr.l (a5)+ !skip file name + clr.l (a1)+ !skip file name bra 4b !only new line 9: .sect .data @@ -345,12 +345,12 @@ emess: !------------------------------------------------------------------------------ .sect .text #if last -nexttab: move.l linused,a5 - add.l #8,a5 - cmp.l #linused,a5 !top of buffer reached? +nexttab: move.l linused,a1 + add.l #8,a1 + cmp.l #linused,a1 !top of buffer reached? bne 1f !if so back to bottom - sub.l #512,a5 -1: move.l a5,linused + sub.l #512,a1 +1: move.l a1,linused rts #endif #if count+prof @@ -359,9 +359,9 @@ nexttab: move.l linused,a5 .sect .text tabprint: mov d0,-(sp) !KEEP FILE DESCRIPTOR FOR WRITING lea buffer,a3 - move.l firstp,a5 !IN a5 POINTER TO CURRENT PROC. + move.l firstp,a1 !IN a1 POINTER TO CURRENT PROC. move.l #0,a2 !IN a2 POINTER TO FILENAME . -2: move.l 16(a5),d0 +2: move.l 16(a1),d0 beq 9f !LAST PROCEDURE , EXCEPTION . move.l d0,a6 !IN a6 POINTER TO NEXT PROCEDURE . 7: move.l 8(a6),d7 !COUNTPTR OF NEXT IN d7 @@ -370,12 +370,12 @@ tabprint: mov d0,-(sp) !KEEP FILE DESCRIPTOR FOR WRITING beq 9f move.l d0,a6 bra 7b -8: move.l 8(a5),d6 !COUNTPTR OF CURRENT IN d6. - move.l 12(a5),d5 !FIRST LINE NUMBER IN d5. +8: move.l 8(a1),d6 !COUNTPTR OF CURRENT IN d6. + move.l 12(a1),d5 !FIRST LINE NUMBER IN d5. beq 1f !NO LINES : GO ON. - cmp.l 20(a5),a2 !START PRINTING FILE NAME . + cmp.l 20(a1),a2 !START PRINTING FILE NAME . beq 6f !NO NEW NAME. - move.l 20(a5),a2 !NEW FILE NAME. + move.l 20(a1),a2 !NEW FILE NAME. cmp.l #0,a2 !NO FILE NAME . beq 6f move.l #0,d1 !START SCANNING FILE NAME @@ -407,8 +407,8 @@ tabprint: mov d0,-(sp) !KEEP FILE DESCRIPTOR FOR WRITING add.l #4,d6 !NEXT COUNT. sub.l #1,d7 !ONE LINE LESS TO GO. bhi 0b -1: move.l a6,a5 - cmp.l #0,a5 +1: move.l a6,a1 + cmp.l #0,a1 bne 2b add.l wrd,sp !REMOVE FILE DESCR. rts !READY. diff --git a/mach/mantra/int/mloopb b/mach/mantra/int/mloopb index 8cf77a8d3..9a04e3411 100644 --- a/mach/mantra/int/mloopb +++ b/mach/mantra/int/mloopb @@ -15,8 +15,8 @@ _sigtrp: move.l (sp)+,d2 !save return address move.l d4,a0 add.l a0,a0 add.l a0,a0 - lea sig_trp-4(a0),a5 - move.l (a5),d2 !previous trap number in d2 + lea sig_trp-4(a0),a1 + move.l (a1),d2 !previous trap number in d2 comp #256,d1 !-2 and -1 special bcc 1f move.l sig_adr-4(a0),d3 !Get the pointer to the trap- @@ -28,7 +28,7 @@ sig_bad: mov 22,-(sp) !_Xsignal. If pointer 0 trapping is bmi sig_bad move.l d1,d3 ad #2,d3 !0:reset default for signal, -1: ignore -2: move.l d1,(a5) !set new trapno +2: move.l d1,(a1) !set new trapno move.l d3,-(sp) !set arguments to signal: mov d4,-(sp) !pointer ,signo to be trapped bsr _Xsignal @@ -85,7 +85,7 @@ sig12: pea sig12 bsr _Xsignal bsr e_badmon rtr -sig11: move.l 4(a1),d0 +sig11: move.l 4(a5),d0 sub.l sp,d0 bcs e_memflt !in this case error handling possible move.l ml,sp !refresh stack and stop . diff --git a/mach/mantra/int/mloopc b/mach/mantra/int/mloopc index 3d84ac925..f67f2c134 100644 --- a/mach/mantra/int/mloopc +++ b/mach/mantra/int/mloopc @@ -1,32 +1,30 @@ .sect .text .sect .rom .sect .data +.retaddr: + .data4 0 .sect .bss .sect .text !THIS FILE CONTAINS THE SYSTEM CALLS FOR PMDS-II AS SUBROUTINES FOR THE -!EM-INTERPRETER. a1 CONTAINS A POINTER TO THE RETURN AREA . EACH SUBROUTINE +!EM-INTERPRETER. a5 CONTAINS A POINTER TO THE RETURN AREA . EACH SUBROUTINE !EXPECTS ITS DATA IN THE FORM EM PRODUCES AND GIVES ITS RESULTS AS EM !REQUIRES. !THE PMDS-II REQUIRES THE ARGUMENTS ON THE STACK AS 4 BYTE INTEGERS OR !POINTERS , AND USES THE C-CALLING CONVENTION. THE 2 BYTE WORDS 4 BYTE !POINTERS VERSION HAS TO DO SOME CONVERSION FIRST . -_Xexit: move.l (sp),(a1) +_Xexit: move.l (sp)+,.retaddr #ifndef lword bsr st241 #endif - trap #0 - .data2 1 + jsr __exit -_Xfork: move.l (sp),(a1) - trap #0 - .data2 2 - lea 4(sp),sp - bcs 2f - tst.l d0 !PID OF CHILD IN PARENT, 0 IN CHILD +_Xfork: move.l (sp)+,.retaddr + jsr _fork + tst.l d0 + blt 2f bne 1f - trap #0 - .data2 20 + jsr _getpid mov d1,-(sp) !PID OF PARENT IN d1 mov #1,-(sp) !(PID OF CHILD IN D0),FLAG 1 IN CHILD bra 0f @@ -34,373 +32,351 @@ _Xfork: move.l (sp),(a1) cl -(sp) !FLAG 0 IN PARENT 0: cl -(sp) bra 3f -2: mov d0,-(sp) +2: move.l _errno,d0 + mov d0,-(sp) mov d0,-(sp) -3: move.l (a1),a0 +3: move.l .retaddr,a0 jmp (a0) !_Xfork is special -_Xread: move.l (sp),(a1) +_Xread: move.l (sp)+,.retaddr #ifndef lword bsr st241 #endif - trap #0 - .data2 3 -sys0: lea 16(sp),sp - bcc 1f + jsr _read +sys0: lea 12(sp),sp + cmp.l #-1,d0 + bne 1f + move.l _errno,d0 mov d0,-(sp) mov d0,-(sp) bra 2f 1: move.l d0,-(sp) cl -(sp) -2: move.l (a1),a0 +2: move.l .retaddr,a0 jmp (a0) -_Xwrite: move.l (sp),(a1) +_Xwrite: move.l (sp)+,.retaddr #ifndef lword bsr st241 #endif - trap #0 - .data2 4 + jsr _write bra sys0 -_Xopen: move.l (sp),(a1) +_Xopen: move.l (sp)+,.retaddr #ifndef lword bsr st243 #endif - trap #0 - .data2 5 -sys1: lea 12(sp),sp -sys5: bcc 1f + jsr _open +sys1: lea 8(sp),sp +sys5: cmp.l #-1,d0 + bne 1f + move.l _errno,d0 mov d0,-(sp) mov d0,-(sp) bra 2f 1: mov d0,-(sp) cl -(sp) -2: move.l (a1),a0 +2: move.l .retaddr,a0 jmp (a0) -_Xclose: move.l (sp),(a1) +_Xclose: move.l (sp)+,.retaddr #ifndef lword bsr st241 #endif - trap #0 - .data2 6 -sys3: lea 8(sp),sp -sys4: bcc 1f + jsr _close +sys3: lea 4(sp),sp +sys4: cmp.l #-1,d0 + bne 1f + move.l _errno,d0 mov d0,-(sp) mov d0,-(sp) bra 2f 1: cl -(sp) -2: move.l (a1),a0 +2: move.l .retaddr,a0 jmp (a0) -_Xwait: move.l (sp),(a1) - trap #0 - .data2 7 -sys6: lea 4(sp),sp - bcc 1f +_Xwait: move.l (sp)+,.retaddr +.sect .data +xxxx: + .data4 0, 0 +.sect .text + move.l #xxxx,-(sp) + jsr _wait + add.l #4,sp +sys6: cmp.l #-1,d0 + bne 1f + move.l _errno,d0 mov d0,-(sp) mov d0,-(sp) bra 2f -1: mov d1,-(sp) ! ?? - mov d0,-(sp) +1: mov xxxx+4,-(sp) ! ?? + mov xxxx,-(sp) cl -(sp) -2: move.l (a1),a0 +2: move.l .retaddr,a0 jmp (a0) -_Xcreat: move.l (sp),(a1) +_Xcreat: move.l (sp)+,.retaddr #ifndef lword bsr st243 #endif - trap #0 - .data2 8 + jsr _creat bra sys1 -_Xlink: move.l (sp),(a1) - trap #0 - .data2 9 - lea 12(sp),sp +_Xlink: move.l (sp)+,.retaddr + jsr _link + lea 8(sp),sp bra sys4 -_Xunlink: move.l (sp),(a1) - trap #0 - .data2 10 +_Xunlink: move.l (sp)+,.retaddr + jsr _unlink bra sys3 -_Xchdir: move.l (sp),(a1) - trap #0 - .data2 12 +_Xchdir: move.l (sp)+,.retaddr + jsr _chdir bra sys3 -_Xmknod: move.l (sp),(a1) +_Xmknod: move.l (sp)+,.retaddr #ifndef lword bsr st244 #endif - trap #0 - .data2 14 - lea 16(sp),sp + jsr _mknod + lea 12(sp),sp bra sys4 -_Xchmod: move.l (sp),(a1) +_Xchmod: move.l (sp)+,.retaddr #ifndef lword bsr st243 #endif - trap #0 - .data2 15 - lea 12(sp),sp + jsr _chmod + lea 8(sp),sp bra sys4 -_Xchown: move.l (sp),(a1) +_Xchown: move.l (sp)+,.retaddr #ifndef lword bsr st244 #endif - trap #0 - .data2 16 - lea 16(sp),sp + jsr _chown + lea 12(sp),sp bra sys4 -_Xbreak: move.l (sp),(a1) - trap #0 - .data2 17 - lea 8(sp),sp - bcc 1f +_Xbreak: move.l (sp)+,.retaddr + jsr _brk + lea 4(sp),sp + cmp.l #-1,d0 + bne 1f + move.l _errno,d0 mov d0,-(sp) mov d0,-(sp) bra 2f 1: move.l -4(sp),nd cl -(sp) -2: move.l (a1),a0 +2: move.l .retaddr,a0 jmp (a0) .sect .data nd: .data4 endbss .sect .text -_Xstat: move.l (sp),(a1) - trap #0 - .data2 18 - lea 12(sp),sp +_Xstat: move.l (sp)+,.retaddr + jsr _stat + lea 8(sp),sp bra sys4 -_Xlseek: move.l (sp),(a1) +_Xlseek: move.l (sp)+,.retaddr #ifndef lword bsr st245 #endif - trap #0 - .data2 19 - lea 16(sp),sp - bcc 1f + jsr _lseek + lea 12(sp),sp + cmp.l #-1,d0 + bne 1f + move.l _errno,d0 mov d0,-(sp) mov d0,-(sp) bra 2f 1: move.l d0,-(sp) cl -(sp) -2: move.l (a1),a0 +2: move.l .retaddr,a0 jmp (a0) - -_Xgetpid: move.l (sp),(a1) - trap #0 - .data2 20 - add.l #4,sp +_Xgetpid: move.l (sp)+,.retaddr + jsr _getpid mov d0,-(sp) - move.l (a1),a0 + move.l .retaddr,a0 jmp (a0) -_Xmount: move.l (sp),(a1) +_Xmount: move.l (sp)+,.retaddr #ifndef lword bsr st246 #endif - trap #0 - .data2 21 - lea 16(sp),sp + jsr _mount + lea 12(sp),sp bra sys4 -_Xumount: move.l (sp),(a1) - trap #0 - .data2 22 +_Xumount: move.l (sp)+,.retaddr + jsr _umount bra sys3 -_Xsetuid: move.l (sp),(a1) +_Xsetuid: move.l (sp)+,.retaddr #ifndef lword bsr st241 #endif - trap #0 - .data2 23 + jsr _setuid bra sys3 -_Xgetuid: move.l (sp),(a1) - trap #0 - .data2 24 -sys7: add.l #4,sp - mov d1,-(sp) +_Xgetuid: move.l (sp)+,.retaddr + jsr _getuid +sys7: mov d1,-(sp) mov d0,-(sp) - move.l (a1),a0 + move.l .retaddr,a0 jmp (a0) -_Xstime: move.l (sp),(a1) - trap #0 - .data2 25 +_Xstime: move.l (sp)+,.retaddr + jsr _stime bra sys3 -_Xptrace: move.l (sp),(a1) +_Xptrace: move.l (sp)+,.retaddr #ifndef lword bsr st247 #endif - trap #0 - .data2 26 - lea 20(sp),sp + jsr _ptrace + lea 16(sp),sp bra sys5 -_Xalarm: move.l (sp),(a1) +_Xalarm: move.l (sp)+,.retaddr #ifndef lword sub.l #2,sp - clr.w 4(sp) + clr.w (sp) #endif - trap #0 - .data2 27 - lea 8(sp),sp + jsr _alarm + lea 4(sp),sp mov d0,-(sp) - move.l (a1),a0 + move.l .retaddr,a0 jmp (a0) -_Xfstat: move.l (sp),(a1) +_Xfstat: move.l (sp)+,.retaddr #ifndef lword bsr st241 #endif - trap #0 - .data2 28 - lea 12(sp),sp + jsr _fstat + lea 8(sp),sp bra sys4 -_Xpause: trap #0 - .data2 29 +_Xpause: jsr _pause rts -_Xutime: move.l (sp),(a1) - trap #0 - .data2 30 - lea 12(sp),sp +_Xutime: move.l (sp)+,.retaddr + jsr _utime + lea 8(sp),sp bra sys4 -_Xaccess: move.l (sp),(a1) +_Xaccess: move.l (sp)+,.retaddr #ifndef lword bsr st248 #endif - trap #0 - .data2 33 - lea 12(sp),sp + jsr _access + lea 8(sp),sp bra sys4 -_Xnice: +_Xnice: move.l (sp)+,.retaddr #ifndef lword bsr 241 #endif - trap #0 - .data2 34 - move.l (sp)+,(sp) + jsr _nice + move.l .retaddr,(sp) rts -_Xftime: move.l (sp),(a1) - trap #0 - .data2 35 +_Xftime: move.l (sp)+,.retaddr + jsr _ftime bra sys3 -_Xsync: trap #0 - .data2 36 +_Xsync: jsr _sync rts -_Xkill: move.l (sp),(a1) +_Xkill: move.l (sp)+,.retaddr #ifndef lword bsr st248 #endif - trap #0 - .data2 37 - lea 12(sp),sp + jsr _kill + lea 4(sp),sp bra sys4 -_Xdup: move.l (sp),(a1) +_Xdup: move.l (sp)+,.retaddr #ifndef lword bsr st248 #endif - trap #0 - .data2 38 + jsr _dup bra sys1 -_Xpipe: move.l (sp),(a1) - trap #0 - .data2 42 +_Xpipe: move.l (sp)+,.retaddr + move.l #xxxx,-(sp) + jsr _pipe + add.l #4,sp bra sys6 -_Xtimes: trap #0 - .data2 43 - move.l (sp),a0 - add.l #8,sp +_Xtimes: move.l (sp)+,.retaddr + jsr _times + move.l .retaddr,a0 + add.l #4,sp jmp (a0) -_Xprofil: trap #0 - .data2 44 - move.l (sp),a0 - lea 20(sp),sp +_Xprofil: move.l (sp)+,.retaddr + jsr _profil + move.l .retaddr,a0 + lea 16(sp),sp jmp (a0) -_Xsetgid: move.l (sp),(a1) +_Xsetgid: move.l (sp)+,.retaddr #ifndef lword bsr st241 #endif - trap #0 - .data2 46 + jsr _setgid bra sys3 -_Xgetgid: move.l (sp),(a1) - trap #0 - .data2 47 +_Xgetgid: move.l (sp)+,.retaddr + jsr _getpid bra sys7 - -_Xsignal: move.l (sp)+,retaddr +_Xsignal: move.l (sp)+,.retaddr mov (sp)+,d4 extend d4 move.l d4,-(sp) - move.l retaddr,-(sp) - trap #0 - .data2 48 + move.l .retaddr,-(sp) + jsr _signal lea 12(sp),sp !remove arguments - bcc 1f + cmp.l #-1,d0 + bne 1f + move.l _errno,d0 mov d0,-(sp) mov d0,-(sp) bra 2f -1: mov d0,-(sp) +1: + mov d0,-(sp) cl -(sp) -2: move.l retaddr,a0 +2: + move.l .retaddr,a0 jmp (a0) - .sect .data -retaddr: .data4 0 - .sect .text -_Xacct: move.l (sp),(a1) - trap #0 - .data2 51 - bra sys3 -_Xlock: move.l (sp),(a1) -#ifndef lword - bsr st241 -#endif - trap #0 - .data2 53 +_Xacct: move.l (sp)+,.retaddr + jsr _acct bra sys3 +!_Xlock: move.l (sp)+,.retaddr +!#ifndef lword +! bsr st241 +!#endif +! jsr _lock +! bra sys3 -_Xioctl: move.l (sp),(a1) +_Xioctl: move.l (sp)+,.retaddr #ifndef lword bsr st248 #endif - trap #0 - .data2 54 - lea 16(sp),sp + jsr _ioctl + lea 12(sp),sp bra sys4 -!_Xmpxcall: move.l (sp),(a1) +!_Xmpxcall: move.l (sp)+,.retaddr !#ifndef lword ! bsr st241 !#endif @@ -409,26 +385,23 @@ _Xioctl: move.l (sp),(a1) ! lea 12(sp),sp ! bra sys4 -_Xexece: move.l (sp),(a1) - trap #0 - .data2 59 - lea 16(sp),sp +_Xexece: move.l (sp)+,.retaddr + jsr _execve + lea 12(sp),sp bra sys4 -_Xumask: move.l (sp),(a1) +_Xumask: move.l (sp)+,.retaddr #ifndef lword bsr st241 #endif - trap #0 - .data2 60 - add.l #8,sp + jsr _umask + add.l #4,sp mov d0,-(sp) - move.l (a1),a0 + move.l .retaddr,a0 jmp (a0) -_Xchroot: move.l (sp),(a1) - trap #0 - .data2 61 +_Xchroot: move.l (sp)+,.retaddr + jsr _chroot bra sys3 @@ -439,76 +412,69 @@ _Xchroot: move.l (sp),(a1) st241: sub.l #2,sp move.l 2(sp),(sp) - move.l 6(sp),4(sp) - move.w 10(sp),d0 + move.w 6(sp),d0 ext.l d0 - move.l d0,8(sp) + move.l d0,4(sp) rts st243: sub.l #2,sp move.l 2(sp),(sp) move.l 6(sp),4(sp) - move.l 10(sp),8(sp) - move.w 14(sp),d0 + move.w 10(sp),d0 ext.l d0 - move.l d0,12(sp) + move.l d0,8(sp) rts st244: move.l (sp),-(sp) move.l 8(sp),4(sp) - move.l 12(sp),8(sp) + move.w 12(sp),d0 + ext.l d0 + move.l d0,8(sp) move.w 16(sp),d0 ext.l d0 move.l d0,12(sp) - move.w 18(sp),d0 - ext.l d0 - move.l d0,16(sp) rts st245: move.l (sp),-(sp) - move.l 8(sp),4(sp) - move.w 12(sp),d0 + move.w 8(sp),d0 ext.l d0 - move.l d0,8(sp) - move.l 14(sp),12(sp) - move.w 18(sp),d0 + move.l d0,4(sp) + move.l 10(sp),8(sp) + move.w 14(sp),d0 ext.l d0 - move.l d0,16(sp) + move.l d0,12(sp) rts st246: sub.l #2,sp move.l 2(sp),(sp) move.l 6(sp),4(sp) move.l 10(sp),8(sp) - move.l 14(sp),12(sp) - move.w 18(sp),d0 + move.w 14(sp),d0 ext.l d0 - move.l d0,16(sp) + move.l d0,12(sp) rts st247: sub.l #6,sp move.l 6(sp),(sp) - move.l 10(sp),4(sp) - move.w 14(sp),d0 + move.w 10(sp),d0 ext.l d0 - move.l d0,8(sp) - move.w 16(sp),d0 + move.l d0,4(sp) + move.w 12(sp),d0 ext.l d0 - move.l d0,12(sp) - move.l 18(sp),16(sp) - move.w 22(sp),d0 + move.l d0,8(sp) + move.l 14(sp),12(sp) + move.w 18(sp),d0 ext.l d0 - move.l d0,20(sp) + move.l d0,16(sp) rts st248: move.l (sp),-(sp) - move.l 8(sp),4(sp) + move.w 8(sp),d0 + ext.l d0 + move.l d0,4(sp) move.w 12(sp),d0 ext.l d0 move.l d0,8(sp) - move.w 14(sp),d0 - ext.l d0 - move.l d0,12(sp) rts #endif