From 01a95e3b0849f632d3cc1e4f974f390e7ce9ec1d Mon Sep 17 00:00:00 2001 From: ceriel Date: Fri, 7 Jul 1989 13:53:37 +0000 Subject: [PATCH] replaced some db.. instructions; they are wrong if the count register contains a count > 65535 --- mach/m68020/libem/exg.s | 4 ++-- mach/m68020/libem/lar.s | 4 ++-- mach/m68020/libem/los.s | 4 ++-- mach/m68020/libem/sar.s | 4 ++-- mach/m68020/libem/set.s | 4 ++-- mach/m68020/libem/sts.s | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/mach/m68020/libem/exg.s b/mach/m68020/libem/exg.s index 4abbf97be..d10cb9345 100644 --- a/mach/m68020/libem/exg.s +++ b/mach/m68020/libem/exg.s @@ -10,11 +10,11 @@ lea (4,sp,d0), a0 ! address of bottom block lea (4,sp), a1 ! address of top block asr.l #2, d0 - sub.l #1, d0 1: move.l (a1), d1 move.l (a0), (a1)+ move.l d1, (a0)+ - dbf d0, 1b + sub.l #1, d0 + bne 1b rts .align 2 diff --git a/mach/m68020/libem/lar.s b/mach/m68020/libem/lar.s index 92519872c..000bb58a1 100644 --- a/mach/m68020/libem/lar.s +++ b/mach/m68020/libem/lar.s @@ -45,10 +45,10 @@ EILLINS=18 add.l d0, a1 ! address of 4n byte element add.l d1, a1 ! because of predecrement asr.l #2, d1 - sub.l #1, d1 move.l (sp)+,a0 1: move.l -(a1), -(sp) - dbf d1, 1b + sub.l #1, d1 + bne 1b jmp (a0) .align 2 diff --git a/mach/m68020/libem/los.s b/mach/m68020/libem/los.s index 3aa2d016c..de5b9c95d 100644 --- a/mach/m68020/libem/los.s +++ b/mach/m68020/libem/los.s @@ -26,10 +26,10 @@ 2: add.l d0, a0 !>=4 bytes asr.l #2, d0 - sub.l #1, d0 4: move.l -(a0), -(sp) - dbf d0, 4b + sub.l #1, d0 + bne 4b 3: jmp (a1) .align 2 diff --git a/mach/m68020/libem/sar.s b/mach/m68020/libem/sar.s index 380665fd3..5ed87b04a 100644 --- a/mach/m68020/libem/sar.s +++ b/mach/m68020/libem/sar.s @@ -47,10 +47,10 @@ EILLINS=18 muls.l d1, d0 add.l d0, a1 ! address of 4n byte element asr.l #2, d1 - sub.l #1, d1 move.l (sp)+,a0 1: move.l (sp)+, (a1)+ - dbf d1, 1b + sub.l #1, d1 + bne 1b jmp (a0) .align 2 diff --git a/mach/m68020/libem/set.s b/mach/m68020/libem/set.s index fd1f8cfbd..7bc957004 100644 --- a/mach/m68020/libem/set.s +++ b/mach/m68020/libem/set.s @@ -15,10 +15,10 @@ ESET=2 move.l d2, a1 move.l d1, d2 asr.l #2, d2 - sub.l #1, d2 1: clr.l -(sp) - dbf d2, 1b + sub.l #1, d2 + bne 1b move.l d0, d2 asr.l #3, d2 ! offset from sp in bytes diff --git a/mach/m68020/libem/sts.s b/mach/m68020/libem/sts.s index a1685f6e6..4bbbc5f19 100644 --- a/mach/m68020/libem/sts.s +++ b/mach/m68020/libem/sts.s @@ -25,10 +25,10 @@ bra 4f 2: asr.l #2, d0 - sub.l #1, d0 3: move.l (sp)+, (a0)+ - dbf d0, 3b + sub.l #1, d0 + bne 3b 4: jmp (a1) ! return .align 2 -- 2.34.1