Fixed CFU implementation
This commit is contained in:
parent
a0acff4f4c
commit
a8b2fae0da
2 changed files with 21 additions and 2 deletions
|
@ -329,7 +329,8 @@ bigmin:
|
||||||
fstcw 4(bx)
|
fstcw 4(bx)
|
||||||
wait
|
wait
|
||||||
mov dx,4(bx)
|
mov dx,4(bx)
|
||||||
or 4(bx),0xc00 ! truncating mode
|
and 4(bx),0xf3ff
|
||||||
|
or 4(bx),0x400 ! to -infinity
|
||||||
wait
|
wait
|
||||||
fldcw 4(bx)
|
fldcw 4(bx)
|
||||||
cmp 8(bx),4
|
cmp 8(bx),4
|
||||||
|
@ -337,8 +338,12 @@ bigmin:
|
||||||
! loc 4 loc ? cfu
|
! loc 4 loc ? cfu
|
||||||
flds 12(bx)
|
flds 12(bx)
|
||||||
fabs ! ???
|
fabs ! ???
|
||||||
|
fiaddl (bigmin)
|
||||||
fistpl 12(bx)
|
fistpl 12(bx)
|
||||||
wait
|
wait
|
||||||
|
mov ax,12(bx)
|
||||||
|
sub ax,(bigmin)
|
||||||
|
mov 12(bx),ax
|
||||||
1:
|
1:
|
||||||
mov 4(bx),dx
|
mov 4(bx),dx
|
||||||
wait
|
wait
|
||||||
|
@ -348,7 +353,12 @@ bigmin:
|
||||||
! loc 8 loc ? cfu
|
! loc 8 loc ? cfu
|
||||||
fldd 12(bx)
|
fldd 12(bx)
|
||||||
fabs ! ???
|
fabs ! ???
|
||||||
|
fiaddl (bigmin)
|
||||||
fistpl 16(bx)
|
fistpl 16(bx)
|
||||||
|
wait
|
||||||
|
mov ax,16(bx)
|
||||||
|
sub ax,(bigmin)
|
||||||
|
mov 16(bx),ax
|
||||||
jmp 1b
|
jmp 1b
|
||||||
|
|
||||||
.cff4:
|
.cff4:
|
||||||
|
|
|
@ -487,7 +487,8 @@ bigmin:
|
||||||
fstcw -2(bx)
|
fstcw -2(bx)
|
||||||
wait
|
wait
|
||||||
mov dx,-2(bx)
|
mov dx,-2(bx)
|
||||||
or -2(bx),0xc00 ! truncating mode
|
and -2(bx),0xf3ff
|
||||||
|
or -2(bx),0x400 ! to -infinity
|
||||||
wait
|
wait
|
||||||
fldcw -2(bx)
|
fldcw -2(bx)
|
||||||
wait
|
wait
|
||||||
|
@ -499,8 +500,12 @@ bigmin:
|
||||||
wait
|
wait
|
||||||
fabs ! ???
|
fabs ! ???
|
||||||
wait
|
wait
|
||||||
|
fiaddl (bigmin)
|
||||||
fistpl 6(bx)
|
fistpl 6(bx)
|
||||||
wait
|
wait
|
||||||
|
mov ax,8(bx)
|
||||||
|
sub ax,(bigmin+2)
|
||||||
|
mov 8(bx),ax
|
||||||
cmp 2(bx),2
|
cmp 2(bx),2
|
||||||
jne 1f
|
jne 1f
|
||||||
mov ax,6(bx)
|
mov ax,6(bx)
|
||||||
|
@ -517,8 +522,12 @@ bigmin:
|
||||||
wait
|
wait
|
||||||
fabs ! ???
|
fabs ! ???
|
||||||
wait
|
wait
|
||||||
|
fiaddl (bigmin)
|
||||||
fistpl 10(bx)
|
fistpl 10(bx)
|
||||||
wait
|
wait
|
||||||
|
mov ax,12(bx)
|
||||||
|
sub ax,(bigmin+2)
|
||||||
|
mov 12(bx),ax
|
||||||
cmp 2(bx),2
|
cmp 2(bx),2
|
||||||
jne 1b
|
jne 1b
|
||||||
mov ax,10(bx)
|
mov ax,10(bx)
|
||||||
|
|
Loading…
Reference in a new issue