Pascal Development System Internal Documentation Jan82
Pascal Development System Internal Documentation Jan82
Lisa · PDF
| Filename | Pascal_Development_System_Internal_Documentation_Jan82.pdf |
|---|---|
| Size | 1.29 MB |
| Subsection | pascal_monitor |
| Downloads | 0 |
Contents
CONFIDENTIAL
PASCAL DEVELOPMENT SYSTEM INTERNAL DOCUMENTATION
Bill Schottstaedt
Ext 2379
26-Jan-82
CONTENTS:
ICode Definition
Compiler Packing Information
Translation from Apple to Lisa Pascal
Monitor-Apple II Interface
MPasL:ib Routines
Linker File Layout
Intrinsic Unit Trap Handler
The Old Jump Table Format
26-Jan-82
Bill Schottstaedt
Conf i de nt ial
26~Jan-82
Page 1
Bill Schottstaedt
Ccmf i dent ial
Page 2
ICODE DEFINITION
TIle first pass of the compiler generates a .I file.
Its contents are:
00
Variable references:
01 +offset
02 +offset
03 lev +offset
04 com +Offset
05 reg size expr
05 reg 0
06 11?1111
07 1111111
08-0B nnnnnnn
Global variable reference
Local variable reference
Intermediate level variable reference
Common variable reference
Register reference
String temp
Set temp
1/2/4/8 byte temp
Addressing operators:
OC addr •••
OD addr •••
OE addr •••
OF +offset addr •••
10-13 nnnnnnn addr ••• expr •••
14 nnnnnnn nnnnnnn addr •••
expr •••
15 +on nnnnnnn addr •••
expr •••
16 addr •••
'A' _ Dereference operator
'A' _ File dereference operator
, A' _ Text file dereference operator
'.' - Record field offset
'[]' - 1/2/4/8 byte array index
'[]' - Long array index
'[]' - Packed array access
'@' - Address of operator
Cons tants:
17
18-1 B 111111111111/1
Ie nnn ' ABC ••• '
1D nnn 'ABC ••• '
IE nnn [1,5 •• 7,21]
IF
nil
1/2/4/8 byte constant
String constant
PAOC Constant
Set constant
[1 - Null set
Assignment: operators:
20-23 flippable addr ••• expr ••• ':-' - 1/2/4/8 byte assignment
(* flippable
is true if the assignment left hand side can be computed
after the right hand side. In this case, we have expr ••• addr ••• *)
24 nnnnnnn ad dr. •• expr •••
25 nnn addr ••• expr •••
26 (15/3E/3F ••• ) expr •••
27 nnn addr... expr •••
28 nnn nnn addr... expr •••
29 nnn addr... expr •••
2A nnn addr ••• expr •••
26'-Jan-82
':-' - Multiple byte assignment
':-' - Set assignment
':-' - Packed assignment
':-' - String assignment
':-' - PAOC Assignment
, :-+' - Add to
':--' - Subtract from
Bill Schottstaedt
Page 3
Confidential
2B nnn
2C lev isptr addr •••
2D lev
2E 10----- hi----- expr •••
2F hi- expr •••
WITH field reference, level nnn
Begin WITH statement, level nnn
End WITH statement, level nnn
2 Byte Range Check
String Range Check - assignment, not index
Data Conversion:
30-32 expr •••
33-35 expr •••
36-37 expr •••
38-39 expr •••
3A-3B expr •••
3C-3D expr •••
3E fff expr •••
3F fff expr •••
1->2,2->4,1->4 integer
2->1,4->2,4->1 integer
4->8,8->4 real conversion
4->4,4->8 Float
4->4,8->4 Trunc
4->4,8->4 Round
Extract unsigned field
Extract signed field
Scalar operators:
40-41 expr ••• expr •••
42-43 expr ••• expr •••
44-45 expr ••• expr •••
46-47 expr ••• expr •••
48-49 expr ••• expr •••
4A-4B expr •••
4C-4D expr •••
4E-4F expr •••
50-52 exp"r. •• expr •••
53-55 expr ••• expr •••
56-58 expr ••• expr •••
59-5B expr •••
5C-5E expr ••• expr •••
5F-61 expr ••• expr •••
62-64 expr ••• expr •••
65-67 expr ••• expr •••
68-6A expr…
Showing first 3,000 characters of 50,394 total. Open the full document →