Ported to other m68000 systems
authorceriel <none@none>
Tue, 31 Mar 1987 09:23:20 +0000 (09:23 +0000)
committerceriel <none@none>
Tue, 31 Mar 1987 09:23:20 +0000 (09:23 +0000)
15 files changed:
mach/mantra/int/Makefile
mach/mantra/int/deffile
mach/mantra/int/mloop0
mach/mantra/int/mloop1
mach/mantra/int/mloop2
mach/mantra/int/mloop3
mach/mantra/int/mloop4
mach/mantra/int/mloop5
mach/mantra/int/mloop6
mach/mantra/int/mloop7
mach/mantra/int/mloop8
mach/mantra/int/mloop9
mach/mantra/int/mloopa
mach/mantra/int/mloopb
mach/mantra/int/mloopc

index 29ae66c..58f8c7c 100644 (file)
@@ -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
index ea62078..d95394d 100644 (file)
@@ -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  
index 55a7812..5f7bf96 100644 (file)
@@ -1,4 +1,5 @@
        .define filb
+       .define _m_a_i_n
        .define curproc
        .define pd
        .define nproc
 !              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
index 801bdc1..b5401f5 100644 (file)
@@ -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)
 
index 51069e1..425c189 100644 (file)
@@ -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
index 283db0f..309edc0 100644 (file)
@@ -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
index 4133917..0f9caee 100644 (file)
@@ -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
 
 
index ab48545..c89511b 100644 (file)
@@ -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
 
 !-------------------------------------------------------------------------
index c5aa47a..245ea18 100644 (file)
@@ -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
index 5e5aee7..48e3fa4 100644 (file)
@@ -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
index ae6c5a3..3d79a8e 100644 (file)
@@ -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
index 433adfd..4dcbe99 100644 (file)
@@ -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
 
index 37ee0b0..8487169 100644 (file)
@@ -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.
index 8cf77a8..9a04e34 100644 (file)
@@ -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 .
index 3d84ac9..f67f2c1 100644 (file)
@@ -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