home *** CD-ROM | disk | FTP | other *** search
- Compiler Operation
- Invoking Pascal
- Compilation Switches
- File Input/Output
- Special Functions and Procedures
- Pascal/MT Symbolic Debugger
- Pascal/MT Reserved Words
- Notes
- :Compiler Operation
-
- Thσ Pascal/M╘ compile≥ exist≤ iε tw∩ versions¼á eacΦ consistinτ oµ tw∩ ì
- 808░á objec⌠á codσ files║ FLTCOMP.CO═ (renameΣ PASCAL.CO═ oε ARIES-1⌐á anΣ ì
- P2/FLT.OV╠á fo≥á thσá versioεá iε whicΦ REA╠á number≤á arσá implementeΣá a≤ ì
- floatinτá poin⌠á value≤ internall∙ anΣ BCDCOMP.CO═ anΣ P2/BCD.OV╠á fo≥á thσ ì
- versioεá iεá whicΦ REA╠ number≤ arσ implementeΣ a≤ BC─á value≤á internally« ì
- Thesσ file≤ arσ Pas≤ ▒ anΣ Pas≤ ▓ oµ thσ Pascal/M╘ compiler¼á respectively« ì
- Als∩ requireΣ b∙ thσ compile≥ arσ thσ followinτ file≤ --
-
- P1ERRORS.TXT - Pass 1 Error Messages
- P2ERRORS.TXT - Pass 2 Error Messages
- PASCAL/F.RT╨ - Run-timσ Packagσ (includinτ debugger⌐ fo≥ FLT
- PASCAL/B.RTP - Run-time Package (including debugger) for BCD
-
- Thσá inpu⌠á file≤ t∩ thσ Pascal/M╘ compile≥ mus⌠á havσá thσá extensioε ì
- '.SRCºá o≥ '.PASº indicatinτ tha⌠ i⌠ i≤ ß sourcσ prograφ file«á Therσ mus⌠ ì
- bσá ß carriagσ return/linσ feeΣ sequencσ a⌠ thσ enΣ oµ eacΦ inpu⌠ linσá anΣ ì
- aε inpu⌠ linσ ma∙ no⌠ bσ longe≥ thaε 8░ characters.
- :Invoking Pascal
-
- Thσá Pascal/M╘á compile≥ i≤ invokeΣ oε ARIES-▒ b∙ usinτ thσá followinτ ì
- commanΣ --
-
- PASCAL filename.DL
-
- wherσá 'filenameºá i≤á thσ namσ oµ thσ filσ witΦ thσá extensioεá '.SRCºá o≥ ì
- '.PASº containinτ thσ Pascal/M╘ sourcσ statement≤ t∩ bσ compiled¼ ─ i≤ ┘ o≥ ì
- ╬á t∩ indicatσ whethe≥ t∩ includσ thσ debugge≥ iε thσ resultan⌠ .CO═á file¼ ì
- anΣá ╠á i≤á ┘ o≥ ╬ t∩ indicatσ whethe≥ t∩ producσ ßá .PR╬á filσá (listing)« ì
- PASCA╠ default≤ t∩ n∩ debugge≥ anΣ n∩ listing« Thσ fou≥ invocatioε option≤ ì
- are --
-
- PASCAL filename - no debugger, no listing
- PASCAL filename.Y - debugger, no listing
- PASCAL filename.NY - no debugger, listing
- PASCAL filename.YY - debugger, listing
-
- Fo≥á usagσá witΦ thσ BC─ versioε oµ thσá compiler¼á thσá command≤á arσ ì
- similar except that 'PASCAL' is replaced by 'BCDCOMP'.
- :Compilation Switches
- Compile-timσá option≤ ma∙ bσ specifieΣ t∩ thσ compile≥ froφ withiε thσ ì
- sourcσ file«á SucΦ option≤ takσ thσ forφ oµ specia∞ comments« Thσ forφ oµ ì
- thesσ comment≤ is
- (*$o info*) or {$o info}
- wherσá 'oºá i≤á thσá lette≥ oµ thσ optioε anΣá 'infoºá i≤á informatioε ì
- particular to that option. These options are --è
- $I<filename> Include <filename>.SRC into source stream
- $L+ or $L- Turn listing on (default) or Turn listing off
- $P Insert form feed into .PRN file
- $D+ or $D- Turn debug code on (default) or Turn debug code off
- $C+ Use CALL instructions for real operations
- $Cn Use RST n for real operations (n=0 ... 7)
- $O $aaaa ORG program (run-time) at $aaaa (default 100H)
- $R $bbbb ORG RAM data at $bbbb
- $Z $cc00 Set run-time size to $cc 256-byte pages
- $X $dddd Set run-time stack space to $dddd (default $200)
- $S+ or $S- Turn recursion or or Turn recursion off (default)
- $Q+ or $Q- Enable verbose output (default) or Disable verbose
- :File Input/Output
- Thσ standarΣ Pasca∞ READ¼á READLN¼á WRITE¼ anΣ WRITEL╬ statement≤ ì
- arσá implementeΣ fo≥ thσ CP/═ consolσ device«á WRIT┼ o≥ WRITEL╬ t∩á ß ì
- built-iεá filσ calleΣ PRINTE╥ i≤ alloweΣ t∩ directl∙ acces≤á thσá CP/═ ì
- list device (like, WRITE(PRINTER,'Hello')).
- The following extensions are implemented to handle files --
- OPEN(fcbname,title,result{,extent_number});
- (extent_number defaults to 0)
- CLOSE(fcbname,result);
- CREATE(fcbname,title,result);
- DELETE(fcbname);
- BLOCKREAD(fcbname,buffer,result{,relativeblock});
- BLOCKWRITE(fcbname,buffer,result{,relativeblock});
- where fcbname : a variable of type TEXT (array 0..32 of CHAR)
- title : ARRAY [0..11] of CHAR with
- title[0]=disδáá selec⌠á bytσá (0=loggeΣá iεá disk¼ ì
- 1=A,...)
- title[1..8]=filename and title[9..11]=filetype
- result : integer to contain returned value
- buffer : ARRAY [0..127] of CHAR
- relativeblock : optional integer 0..255
- :Special Functions and Procedures
-
- Pascal/MT supports the following special routines --
-
- PROC MOVE(source,dest,length-in-bytes);
- PROC EXIT;
- FUNC TSTBIT(16-bit-var,bit#):BOOLEAN;
- PROC SETBIT(VAR 16-bit-var,bit#);
- PROC CLRBIT(VAR 16-bit-var,bit#);
- FUNC SHR(16-bit-var,#bits):16-bit-result; {Shift Right}
- FUNC SHL(16-bit-var,#bits):16-bit-result; {Shift Left}
- FUNC LO(16-bit-var):16-bit-result;
- FUNC HI(16-bit-var):16-bit-result;
- FUNC SWAP(16-bit-var):16-bit-result;
- FUNC ADDR(variable reference):16-bit result;
- PROC WAIT(portnum:constant; mask:constant; polarity:boolean);
- FUNC SIZEOF(variable or type name):integer;
- Please refer to pp 32-33 of "Pascal/MT 3.0 Guide" for further info.
- :Pascal/MT Symbolic Debugger
-
- Thσá debugginτá facilitie≤ availablσ t∩ thσ use≥ wheεá usinτá thσ ìèdebugge≥ fal∞ int∩ tw∩ catagorie≤ -- prograφ flo≈ contro∞ anΣ variablσ ì
- display.
-
- Iµá thσ use≥ wishe≤ t∩ seσ thσ command≤ durinτ thσá executioεá oµ ì
- the debugger, type a '?' followed by a return.
-
- Thσ prograφ flo≈ command≤ provideΣ iε thσ symboliπ debugge≥ allo≈ ì
- thσ use≥ t∩ debuτ thσ Pascal/M╘ prograφ a⌠ thσ Pasca∞ sourcσ statemen⌠ ì
- level«á IncludeΣá arσ go/continuσ (witΦ optiona∞ breakpoint)¼á trace¼ ì
- set/clear/displa∙á permanen⌠ breakpoin⌠ anΣ ß modσ whicΦ wil∞á displa∙ ì
- thσ namσ oµ eacΦ procedure/functioε oε thσ consolσ a≤ thσ procedurσ o≥ ì
- function is entered.
-
- These commands are discussed briefly on the following displays --
-
- Debugger Command: G - Go with optional breakpoint
-
- Syntax: G{,<linenumber>}
- G{,<proc/func name>}
-
- G∩ resume≤ executioε wherσ thσ prograφ las⌠ stopped«á Breakpoin⌠ ì
- may be optionally set at a specific line or function/procedure.
-
- Debugger Command: T - Trace
-
- Syntax: T{<integer>}
-
- Execute one or more lines of the program.
-
- Debugger Command: E - Procedure/Function Display Toggle
-
- Syntax: {-}E
-
- ┼á engage≤ displa∙ oµ thσ name≤ oµ procedures/function≤á entered╗ ì
- -┼ disengage≤ it.
-
- Debugger Command: S - Set/Clear Slow Execution Mode
-
- Syntax: {-}S
-
- ╙á allow≤á thσ use≥ t∩ selec⌠ Fast¼á Medium¼á o≥á Slo≈á executioε ì
- speed; -S causes the program to run at full speed.
-
- Debugger Command: P - Set/Clear Permanent Breakpoint
-
- Syntax: -P (* Clears breakpoint *)
- P<linenumber>
- P<proc/func name>
-
- P sets the permanent breakpoint; -P clears it.
-
- Debugger Command: B - Display Permanent Breakpoint
-
- Syntax: B
-
- Displays line the permanent breakpoint is set for.
-
- Debugger Command: D - Variable Display
-
- Syntax: D <global var>
- D <proc/func name>:<local var>
- D <func name>
- D <pointer name>^
-
- The D command is used as indicated.
-
- Debugger Commands: +,-,* - Variable Display
-
- Syntax: * -- display last value requested (using D or some other)
- +n -- display variable n bytes forward from last
- -n -- display variable n bytes backward from last
- :Pascal/MT Reserved Words
-
- ABS DO LO READ TSTBIT
- ADDR DOWNTO MAXINT READLN TYPE
- AND ELSE MOD REAL UNTIL
- ARRAY ENABLE MOVE RECORD VAR
- BEGIN END NIL REPEAT WAIT
- BLOCKREAD EXIT NOT RIM85 WHILE
- BLOCKWRITE EXTERNAL ODD ROUND WRITE
- BOOLEAN FALSE OF SETBIT WRITELN
- CASE FILE OPEN SHL
- CHAIN FOR OR SHR
- CHAR FUNCTION ORD SIM85
- CHR GOTO OUTPUT SIZEOF
- CLOSE HI PACKED SQR
- CLRBIT IF PRED SQRT
- CONST INLINE PRINTER SUCC
- CREATE INPUT PROCEDURE SWAP
- DELETE INTEGER PROGRAM THEN
- DISABLE INTERRUPT RANDOMREAD TO
- DIV LABEL RANDOMWRITE TRUE
- :Notes
- 1. Hexadecimal values may be specified as $hhhh, like $1A = 1AH.
- 2«á Al∞á standarΣ Pasca∞ typσ definition≤ excep⌠ ARRA┘ arσá supported« ì
- Thσáá standarΣáá forφáá ARRAY...O╞áá ARRAY..«ááá mus⌠áá bσáá specifieΣáá a≤ ì
- ARRAY[...,...,...], and a maximum of three dimensions may be used.
- 3. Type TEXT is ARRAY [0..35] OF CHAR.
- 4«á Interrup⌠ Procedures¼á declareΣ a≤ "PROCEDUR┼ INTERRUPT[i▌ proc;"¼ ì
- are supported, where i is the restart vector number (0..7).
- 5«á CP/═á V▓á randoφá filσá acces≤á i≤á supporteΣá b∙á RANDOMREA─á anΣ ì
- RANDOMWRITE.
- 6«á Machinσá code¼á constan⌠ data¼á anΣ assembl∙ languagσ codσ ma∙á bσ ì
- inserted using INLINE (see pp 37-39 of "Pascal/MT 3.0 User Guide").
- 7. Chaining is supported by CHAIN, whose usage is "CHAIN(filename)".
- 8. Redirected I/O is supported (see pp 42-43).