From 8a368a9ed15d5c31874973a3ac55f9b5a0ce73d3 Mon Sep 17 00:00:00 2001 From: ceriel Date: Mon, 6 Jun 1988 10:30:57 +0000 Subject: [PATCH] Added code for new LOI/STI opcodes --- mach/mantra/int/mloop1 | 13 ++++++++----- mach/mantra/int/mloop2 | 11 ++++++----- mach/mantra/int/mloop3 | 3 ++- mach/mantra/int/mloopa | 2 +- 4 files changed, 17 insertions(+), 12 deletions(-) diff --git a/mach/mantra/int/mloop1 b/mach/mantra/int/mloop1 index b5401f577..d331994f1 100644 --- a/mach/mantra/int/mloop1 +++ b/mach/mantra/int/mloop1 @@ -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 diff --git a/mach/mantra/int/mloop2 b/mach/mantra/int/mloop2 index 425c18960..911667c41 100644 --- a/mach/mantra/int/mloop2 +++ b/mach/mantra/int/mloop2 @@ -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) diff --git a/mach/mantra/int/mloop3 b/mach/mantra/int/mloop3 index 309edc0ac..edb52627d 100644 --- a/mach/mantra/int/mloop3 +++ b/mach/mantra/int/mloop3 @@ -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 diff --git a/mach/mantra/int/mloopa b/mach/mantra/int/mloopa index cf221d44d..6d56ccd23 100644 --- a/mach/mantra/int/mloopa +++ b/mach/mantra/int/mloopa @@ -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 -- 2.34.1