Package Jlib80 Is -- These are the External declarations for JLib80 -- Copyright 1982 RR Software, P.O. Box 1512, Madison WI 53701 -- Permission is hereby given to distribute Object Code produced from -- these libraries. -- The specifications below cannot be changed or deleted. -- The user may add entries to the end of the table -- The Procedures below cannot be called from a JANUS program (they -- can be used in a Assembly language program) unless they are marked -- by an asterisk (*) -- The Entry Point Table - Idnum Procedure Negate2; -- 1 Procedure Sub2; -- 2 Procedure Mul2; -- 3 Procedure Div2; -- 4 Procedure Rem2; -- 5 Procedure Mod2; -- 6 Procedure Lt1; -- 7 Procedure Le1; -- 8 Procedure Eq1; -- 9 Procedure Neq1; --10 Procedure Ge1; --11 Procedure Gt1; --12 Procedure Lt2; --13 Procedure Le2; --14 Procedure Eq2; --15 Procedure Neq2; --16 Procedure Ge2; --17 Procedure Gt2; --18 Procedure Member1; --19 Procedure Member2; --20 Procedure SMember1; --21 Procedure SMember2; --22 Procedure Getaddr; --23 Procedure Getact1; --24 Procedure Getact2; --25 Procedure Putact1; --26 Procedure Putact2; --27 Procedure Blkmov; --28 Procedure Blkcmp; --29 Procedure LnoCode; --30 Procedure Sour_Err; --31* Procedure Range1; --32 Procedure Range2; --33 Procedure SRange1; --34 Procedure SRange2; --35 Procedure EErr_Exit; --36* Procedure Null_Ptr; --37 Procedure Str_Bound; --38 Procedure CaseErr; --39 Procedure GetInt; --40 Procedure EPut_Str; --41 Procedure EClose; --42 Procedure RplcByte; --43 Procedure CRange1; --44 Procedure EPutInt; --45 Procedure PutHex; --46 Procedure EPutIntW; --47 Procedure EPutEnum; --48 Procedure EPutEnumW; --49 Procedure NotUsed50; --50 Procedure ProcInit; --51 Procedure ProcFin; --52 Procedure Exp2; --53 Procedure Abs2; --54 Procedure SLt; --55 Procedure SLe; --56 Procedure SEq; --57 Procedure SNeq; --58 Procedure SGe; --59 Procedure SGt; --60 Procedure Sassign; --61 Procedure Concat; --62 Procedure EVWrite; --63 Procedure ERead; --64 Procedure EWrite; --65 Procedure ENew_Line; --66 Procedure ESkip_Line; --67 Procedure Func_Release; --68 Procedure Func_Ret; --69 Procedure EFile_Name; --70 Procedure New_Ptr; --71 Procedure EMemAvail; --72 Procedure EMaxAvail; --73 Procedure EDispose; --74 Procedure EHalt; --75* Procedure PChain; --76 Procedure Bool_Tab; -- This is not a Procedure at all, -- rather, it is the enumeration -- table for Boolean -- File Type definitions BUFFER_SIZE : Constant := 256; -- Must be a multiple of 128 -- and less than 32768 Type Disk_fcb Is Record Disk_num : Byte; -- Offset 0 File_name : Array(1..11) Of Character; -- Offset 1 Extent : Byte; -- Offset 12 Not_Used : Integer; -- Offset 13 Rec_count : Byte; -- Offset 15 Disk_Map : Array (16..31) Of Byte; -- Offset 16 Rec_num : Byte; -- Offset 32 Random_rec1 : Integer; -- Offset 33 Random_rec2 : Integer; -- Offset 35 End Record; Type File_mask; Type File_ptr Is Access File_Mask; Type File_mask Is Record ftype:Byte; -- 0-Disk_File; 1-Con; 2-Rdr; 3-Pun; 4-Lst; -- 5-Kbd -- Offset 0 fmode:Byte; -- Offset 1 (Really of type file_mode, see -- IO.LIB) fcb:disk_fcb; -- Offset 2 buff:Array(0..BUFFER_SIZE-1) Of Byte; -- Offset 39 buf_ptr : Integer; -- Pointer into buff -- Offset 167 eof_flag : Boolean; -- Offset 169 link : File_ptr; -- Offset 170 -- Chain link so JANUS can keep track of all -- open files. End Record; -- JLib80 Data Area DispStart : Integer; -- Display 'Registers' (0 and 1 unused) Display1 : Integer; Display2 : Integer; Display3 : Integer; Display4 : Integer; Display5 : Integer; Display6 : Integer; Display7 : Integer; Display8 : Integer; Display9 : Integer; Display10 : Integer; LineNo : Integer; -- Current Line Number being executed Input_File : Integer; -- Standard Input (Cannot be used directly) Output_File : Integer; -- Standard Output (ditto) File_Chain : File_Ptr; -- Chain of files (so they can be closed if -- the user forgets) -- Other user defined routines may be added here Pragma sybdump(On); End Jlib80;