Bug fix: the BLS instruction did'nt work with block moves of one word.

This commit is contained in:
ceriel 1986-07-25 15:57:03 +00:00
parent 6dd1a052d3
commit 023073b422

View file

@ -2725,9 +2725,9 @@ blm $1 > 12 | ADDSCR ADDSCR | remove(MEM_ALL)
/* Wait for restriction nregneeded<2 to be removed /* Wait for restriction nregneeded<2 to be removed
bls $1 == 2 | DATASCR ADDSCR ADDSCR | bls $1 == 2 | DATASCR ADDSCR ADDSCR |
remove(MEM_ALL) remove(MEM_ALL)
"sub.w #1,%[1]"
"asr #1,%[1]" "asr #1,%[1]"
"beq 2f" "sub.w #1,%[1]"
"blt 2f"
"1:" "1:"
"move.w (%[3])+,(%[2])+" "move.w (%[3])+,(%[2])+"
"dbf %[1],1b" "dbf %[1],1b"
@ -2741,9 +2741,9 @@ bls $1 == 2 | STACK |
"move.w (sp)+,%[c]" "move.w (sp)+,%[c]"
"move.l (sp)+,%[b]" "move.l (sp)+,%[b]"
"move.l (sp)+,%[a]" "move.l (sp)+,%[a]"
"sub.w #1,%[c]"
"asr #1,%[c]" "asr #1,%[c]"
"beq 2f" "sub.w #1,%[c]"
"blt 2f"
"1:" "1:"
"move.w (%[a])+,(%[b])+" "move.w (%[a])+,(%[b])+"
"dbf %[c],1b" "dbf %[c],1b"