>RM=80 LM=1 TM=1 BM=66***************** Pascal 80 **** Help file *****************EDITOR COMMANDS.------ ---------Twelve commands are available in the Editor.  You can list them at the mottom of the screen by pressing <BREAK>. in the Editor.  <CLEAR> will clear this line.  The line looks like this:    Quit Top Prev Open Del Canc Line Era Form Block WriteThese commands can be accesed by pressing <Control> & the first letter of the command.  A discription of these commands follows:<Control> and:  T.  Will position the cursor at the 'T'op of the work space.  N.  Display the 'N'ext 15 line page.  P.  Display the 'P'revious 15 line page.  Q.  'Q'uit the editor and exit to the monitor.  L.  Insert a 'L'ine at the current position.  E.  'E'rase the line of text at the current position.  F.  toggles the auto tab function to help 'F'ormat programs.  C.  'C'ancels any changes that have been made after the last <C/R>.  O.  'O'pen spaces in line for insertion of text.  D.  'D'elete charictor at the cursor position.  W.  'W'rite program to printer, starting at the line that the  cursor is on.  It will print to end, or untill it comes to a line only containing the command for a text marker.  Thus you can print a full program, or only a portion of it.  B.  Is a 'B'lock move command, which can be used in conjunction with the APPEND command from the MONITOR MENU.  APPEND adds another file to the end of the file in the text editor.  Cont <B>, will move all text from the Block markerto the end of the file, to the position indicated.  First place a block marker <@> on a line by itself just before the block to be moved.  Then position the cursor at a blank line where you want the text to be moved and press Cont <B>.  The Block will be moved and the line with the @ simbol will be deleted.  To move only a portion of text, you must make two (2) moves.  After you have made your first move, then simply mark the end of the new section and use section and use tnother block move to place the rest of the text in its proper location.COMPILER OPTIONS-------- -------There are six (6) compiler options.  These are listed below with a briefe disctiption.  'Hardcopy' or 'H'. Send output to the printer.  'Nolist' or 'N'.   Suppresses listing.  'Memory' or 'M'.   Adds two bytes (HEX) to compiler output to indicate compiler stack memory and symbl table memory available.  Output is formated in this fashion:0000 00f4 5C4B Program; Begin End.The first # (0000) tells that 0 bytes have been compiled before this line.  The second # (00F4) tells that F4H (244 Decimal) bytes of space are available on the compiler stack.  The third number (5C4B) reveals that there are 5C4B (23627 Decimal) bytes of symbol table space available.  'Code' or 'C'.     Tells the compiler to print out each byte of compiled code as Hex #'s in the compiler listing.  This is not a complete listing.  In some situations, such as forward jumpes, the compiler will generate dummy place holders to be filled in latter with the correct values.  In addition, the pseudocode is self relocating, and relative addresses prior to the execution of each block.  'Verify' or 'V'.   Tells the compiler to verify all write operations to disk files.  Pascal 80 overrides any Dos Verify command.  'Zero' or 'Z'.     Sets all veriables to Zero (0) before execution.  If you don't use this option, then veriables in your program will be set to what ever is in memory at the time.   'Forward'.  Pascal Keyword 'Forward' is a compiler option.  It is used to declare a Procedure or Function in advance of its actual appearance, so that referances to the Procedure of Function won't generate a compile time error message.  Any parameters must be declared at the time of the Forward reference.  Forward must be preceded and followed by a semicolon (;).  Some examples are:Procedure Anything;Forward;Procedure Interest (Amount,Rate,Days:Real);Forward;Function Even (Var Number:integer):Boolean;Forward;  'Include'.  Inclued is a compiler option that allows you to either compile a whole program from disk, of to compile procedures into a program in the Editor.  Eg...Program IncludeProcedure (output);(*$ GotoXY/SRC *)Begin      Cls;      GotoXY(5,6);      Write ('Here it is');End.VARIABLES TYPES--------- -----Pascal 80 suportes six (6) diferant types of veriables.  These are;  Boolean, Integer, Char, Real, Real6 & Text.  Plus you can define your own with the Type statment.  Globle veriables must be defined at the begining of the program.  Local veriables may be defined in the Function or Procedure.  Veriables may be of any length and all charictors that make up the veriable are significant.  Explination follows:  'Boolean'.  Can only be TRUE or FLASE.  'Integer'.  Must be between -32768 (MaxInt) & 32767 (MaxInt).  'Char'.     Can hold letters, numbers, Symbols, spaces & punctuation marks.  'Real'.     Can hold Real numbers with 14 digit precision.  ALL calculations are performed with 14 digit precision.  'Real6'.    Same as Real but only to 6 digit peocision, and with one drawback.  If Real6 veriables are not a part of a Array or Record then they can't be passed to a Procedure or Function as value parameters.  'Text'.     A Text veriable is a packed file of Charicters.ARITHMETIC FUNCTIONS---------- ---------Arithmetic Operators are        +    for Addition.        -    for Subtraction.        *    for Multiplication.        /    for Real Divition.        DIV  for Integer Divition.        MOD  to obtain the remander of a divition.Trig Operators.        ABS  returns the ABSolute value of its argument.        SQR  returns the SQUare of its argument.        SQRT returns the SQUare rooT of ist argument.Comparison Operators.        =    Equal.        <>   Not Equal.        <    Less than.        >    Greater than.        <=   Less than or Equal.        >=   Greater than or Equal.Assignment Operator.        :=   this is the Assignment operator.Logic Operators.        AND, OR, & NOT are the three (3) legitimate Logic Operators.Logarithm Functions.        EXP(x) to rase the natual log to the power of x.        IN(x)  to represent the natual log of x.Trigonometric Functions.        SIN    SINe.        COS    COSecant.        TAN    TANgent.        ARCSIN        ARCCOS        ARCTANMemory Management Functions.        Peek (address) returns the contents of that address.  Type Integer.        Call (address,value) places the value (0-255) into the A Reg, and calls the address, returns contents of A Reg.        MEM    returns the # of bytes of memory free.  Type Integer.File Handling Functions.        INKEY  returns the value of any key pressed.  Type Char.        EOF & EOLN returns a Boolean for End Of File & End Of LiNe.  Type Boolean.Ordinal Fuctions.        ORD    returns the ORDinal (or ASCII) value.  Type Char, Boolean, Integer.        PRED   returns the PREDecessor.  Type Char, Boolean, Integer.        SUCC   returns the SUCCessor.  Type Char, Booean, Integer.        CHR    returns the ASCII CHaRictor.Convertion Functions.        ODD    returns True if its agrument is Odd.  Type Integer.        ROUND  Will Round a real number to its nearest Integer value.        TRUNC  Will TRUNCate a real # by droping the fraction.Set Membership, Union, Difference & Intersection.        IN     used to check set memberships.  eg.  "If '5' In Var" or "If A in var" or "If A in (1..4)".        +      used to join two (2) sets (Union).        -      used to isolate the elements of one set that arn't comon to the other set.  (Differance).        *      Used to fine the common elements of two (2) sets (Intersection).Set Comparison Operators.        =      Two (2) Sets are identical.        <>     Sets are not identical.        >=     Set contains another set.        <=     Set is contained by another set.PASCAL 80 COMMANDS------ -- --------The Pascal 80 CS (Command Set) has been listed below:Write & Writeln, Read & Readln, Cls, Close, Seek, Poke, Case, If, Then, Else, Ex, Fp, For, Write & Writeln, Read & Readln, Reset, Close, ReWrite, Eof, Eoln, Seek, Pset, Preset, Point, Rnd, Rndr.Expination of the Elementry Commands.Write.....Prints output to file.  (Output= the screen display, Disk files, and LP= Line Printer.  The Defult file is Output (the screen display).  Whiteln prints an 0DH, <C/R> on the end of the line.  Writes should be formated:  "Write (filename,'text...':fieldwidth:digits)".  If the file is a Disk file, then the /Ext should be spesified.  a fieldwidth of -1 calls for siantific notation.Cls.......CLears the Screen.Read......Gets input from a file.  (Input= Key Bourd & Filename/Ext= Disk file).  Readln Reads a piece of data, and puts the data pointer after the next 0DH <C/R>, so that the next read statement will read data from there.Close.....Close will close all open files.  Close (filename/Ext) will only close the spesified file.Seek......Seek (Expression,Filename/Ext) will point to the Expression'th record-1 on the file.  Record numbers start at zero (0).  Seek can only referance the first 65535 bytes of a file.Poke......Poke(Address,Value) will put Value into the memory location Address.  Value must be between 0-255, and Address must between 0 - (-1) (ie if the location is greater than 32767, then you take 65536 from it.Case......The Case statement is simular in structure to the If starement, and Else can be appended to it.If........Condichonal statement (eg. If exp=ext Then)Then......Part of If statement.Else......Appendage to If & Case statements.Ex........returns Exponent.  Type Integer.Fp........returns the # as a fraction to the exponent.  Type Real.Reset.....Resets Read and Write pointers to the start of the specified file.  (eg. Reset (Filename/Ext).ReWrite...will KILL a file on disk.(eg ReWrite (filename/Ext)).EOF.......End Of File flag (eg EOF(Filename/Ext)).Type Boolean.EOLN......End Of LiNe flaf (eg EOLN(filemane)). Type Boolean.pSet......Same as BASIC's SET command.pReset....Same as BASIC's RESET command.Point.....Same as BASIC's POINT command.Rnd.......Same as BASIC's RND command.Rndr......Same as BASIC's RND exept that it will return a real between 0-1.  No argument.COMPILER ERROR MESSAGES-------- ----- --------.Bad Option.Pascal 80 asumes that anything that you type before the Program command is a Commpiler Option.  See Compiler Options..Syntax Error.Somethings Wrong!!!  You have made a Fundimentle mistake!!!.Undeclared.An identifier/lable hasn't been Declared.  Note Pascal 80 requires all Array Index veriables to be Globle..Duplicate.You declered a Name twice in the same block.  It may also meen that you used the same name as a Record somewhere in your program.  Pascal 80 dusn't allow you to do this..Bad Range.An Array/SubRange has a Bad Range (eg. (10..0))..Real Overflow.A Real has a magnitude outside the range of 1E-63 to 1E+63..Bad Type.Program had a Bad Type decleration..Out Of Mem.The compiler has run out of Memory.  It may deceide to recompile and assign more memory to the offending part, of it may quit the compilation..Mismatch.Program tryed to perform a function/operation/cancatanation on a veriable/calculation..Unresolved Goto.A goto lable was not found..Structure To Big.An attenpt to declere a set with more than 256 members (or with integers outside the range 0..255).  Or an attempt to allocace more that 65535 bytes of storage to a block (usually in the form of Arrays).  Or a structure that is to deeply-nested for the compiler to handle (Array of Array of Array...to a depth of about 30).  Or an attenpt to pass an Array (or Record) with more than 510 bytes as a Value Parameter  (this restriction dose not apply to Variable parameters)..Break.You stoped the compilation by holding the <BREAK> key down.RUN TIME ERROR MESSAGES--- ---- ----- --------.Bad Range.A subscript of an Array, or the Value of a subrange-type veriable is outside the range which you specified in your program..REAL OVERFLOW.The result of a real computation has a result outside the range 1E -64 - 1E +63..INT.OVERFLOW.The result of a Integer computation has a magnitude outside the range -32768 - +32767..MISMATCH.Tryed to read a string field into a newmeric veriable.  If this happens when you are reading from the KB: then the message 'Redo' will be displayed..STRUCTURE TO BIG.A attempt to create a set at run-time with more that 256 elements.  (eg A..B  when A=0 and B=260)..ILLIGAL JUMP.It is not legal to jump (with goto) into a For loop or Case statment or into an inactive Procedure of Function.  In general you can jump from a deeper nesting loop to a shallower level (out of a For loop, eg.), but you can't jump deeper.  If you jump out of a Function without assigning a Value to the Function, the Value of 0 will be returned.  Pascal 80 will allow you to jump from inside one For loop to another at the same nesting level, but the Value of the control veriable will be undefined.                                                                                                                                                                                                                                      