--- gforth/kernel/vars.fs 1997/06/06 17:28:17 1.2 +++ gforth/kernel/vars.fs 1998/12/11 22:54:32 1.7 @@ -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,23 @@ $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 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 output \ AUser input @@ -69,10 +73,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 +92,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 +106,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]