Fix up the new 2>r, 2r> and 2r@ words.

As pointed out by Tarl, since these are called as separate words (and not inline), we need to preserve the top-most R stack item 
as this is return address of the word itself.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk>


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@912 f158a5a8-5612-0410-a976-696ce0be7e32
This commit is contained in:
Mark Cave-Ayland
2010-10-17 09:10:09 +00:00
committed by Mark Cave-Ayland
parent 238ba3218d
commit 711e388514

View File

@@ -411,9 +411,9 @@ variable leaves 0 leaves !
\ Note: these words are not part of the official OF specification, however
\ they are part of the ANSI DPANS94 core extensions (see section 6.2) and
\ so this seems an appropriate place for them.
: 2>r swap >r >r ;
: 2r> r> r> swap ;
: 2r@ r> r> 2dup >r >r swap ;
: 2>r r> -rot swap >r >r >r ;
: 2r> r> r> r> rot >r swap ;
: 2r@ r> r> r> 2dup >r >r rot >r swap ;
\
\ 7.3.2.1 - single precision integer arithmetic (part 1)