Added code for new LOI/STI opcodes
authorceriel <none@none>
Mon, 6 Jun 1988 10:30:57 +0000 (10:30 +0000)
committerceriel <none@none>
Mon, 6 Jun 1988 10:30:57 +0000 (10:30 +0000)
mach/mantra/int/mloop1
mach/mantra/int/mloop2
mach/mantra/int/mloop3
mach/mantra/int/mloopa

index b5401f5..d331994 100644 (file)
@@ -185,7 +185,7 @@ escape2:
        move.b  (a3)+,3(sp)
        add.w   d0,d0
        add.w   d0,d0
-       cmp.w   #220,d0
+       cmp.w   #228,d0
        bhi     e_illins
 #if prof
        lea     timeinf2,a1
@@ -217,9 +217,10 @@ bra        sde_q   ; bra   sdf_q   ; bra   sdl_qpw ; bra   sdl_qnw
 bra    sil_qpw ; bra   sil_qnw ; bra   ste_qw  ; bra   stf_q
 bra    stl_qpw ; bra   stl_qnw ; bra   zeq_q   ; bra   zge_q
 bra    zgt_q   ; bra   zle_q   ; bra   zlt_q   ; bra   zne_q
-bra    zre_qw  ; bra   zrl_qpw ; bra   zrl_qnw
+bra    zre_qw  ; bra   zrl_qpw ; bra   zrl_qnw ; bra   loi_q
+bra    sti_q
 
-.assert .-dispae2-220 == 0
+.assert .-dispae2-228 == 0
 
 !------------------------------------------------------------------------------
 !      timeinf tables, first the unescaped opcodes these tables are parallel
@@ -364,7 +365,8 @@ timeinf2:
 .data4 29 ; .data4 29 ; .data4 29 ; .data4 29 
 .data4 29 ; .data4 29 ; .data4 29 ; .data4 29
 .data4 29 ; .data4 29 ; .data4 29 ; .data4 29 
-.data4 29 ; .data4 29 ; .data4 29  
+.data4 29 ; .data4 29 ; .data4 29 ; .data4 29
+.data4 29
 #else
 timeinf:
 .data4 30 ; .data4 35 ; .data4 35 ; .data4 35 
@@ -488,7 +490,8 @@ timeinf2:
 .data4 25 ; .data4 25 ; .data4 25 ; .data4 25 
 .data4 25 ; .data4 25 ; .data4 25 ; .data4 25
 .data4 25 ; .data4 25 ; .data4 25 ; .data4 25 
-.data4 25 ; .data4 25 ; .data4 25  
+.data4 25 ; .data4 25 ; .data4 25 ; .data4 25
+.data4 25
 #endif
 #endif
        .sect .text
index 425c189..911667c 100644 (file)
@@ -427,19 +427,20 @@ lxa_l:            adroff
 
 !-----------------------------------------------------------------------
 
+loi_q:         move.l  (sp)+,d1;       bra     8f
 loi_l:         adroff
                clr.l   d1
                move.w  (a5),d1
                bra     8f
 loi_s0:                move.l  #0,d1
                move.b  (a3)+,d1
-8:             cmp.w   #1,d1
+8:             cmp.l   #1,d1
                beq     loi_1
-               cmp.w   #2,d1
+               cmp.l   #2,d1
                beq     2f
-               move.w  d1,d0
+               move.l  d1,d0
                move.w  d7,d2
-3:             asr.w   #1,d0   ;       dbcs    d2,3b
+3:             asr.l   #1,d0   ;       dbcs    d2,3b
                bcs     e_oddz
                bra     5f
 loi_1W:                loi_2W:         loi_3W:         loi_4W:
@@ -456,7 +457,7 @@ loi_1W:             loi_2W:         loi_3W:         loi_4W:
 7:             bra     e_badptr
 6:
 #endif
-               sub.w   #1,d0
+               sub.l   #1,d0
 1:             mov     -(a0),-(sp)
                dbra    d0,1b
                jmp     (a4)
index 309edc0..edb5262 100644 (file)
@@ -226,6 +226,7 @@ sti_1:              move.l  (sp)+,a0
                move.b  word-1(sp),(a0)
                add.l   wrd,sp
                jmp     (a4)
+sti_q:         move.l  (sp)+,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
@@ -244,7 +245,7 @@ sti_s0:             clr.w   d0      ;       move.b  (a3)+,d0
                move.w  (sp)+,(a0);     jmp     (a4)
 2:             bcs     e_oddz
 #endif
-               sub.w   #1,d0   ;       bra     3f
+               sub.l   #1,d0   ;       bra     3f
 sti_1W:                sti_2W:         sti_3W:         sti_4W:
                sub.w   #876,d0 ;       asr.w   #2,d0
 3:             move.l  (sp)+,a0
index cf221d4..6d56ccd 100644 (file)
@@ -241,7 +241,7 @@ countsiz: .space 4
 emopf: .asciz  "em_opfreq\0"
        .align
        .sect .bss
-counttab:  .space      1884
+counttab:  .space      1892
        .sect .text
                pea     emopf
                bsr     _Xunlink