Author: blueswirl
Date: 2009-04-12 20:53:37 +0200 (Sun, 12 Apr 2009)
New Revision: 483
Modified:
trunk/openbios-devel/forth/device/fcode.fs
Log:
Correct b?branch for negative offset branches (Mark Cave-Ayland)
Modified: trunk/openbios-devel/forth/device/fcode.fs
===================================================================
--- trunk/openbios-devel/forth/device/fcode.fs 2009-03-28 14:28:16 UTC (rev 482)
+++ trunk/openbios-devel/forth/device/fcode.fs 2009-04-12 18:53:37 UTC (rev 483)
@@ -436,10 +436,11 @@
\ Conditional branch FCode. Followed by FCode-offset.
: b?branch
- setup-tmp-comp ['] do?branch ,
fcode-offset 0< if \ if we jump backwards, we can forsee where it goes
- resolve-dest
+ resolve-orig
+ execute-tmp-comp
else
+ setup-tmp-comp ['] do?branch ,
here
0 ,
then
@@ -450,7 +451,11 @@
\ Target of backward branches.
: b(<mark)
+ setup-tmp-comp
+ ['] invert ,
+ ['] do?branch ,
here
+ 0 ,
; immediate