Path: utzoo!attcan!uunet!willett!ForthNet From: ForthNet@willett.UUCP (ForthNet articles from GEnie) Newsgroups: comp.lang.forth Subject: LMI Forth(s) Message-ID: <1249.UUL1.3#5129@willett.UUCP> Date: 1 Jul 90 03:15:16 GMT Organization: Latest link in the ForthNet chain. (Pgh, PA) Lines: 28 Date: 06-28-90 (09:04) Number: 679 (Echo) To: R.BERKEY [ROBERT] Refer#: 676 From: RAY DUNCAN Read: NO Subj: LMI FORTH(S) Status: PUBLIC MESSAGE The code xxx 2! is not storing to BLK but to the storage area of a 2EQU which defines the start and length of the input stream. This 2EQU has a header with the name SOURCE, it is documented in our manuals, and it can be modified by any user code (see, for example, the source code for INCLUDE which may be found in ELECTIVE.SCR). You are correct, >IN can be modified in our systems, it's BLK that is read-only. Your cycle counts are meaningless because I was not referring to the action of loading BLK itself but the stuff that must depend on it in systems where BLK is changeable --- BLK @ ?DUP IF BLOCK ... ELSE TIB #TIB @ ... The execution of BLOCK is typically relatively slow because (in systems with more than one block buffer) it must scan all buffers and compute the address of the base of the desired block (if already in memory) or actually hit the disk (if the block buffer has been reassigned). NET/Mail : LMI Forth Board, Los Angeles, CA (213) 306-3530 ----- This message came from GEnie via willett through a semi-automated process. Report problems to: uunet!willett!dwp or willett!dwp@hobbes.cert.sei.cmu.edu