LITERALS ----------------------------------------------------------------------------
Four things not yet mentioned:
(4) How do you compile a function which does anything except call other functions?
: DOUBLE 2 * ;
+---------------------------+-------+-------+-------+-------+-------+
| (usual header of DOUBLE) | DOCOL | LIT | 2 | * | EXIT |
+---------------------------+-------+-------+-------+-------+-------+
^
+- %esi
(1) LIT grabs %esi,
(2) pushes it on the stack,
(3) then adds 4 to %esi.
defcode "LIT",3,,LIT
lodsl
push %eax // push the literal number on to stack
NEXT
29