1
0
mirror of https://github.com/hsoft/collapseos.git synced 2024-11-05 21:30:56 +11:00
collapseos/forth/print.fs

38 lines
750 B
Forth
Raw Normal View History

( Words allowing printing strings. Require core )
( This used to be in core, but some drivers providing EMIT
are much much easier to write with access to core words,
and these words below need EMIT... )
: (print)
BEGIN
2020-04-17 08:58:11 +10:00
C@+ ( a+1 c )
( exit if null )
DUP NOT IF 2DROP EXIT THEN
EMIT ( a )
AGAIN
;
: ."
2020-04-12 03:13:20 +10:00
34 , ( 34 == litWord )
BEGIN
2020-04-17 08:58:11 +10:00
C<
( 34 is ASCII for " )
2020-04-17 08:58:11 +10:00
DUP 34 = IF DROP 0 THEN
DUP C,
NOT UNTIL
COMPILE (print)
; IMMEDIATE
: ABORT" [COMPILE] ." COMPILE ABORT ; IMMEDIATE
: (uflw) ABORT" stack underflow" ;
: BS 8 EMIT ;
: LF 10 EMIT ;
: CR 13 EMIT ;
2020-04-14 23:05:43 +10:00
: CRLF CR LF ;
: SPC 32 EMIT ;
: (wnf) (print) SPC ABORT" word not found" ;
: (ok) SPC ." ok" CRLF ;