[OpenBIOS] $find

Stefan Reinauer stepan at suse.de
Tue Jun 25 14:00:14 CEST 2002


Hi,..

I just noticed some weirdness with $find

when I do
0 > s" constant" $find   ok
I get
3 > .s  120019b88 0 -1  ok

The definition from IEEE 1275-1994 is:
   $find  ( name-str name-len -- xt true | name-str name-len false )

Our definition seems to be wrong:
col($FIND LAST @ >R 2DUP R@ COMP-WORD ?BRANCH(9) 2DROP R> DUP 
    >XCODE SWAP CELL+ C@ TRUE EXIT R> @ ?DUP 0= ?BRANCH(-21) 2DROP FALSE)

what exactly does "SWAP CELL+ C@" do? should this not just be a NIP ?

according to this we would have to change COMPILE-WORD, INTERPRET-WORD,
', POSTPONE and FIND, some of which do the NIP afterwords themselfes, as
far as i can see.

  Any comments?

     Stefan

-- 
The x86 isn't all that complex - it just doesn't make a lot of
sense.          -- Mike Johnson, Leader of 80x86 Design at AMD
	                          Microprocessor Report (1994)
-
To unsubscribe: send mail to majordomo at freiburg.linux.de
with 'unsubscribe openbios' in the body of the message
http://www.freiburg.linux.de/OpenBIOS/ - free your system..



More information about the openbios mailing list