Преглед на файлове

replaced some db.. instructions; they are wrong if the count register
contains a count > 65535

ceriel преди 35 години
родител
ревизия
6966f6586c
променени са 6 файла, в които са добавени 12 реда и са изтрити 12 реда
  1. 2 2
      mach/m68020/libem/exg.s
  2. 2 2
      mach/m68020/libem/lar.s
  3. 2 2
      mach/m68020/libem/los.s
  4. 2 2
      mach/m68020/libem/sar.s
  5. 2 2
      mach/m68020/libem/set.s
  6. 2 2
      mach/m68020/libem/sts.s

+ 2 - 2
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

+ 2 - 2
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

+ 2 - 2
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

+ 2 - 2
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

+ 2 - 2
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

+ 2 - 2
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