Added code for new LOI/STI opcodes

This commit is contained in:
ceriel 1988-06-06 10:30:57 +00:00
parent e75308763c
commit 8a368a9ed1
4 changed files with 17 additions and 12 deletions

View file

@ -185,7 +185,7 @@ escape2:
move.b (a3)+,3(sp) move.b (a3)+,3(sp)
add.w d0,d0 add.w d0,d0
add.w d0,d0 add.w d0,d0
cmp.w #220,d0 cmp.w #228,d0
bhi e_illins bhi e_illins
#if prof #if prof
lea timeinf2,a1 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 sil_qpw ; bra sil_qnw ; bra ste_qw ; bra stf_q
bra stl_qpw ; bra stl_qnw ; bra zeq_q ; bra zge_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 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 ! 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 .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 #else
timeinf: timeinf:
.data4 30 ; .data4 35 ; .data4 35 ; .data4 35 .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 .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
#endif #endif
.sect .text .sect .text

View file

@ -427,19 +427,20 @@ lxa_l: adroff
!----------------------------------------------------------------------- !-----------------------------------------------------------------------
loi_q: move.l (sp)+,d1; bra 8f
loi_l: adroff loi_l: adroff
clr.l d1 clr.l d1
move.w (a5),d1 move.w (a5),d1
bra 8f bra 8f
loi_s0: move.l #0,d1 loi_s0: move.l #0,d1
move.b (a3)+,d1 move.b (a3)+,d1
8: cmp.w #1,d1 8: cmp.l #1,d1
beq loi_1 beq loi_1
cmp.w #2,d1 cmp.l #2,d1
beq 2f beq 2f
move.w d1,d0 move.l d1,d0
move.w d7,d2 move.w d7,d2
3: asr.w #1,d0 ; dbcs d2,3b 3: asr.l #1,d0 ; dbcs d2,3b
bcs e_oddz bcs e_oddz
bra 5f bra 5f
loi_1W: loi_2W: loi_3W: loi_4W: loi_1W: loi_2W: loi_3W: loi_4W:
@ -456,7 +457,7 @@ loi_1W: loi_2W: loi_3W: loi_4W:
7: bra e_badptr 7: bra e_badptr
6: 6:
#endif #endif
sub.w #1,d0 sub.l #1,d0
1: mov -(a0),-(sp) 1: mov -(a0),-(sp)
dbra d0,1b dbra d0,1b
jmp (a4) jmp (a4)

View file

@ -226,6 +226,7 @@ sti_1: move.l (sp)+,a0
move.b word-1(sp),(a0) move.b word-1(sp),(a0)
add.l wrd,sp add.l wrd,sp
jmp (a4) jmp (a4)
sti_q: move.l (sp)+,d0; bra 0f
sti_l: adroff ; move.w (a5),d0 ; bra 0f sti_l: adroff ; move.w (a5),d0 ; bra 0f
sti_s0: clr.w d0 ; move.b (a3)+,d0 sti_s0: clr.w d0 ; move.b (a3)+,d0
0: asr.l #1,d0 ; bne 1f 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) move.w (sp)+,(a0); jmp (a4)
2: bcs e_oddz 2: bcs e_oddz
#endif #endif
sub.w #1,d0 ; bra 3f sub.l #1,d0 ; bra 3f
sti_1W: sti_2W: sti_3W: sti_4W: sti_1W: sti_2W: sti_3W: sti_4W:
sub.w #876,d0 ; asr.w #2,d0 sub.w #876,d0 ; asr.w #2,d0
3: move.l (sp)+,a0 3: move.l (sp)+,a0

View file

@ -241,7 +241,7 @@ countsiz: .space 4
emopf: .asciz "em_opfreq\0" emopf: .asciz "em_opfreq\0"
.align .align
.sect .bss .sect .bss
counttab: .space 1884 counttab: .space 1892
.sect .text .sect .text
pea emopf pea emopf
bsr _Xunlink bsr _Xunlink