replaced some db.. instructions; they are wrong if the count register
contains a count > 65535
This commit is contained in:
parent
46b57440a0
commit
01a95e3b08
|
@ -10,11 +10,11 @@
|
||||||
lea (4,sp,d0), a0 ! address of bottom block
|
lea (4,sp,d0), a0 ! address of bottom block
|
||||||
lea (4,sp), a1 ! address of top block
|
lea (4,sp), a1 ! address of top block
|
||||||
asr.l #2, d0
|
asr.l #2, d0
|
||||||
sub.l #1, d0
|
|
||||||
1:
|
1:
|
||||||
move.l (a1), d1
|
move.l (a1), d1
|
||||||
move.l (a0), (a1)+
|
move.l (a0), (a1)+
|
||||||
move.l d1, (a0)+
|
move.l d1, (a0)+
|
||||||
dbf d0, 1b
|
sub.l #1, d0
|
||||||
|
bne 1b
|
||||||
rts
|
rts
|
||||||
.align 2
|
.align 2
|
||||||
|
|
|
@ -45,10 +45,10 @@ EILLINS=18
|
||||||
add.l d0, a1 ! address of 4n byte element
|
add.l d0, a1 ! address of 4n byte element
|
||||||
add.l d1, a1 ! because of predecrement
|
add.l d1, a1 ! because of predecrement
|
||||||
asr.l #2, d1
|
asr.l #2, d1
|
||||||
sub.l #1, d1
|
|
||||||
move.l (sp)+,a0
|
move.l (sp)+,a0
|
||||||
1:
|
1:
|
||||||
move.l -(a1), -(sp)
|
move.l -(a1), -(sp)
|
||||||
dbf d1, 1b
|
sub.l #1, d1
|
||||||
|
bne 1b
|
||||||
jmp (a0)
|
jmp (a0)
|
||||||
.align 2
|
.align 2
|
||||||
|
|
|
@ -26,10 +26,10 @@
|
||||||
2:
|
2:
|
||||||
add.l d0, a0 !>=4 bytes
|
add.l d0, a0 !>=4 bytes
|
||||||
asr.l #2, d0
|
asr.l #2, d0
|
||||||
sub.l #1, d0
|
|
||||||
|
|
||||||
4: move.l -(a0), -(sp)
|
4: move.l -(a0), -(sp)
|
||||||
dbf d0, 4b
|
sub.l #1, d0
|
||||||
|
bne 4b
|
||||||
3:
|
3:
|
||||||
jmp (a1)
|
jmp (a1)
|
||||||
.align 2
|
.align 2
|
||||||
|
|
|
@ -47,10 +47,10 @@ EILLINS=18
|
||||||
muls.l d1, d0
|
muls.l d1, d0
|
||||||
add.l d0, a1 ! address of 4n byte element
|
add.l d0, a1 ! address of 4n byte element
|
||||||
asr.l #2, d1
|
asr.l #2, d1
|
||||||
sub.l #1, d1
|
|
||||||
move.l (sp)+,a0
|
move.l (sp)+,a0
|
||||||
1:
|
1:
|
||||||
move.l (sp)+, (a1)+
|
move.l (sp)+, (a1)+
|
||||||
dbf d1, 1b
|
sub.l #1, d1
|
||||||
|
bne 1b
|
||||||
jmp (a0)
|
jmp (a0)
|
||||||
.align 2
|
.align 2
|
||||||
|
|
|
@ -15,10 +15,10 @@ ESET=2
|
||||||
move.l d2, a1
|
move.l d2, a1
|
||||||
move.l d1, d2
|
move.l d1, d2
|
||||||
asr.l #2, d2
|
asr.l #2, d2
|
||||||
sub.l #1, d2
|
|
||||||
1:
|
1:
|
||||||
clr.l -(sp)
|
clr.l -(sp)
|
||||||
dbf d2, 1b
|
sub.l #1, d2
|
||||||
|
bne 1b
|
||||||
|
|
||||||
move.l d0, d2
|
move.l d0, d2
|
||||||
asr.l #3, d2 ! offset from sp in bytes
|
asr.l #3, d2 ! offset from sp in bytes
|
||||||
|
|
|
@ -25,10 +25,10 @@
|
||||||
bra 4f
|
bra 4f
|
||||||
2:
|
2:
|
||||||
asr.l #2, d0
|
asr.l #2, d0
|
||||||
sub.l #1, d0
|
|
||||||
3:
|
3:
|
||||||
move.l (sp)+, (a0)+
|
move.l (sp)+, (a0)+
|
||||||
dbf d0, 3b
|
sub.l #1, d0
|
||||||
|
bne 3b
|
||||||
4:
|
4:
|
||||||
jmp (a1) ! return
|
jmp (a1) ! return
|
||||||
.align 2
|
.align 2
|
||||||
|
|
Loading…
Reference in a new issue