-( vim: syntax=forth
-)
-
: FIB ( n -- Fn )
0 1 ( n a b )
0 ( n a b i )
DUP 4 PICK = UNTIL
DROP SWAP DROP SWAP DROP ; ( a+b )
-S" HELLO-ADDR" CREATE
-S" Hello!" DUP ROT
-STORE-STRING
-: HELLO
- ' HELLO-ADDR LIT, TELL NEWLINE ;
-
-HELLO
+: HELLO S" Hello!" TELL NEWLINE ;
-S" 10 FIB = " TELL
-10 FIB .U
-SPACE S" (Expected: 59)" TELL NEWLINE
+: TEST-FIB
+ S" 10 FIB = " TELL
+ 10 FIB .U
+ SPACE S" (Expected: 59)" TELL NEWLINE ;
-SYSCODE
-S" Word: " TELL POP-WORD TELL NEWLINE
-S" Word: " TELL POP-WORD TELL NEWLINE
-S" Word: " TELL POP-WORD TELL NEWLINE
-S" Word: " TELL POP-WORD TELL NEWLINE
-S" Word: " TELL POP-WORD TELL NEWLINE
-S" Word: " TELL POP-WORD TELL NEWLINE
+\ This example calls the Blt() function on UEFI's Graphics Output Protocol. See
+\ the UEFI specification and uefi.f for more information.
+: BLUE-SQUARE
+ GraphicsOutputProtocol
+ HERE @ 255 C, 0 C, 0 C, 0 C, \ Buffer with single blue pixel
+ EfiBltVideoFill
+ 0 0 \ Source
+ 100 100 20 20 \ Destination
+ 0
+ GOP.Blt() ;
-TERMINATE
+HELLO
+TEST-FIB
+BLUE-SQUARE