--- gforth/kernel/vars.fs 1997/06/06 17:28:17 1.2 +++ gforth/kernel/vars.fs 1999/01/03 21:48:39 1.9 @@ -1,6 +1,6 @@ \ VARS.FS Kernal variables -\ Copyright (C) 1995 Free Software Foundation, Inc. +\ Copyright (C) 1995,1996,1997,1998 Free Software Foundation, Inc. \ This file is part of Gforth. @@ -49,19 +49,24 @@ $20 8 2* cells + 2 + cell+ constant word \ initialized by COLD -Create main-task 100 cells allot -main-task tup H ! minimal +Create main-task has? OS [IF] 100 [ELSE] 40 [THEN] cells allot -Variable udp \ used by dovar:, must be variable +\ set user-pointer from cross-compiler right +main-task +UNLOCK tup ! LOCK + +Variable udp \ user area size? -anton AUser next-task main-task next-task ! AUser prev-task main-task prev-task ! AUser save-task 0 save-task ! -AUser s0 \ used by douser:, must be user -AUser r0 -AUser f0 -AUser l0 -AUser handler +AUser sp0 \ used by douser:, must be user + ' sp0 Alias s0 +AUser rp0 ' rp0 Alias r0 +AUser fp0 \ no f0, because this leads to unexpected results +AUser lp0 ' lp0 Alias l0 +AUser handler \ pointer to last throw frame +AUser backtrace-empty \ true if the next THROW should store a backtrace \ AUser output \ AUser input @@ -69,10 +74,13 @@ AUser errorhandler AUser "error 0 "error ! - User tibstack - User >tib - User #tib - User >in 0 >in ! +[IFUNDEF] #tib \ in ec-Version we may define this ourself + User tibstack \ saves >tib in execute + User >tib \ pointer to terminal input buffer + User #tib \ chars in terminal input buffer + User >in 0 >in ! \ char number currently processed in tib +[THEN] +has? file [IF] User blk 0 blk ! User loadfile 0 loadfile ! @@ -85,6 +93,7 @@ AUser "error 0 "error ! 2User linestart \ starting file postition of \ the current interpreted line (in TIB) +[THEN] User base A base ! User dpl -1 dpl ! @@ -98,7 +107,8 @@ AUser dpp normal-dp dpp ! AUser LastCFA AUser Last +has? glocals [IF] User locals-size \ this is the current size of the locals stack \ frame of the current word - +[THEN]