--- gforth/cross.fs 1995/11/29 20:20:34 1.31 +++ gforth/cross.fs 1996/05/09 18:12:58 1.35 @@ -405,7 +405,7 @@ Variable to-doc \ Target TAGS creation -s" TAGS" r/w create-file throw value tag-file-id +s" kernal.TAGS" r/w create-file throw value tag-file-id \ contains the file-id of the tags file Create tag-beg 2 c, 7F c, bl c, @@ -694,6 +694,10 @@ Build: T 0 , H ; by Constant Builder Value +Build: T 0 A, H ; +by Constant +Builder AValue + Build: ( -- ) compile noop ; DO: ( ghost -- ) ABORT" CROSS: Don't execute" ;DO Builder Defer @@ -873,13 +877,22 @@ Cond: [ELSE] [ELSE] ;Cond bigendian Constant bigendian -Create magic s" gforth00" here over allot swap move +Create magic s" Gforth10" here over allot swap move -[char] 1 bigendian + cell + magic 7 + c! +char 1 bigendian + cell + magic 7 + c! -: save-cross ( "name" -- ) - bl parse ." Saving to " 2dup type +: save-cross ( "image-name" "binary-name" -- ) + bl parse ." Saving to " 2dup type cr w/o bin create-file throw >r + s" #! " r@ write-file throw + bl parse r@ write-file throw + s" -i" r@ write-file throw + #lf r@ emit-file throw + r@ dup file-position throw drop 8 mod 8 swap ( file-id limit index ) + ?do + bl over emit-file throw + loop + drop magic 8 r@ write-file throw \ write magic image @ there r@ write-file throw \ write image bit$ @ there 1- cell>bit rshift 1+