version 1.1, 2000/07/11 20:28:50
|
version 1.2, 2000/07/13 16:05:38
|
Line 21
|
Line 21
|
\ 16: EAX EBX MOV \ mov bx,ax |
\ 16: EAX EBX MOV \ mov bx,ax |
|
|
|
|
ONLY FORTH ALSO DEFINITIONS |
\ additional words for Gforth port |
|
|
VOCABULARY ASSEMBLER ASSEMBLER ALSO DEFINITIONS HEX |
: w, ( x -- ) |
|
here ! 2 allot ; |
|
|
|
base @ get-current ALSO ASSEMBLER DEFINITIONS HEX |
|
|
\ --------------------------------------------------------------------- |
\ --------------------------------------------------------------------- |
\ Defer memory-access words for the metacompiler |
\ Defer memory-access words for the metacompiler |
Line 304 MAX-LABELS ARRAY LABEL-LINK ( linked
|
Line 306 MAX-LABELS ARRAY LABEL-LINK ( linked
|
: RET# ( n -- ) C2 C, W, ; |
: RET# ( n -- ) C2 C, W, ; |
: PUSH# ( n -- ) 68 C, , ; |
: PUSH# ( n -- ) 68 C, , ; |
|
|
: NEXT ( -- ) |
previous set-current decimal base ! |
LODS 0 [EAX] [EDI] ECX MOV EDI ECX ADD ECX JMP ; |
|
|
|
: XCALL ( n -- ) |
|
EDX EBX MOV |
|
6 CELLS [EDI] EAX MOV |
|
( n ) CELLS [EAX] CALL |
|
EBX EDX MOV ; |
|
|
|
VARIABLE AVOC |
|
: ASM-INIT CONTEXT @ AVOC ! ASSEMBLER CLEAR-LABELS !CSP ; |
|
|
|
: END-CODE ?CSP CHECK-LABELS AVOC @ CONTEXT ! REVEAL ; |
|
: C; END-CODE ; |
|
|
|
FORTH DEFINITIONS |
|
|
|
: LABEL CREATE HIDE ASM-INIT ; |
|
: CODE LABEL HERE DUP CELL - ! ; |
|
|
|
: ;CODE ( -- ) |
|
?COMP ?CSP COMPILE (;CODE) [COMPILE] [ ASM-INIT ; IMMEDIATE |
|
|
|
|
|
ONLY FORTH ALSO DEFINITIONS DECIMAL |
|