home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
MBUG
/
MBUG003.ARC
/
PASCAL.HLP
< prev
next >
Wrap
Text File
|
1979-12-31
|
10KB
|
215 lines
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).