Update of /cvsroot/win32forth/win32forth/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5436/win32forth/src
Modified Files:
FLOAT.F
Log Message:
gah: More optimisations to produce shorter and faster code and fixed a bug in ZF>D
Index: FLOAT.F
===================================================================
RCS file: /cvsroot/win32forth/win32forth/src/FLOAT.F,v
retrieving revision 1.19
retrieving revision 1.20
diff -C2 -d -r1.19 -r1.20
*** FLOAT.F 7 Nov 2005 13:19:27 -0000 1.19
--- FLOAT.F 15 Nov 2005 10:42:39 -0000 1.20
***************
*** 34,37 ****
--- 34,38 ----
\ gah Sunday, November 6 2005 major changes to macros to reduce code size and increase speed
\ and make code more easy to port to STC (work in progress)
+ \ gah Monday, November 14 2005 corrected bug in ZF>D and further optimizations
\ -------------------------------------------------------------------------
***************
*** 111,121 ****
macro: FSP_MEMORY ( -- )
! FSP [edx] endm
macro: FSTACK_MEMORY ( -- )
! FSTACK [ecx] [edx] endm
macro: +FSTACK_MEMORY ( n -- )
! FSTACK + [ecx] [edx] endm
in-application
--- 112,122 ----
macro: FSP_MEMORY ( -- )
! FLOATSP [up] endm
macro: FSTACK_MEMORY ( -- )
! FLOATSTACK [ecx] [up] endm
macro: +FSTACK_MEMORY ( n -- )
! FLOATSTACK + [ecx] [up] endm
in-application
***************
*** 809,813 ****
sub esp, # 8
fistp qword 0 [esp]
! xchg ebx, 0 [esp]
float;
--- 810,814 ----
sub esp, # 8
fistp qword 0 [esp]
! xchg ebx, 4 [esp]
float;
***************
*** 1619,1630 ****
count -1 charcnt +! charcnt @ 0< ;
! code sig>f ( ?? -- ?? ) \ ??
fbld fbcd-buf
! mov ecx, FSP_MEMORY
! fstp FSIZE FSTACK_MEMORY
! add ecx, # B/FLOAT
! mov FSP_MEMORY , ecx
! next,
! end-code
: >float-int ( f: -- r )
--- 1620,1627 ----
count -1 charcnt +! charcnt @ 0< ;
! code sig>f ( f: -- r ) \ Push contents of 80-bit BCD number in fbcd-buf onto FP stack
fbld fbcd-buf
! fpu>
! float;
: >float-int ( f: -- r )
***************
*** 2285,2287 ****
L$2: next,
end-code
- |