CONSTANTS ---------------------------------------------------------------------------
+---------+---+---+---+---+------------+------------+------------+------------+
| LINK | 3 | T | E | N | DOCOL | LIT | 10 | EXIT |
+---------+---+---+---+---+------------+------------+------------+------------+
len codeword
: CONSTANT
WORD ( get the name (the name follows CONSTANT) )
CREATE ( make the dictionary entry )
DOCOL , ( append DOCOL (the codeword field of this word) )
' LIT , ( append the codeword LIT )
, ( append the value on the top of the stack )
' EXIT , ( append the codeword EXIT )
;
31
SEE CONSTANT
: CONSTANT WORD CREATE DOCOL , ' LIT , , ' EXIT , ;
10 CONSTANT meine-10
.s
1504 35924 36004 36064 36092 meine-10
.s
1504 35924 36004 36064 36092 10 .
10 .s
1504 35924 36004 36064 36092 VARIABLE gna
WORDS
gna meine-10 CREATEfoo TEN gnarzalot CREATElot TICK WORDFIND QUADRUPLE DOUBLE foo go p n s SHOW-PAGENO
PAGENO-- PAGENO++ CHECK-PAGENO PAGENO #PAGES show-page factor-out show-file close-file read-file show
-buf clrscr gohome '\e' '2' 'J' 'H' '[' bufsize buf disassemble hi disassemble disassemble description
-col search&print-CFA foo dump-dword .length&name .word .length&name .word-name .word-length word-name
.address .dword @.dword-little @.dword .word .byte .s TICK .word foo WELCOME INLINE (INLINE) RDTSC RD
TSC POP PUSH EDI ESI EBP ESP EBX EDX ECX EAX ;CODE NEXT PERROR READ-FILE CLOSE-FILE CREATE-FILE OPEN-F
ILE R/W R/O MORECORE BRK UNUSED GET-BRK BYE ENVIRON ARGV ARGC CSTRING STRLEN Z" PRINT-STACK-TRACE ABOR
T THROW CATCH EXCEPTION-MARKER ['] :NONAME SEE CFA> ENDCASE ENDOF OF CASE DUMP FORGET WORDS ?IMMEDIATE
?HIDDEN ID. +TO TO VALUE VARIABLE CELLS ALLOT CONSTANT ." S" C, ALIGN ALIGNED DEPTH WITHIN ? U. . .R
U.R UWIDTH .S U. HEX DECIMAL SPACES PICK TUCK NIP ( UNLESS REPEAT WHILE AGAIN UNTIL BEGIN ELSE THEN IF
RECURSE [COMPILE] '.' '-' '0' 'A' '"' ')' '(' ';' ':' LITERAL NOT FALSE TRUE NEGATE SPACE CR BL '\n'
MOD / SYSCALL0 SYSCALL1 SYSCALL2 SYSCALL3 EXECUTE CHAR INTERPRET QUIT TELL LITSTRING 0BRANCH BRANCH '
HIDE HIDDEN IMMEDIATE ; : ] [ , CREATE >DFA >CFA FIND NUMBER WORD EMIT KEY DSP! DSP@ RDROP RSP! RSP@ R
> >R O_NONBLOCK O_APPEND O_TRUNC O_EXCL O_CREAT O_RDWR O_WRONLY O_RDONLY SYS_BRK SYS_CREAT SYS_WRITE S
YS_READ SYS_CLOSE SYS_OPEN SYS_EXIT F_LENMASK F_HIDDEN F_IMMED DOCOL R0 VERSION BASE S0 LATEST HERE ST
ATE CMOVE C@C! C@ C! -! +! @ ! LIT EXIT INVERT XOR OR AND 0>= 0<= 0> 0< 0<> 0= >= <= > < <> = /MOD * -
+ 4- 4+ 1- 1+ ?DUP 2SWAP 2DUP 2DROP -ROT ROT OVER DUP SWAP DROP
HEX gna .
8DAC 42 gna !
gna @ .
42 SEE gna
: gna 8DAC ;
disassemble gna
0 0 8D B0: 0 0 8D 8C (next word pointer: meine-10)
hidden: 0, immediate: 0, length: 3, name: gna
0 0 8D B4: 61 6E 67 3
0 0 8D B8: 0 0 0 0 (codeword: forth)
0 0 8D BC: 0 0 7 98 LIT: 8DAC
0 0 8D C0: 0 0 8D AC
0 0 8D C4: 0 0 7 8C EXIT
WORDFIND gna
DUP .
36272 HEX DUP .
8DB0 4 -
DUP .
8DAC 10 DUMP
8DAC 42 0 0 0 8C 8D 0 0 3 67 6E 61 0 0 0 0 B........gna....
DECIMAL
n
31