[openfirmware] [commit] r2996 - ofw/tokenizer
repository service
svn at openfirmware.info
Fri Jun 1 20:33:29 CEST 2012
Author: wmb
Date: Fri Jun 1 20:33:29 2012
New Revision: 2996
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/2996
Log:
FCode tokenizer - removed the macro versions of */ and */mod, which do not work correctly (the intermediate result can overflow). If you need to use these functions in an FCode driver, use um* and um/mod to perform the calculations.
Modified:
ofw/tokenizer/crosslis.fth
Modified: ofw/tokenizer/crosslis.fth
==============================================================================
--- ofw/tokenizer/crosslis.fth Fri Jun 1 20:31:33 2012 (r2995)
+++ ofw/tokenizer/crosslis.fth Fri Jun 1 20:33:29 2012 (r2996)
@@ -140,8 +140,10 @@
: 2+ 2 + ;
: 2- 2 - ;
: <<a << ;
-: */mod >r * r> /mod ;
-: */ >r * r> / ;
+\ These are not correct because the intermediate overflows.
+\ If you need these functions, write them explicitly using um* and um/mod
+\ : */mod >r * r> /mod ;
+\ : */ >r * r> / ;
: xu>l ( ux -- ul ) drop ; \ 64 -> 32
: lu>x ( ul -- ux ) 0 ; \ 32 -> 64
More information about the openfirmware
mailing list