fixed bug in conversion from float/double to unsigned
This commit is contained in:
parent
a932246479
commit
863824de01
1 changed files with 18 additions and 0 deletions
|
@ -228,15 +228,33 @@
|
||||||
bne 1f
|
bne 1f
|
||||||
fmove.s (8,sp),fp0
|
fmove.s (8,sp),fp0
|
||||||
fabs fp0
|
fabs fp0
|
||||||
|
cmp.l #0x4f000000,(8,sp)
|
||||||
|
bge 2f
|
||||||
fintrz fp0,fp0
|
fintrz fp0,fp0
|
||||||
fmove.l fp0,(8,sp)
|
fmove.l fp0,(8,sp)
|
||||||
jmp (a0)
|
jmp (a0)
|
||||||
|
2:
|
||||||
|
fadd.l #-2147483648,fp0
|
||||||
|
fintrz fp0,fp0
|
||||||
|
fmove.l fp0,d0
|
||||||
|
bchg #31,d0
|
||||||
|
move.l d0,(8,sp)
|
||||||
|
jmp (a0)
|
||||||
1:
|
1:
|
||||||
fmove.d (8,sp),fp0
|
fmove.d (8,sp),fp0
|
||||||
fabs fp0
|
fabs fp0
|
||||||
|
cmp.l #0x41e00000,(8,sp)
|
||||||
|
bge 1f
|
||||||
fintrz fp0,fp0
|
fintrz fp0,fp0
|
||||||
fmove.l fp0,(12,sp)
|
fmove.l fp0,(12,sp)
|
||||||
jmp (a0)
|
jmp (a0)
|
||||||
|
1:
|
||||||
|
fadd.l #-2147483648,fp0
|
||||||
|
fintrz fp0,fp0
|
||||||
|
fmove.l fp0,d0
|
||||||
|
bchg #31,d0
|
||||||
|
move.l d0,(12,sp)
|
||||||
|
jmp (a0)
|
||||||
|
|
||||||
.cff4:
|
.cff4:
|
||||||
move.l (sp)+,a0
|
move.l (sp)+,a0
|
||||||
|
|
Loading…
Add table
Reference in a new issue