| |
|
| \ words that are generaly useful |
\ words that are generaly useful |
| |
|
| |
: KB 400 * ; |
| : >wordlist ( vocabulary-xt -- wordlist-struct ) |
: >wordlist ( vocabulary-xt -- wordlist-struct ) |
| also execute get-order swap >r 1- set-order r> ; |
also execute get-order swap >r 1- set-order r> ; |
| |
|
| true SetValue standard-threading |
true SetValue standard-threading |
| >TARGET previous |
>TARGET previous |
| |
|
| |
|
| mach-file count included hex |
mach-file count included hex |
| |
|
| >ENVIRON |
>ENVIRON |
| : c, ( char -- ) T here tchar allot c! H ; |
: c, ( char -- ) T here tchar allot c! H ; |
| : align ( -- ) T here H align+ 0 ?DO bl T c, H LOOP ; |
: align ( -- ) T here H align+ 0 ?DO bl T c, H LOOP ; |
| : cfalign ( -- ) |
: cfalign ( -- ) |
| T here H cfalign+ 0 ?DO bl T c, H LOOP ; |
T here H cfalign+ 0 ?DO bl T c, tchar H +LOOP ; |
| |
|
| : A! dup relon T ! H ; |
: >address dup 0>= IF tchar / THEN ; |
| : A, ( w -- ) T here H relon T , H ; |
: A! swap >address swap dup relon T ! H ; |
| |
: A, ( w -- ) >address T here H relon T , H ; |
| |
|
| >CROSS |
>CROSS |
| |
|
| IF NoHeaderFlag off |
IF NoHeaderFlag off |
| ELSE |
ELSE |
| T align H view, |
T align H view, |
| tlast @ dup 0> IF T 1 cells - THEN A, H there tlast ! |
tlast @ dup 0> IF T 1 cells - H THEN T A, H there tlast ! |
| 1 headers-named +! \ Statistic |
1 headers-named +! \ Statistic |
| >in @ T name, H >in ! |
>in @ T name, H >in ! |
| THEN |
THEN |
| \ modularized 14jun97jaw |
\ modularized 14jun97jaw |
| |
|
| : fillcfa ( usedcells -- ) |
: fillcfa ( usedcells -- ) |
| T cells H xt>body swap - 0 ?DO 0 T c, H LOOP ; |
T cells H xt>body swap - 0 ?DO 0 T c, tchar H +LOOP ; |
| |
|
| : (>body) ( cfa -- pfa ) xt>body + ; ' (>body) T IS >body H |
: (>body) ( cfa -- pfa ) xt>body + ; ' (>body) T IS >body H |
| |
|
| : sys? ( sys -- sys ) dup 0= ?struc ; |
: sys? ( sys -- sys ) dup 0= ?struc ; |
| : >mark ( -- sys ) T here ( dup ." M" hex. ) 0 , H ; |
: >mark ( -- sys ) T here ( dup ." M" hex. ) 0 , H ; |
| |
|
| : branchoffset ( src dest -- ) - ; |
: branchoffset ( src dest -- ) - tchar / ; |
| |
|
| : >resolve ( sys -- ) T here ( dup ." >" hex. ) over branchoffset swap ! H ; |
: >resolve ( sys -- ) T here ( dup ." >" hex. ) over branchoffset swap ! H ; |
| |
|
| Create magic s" Gforth10" here over allot swap move |
Create magic s" Gforth10" here over allot swap move |
| |
|
| char 1 bigendian + tcell + magic 7 + c! |
char 1 bigendian + tcell + magic 7 + c! |
| |
char 0 tchar + magic 6 + c! |
| |
|
| : save-cross ( "image-name" "binary-name" -- ) |
: save-cross ( "image-name" "binary-name" -- ) |
| bl parse ." Saving to " 2dup type cr |
bl parse ." Saving to " 2dup type cr |