GraphTool

Used Exports

BUILTINS: BYTE CHAR INTEGER
Files: File New Old Read ReadByte ReadInt ReadString Register Rider Rider.eof Set Write WriteByte WriteInt WriteString
Oberon: Log Par Par.pos Par.text
Texts: Append Name OpenScanner OpenWriter Scan Scanner Scanner.class Scanner.s Write WriteInt WriteLn WriteString Writer Writer.buf

MODULE GraphTool; (*NW 8.8.2013*)
.MODULE GraphTool (KEY 682929EE, VERSION 1, SIZE 00001D98)
.IMPORT Files (KEY 73F5D686)
.IMPORT Texts (KEY 0B9E9984)
.IMPORT Fonts (KEY F4C9F557)
.IMPORT Oberon (KEY A89CCEE2)
.IMPORT Display (KEY 4C08D3EA)
.IMPORT Viewers (KEY 25ABF199)
.DATA 28H
.STRING 28H "decode "
.STRING 30H "other class ="
.STRING 40H " not a graphics file"
.STRING 58H " not found"
.STRING 64H "decode "
.STRING 6CH "other class ="
.STRING 7CH " not a graphics file"
.STRING 94H " not found"
.STRING A0H "decode library1 "
.STRING B4H "other class ="
.STRING C4H "---"
.STRING C8H " not a graphics library"
.STRING E0H " not found"
.STRING ECH "convert library "
.STRING 100H " => "
.STRING 108H "alien class "
.STRING 118H " not a graphics library"
.STRING 130H " done"
.STRING 138H " not found"
.STRING 144H "GraphTool 8.8.2013"
.POINTER_REFERENCES 0H 4H 24H 18H
.FIXUP T 0H
IMPORT Files, Texts, Oberon;
CONST Context = 0; Line = 1; Caption = 2; Macro = 3; Rectangles = 4;
VAR W: Texts.Writer;
PROCEDURE DecGraph*;
VAR ch: CHAR;
class, col, fno, cat, inx, libno: BYTE;
xy, wh: INTEGER;
name: ARRAY 32 OF CHAR;
F: Files.File; R: Files.Rider;
S: Texts.Scanner;
BEGINa Texts.OpenScanner(S,b Oberon.Par.text,c Oberon.Par.pos)d;e Texts.Scan(S)f;g
0000a .PROC 1
0000a .COMMAND DecGraph
0000a(4EE900C4): SUB SP, SP, C4H
0001a(AFE00000): STR LNK, SP, 0H
0002b(40E80050): ADD R0, SP, 50H
0003b .FIXUP D
0003b(8D200003): LDR SB, MT, MOD2 [Texts]
0004b(41D80003): ADD R1, SB, VAR3
0005c .FIXUP D
0005c(8D400002): LDR SB, MT, MOD4 [Oberon]
0006c(42D8000E): ADD R2, SB, VAR14
0007c(82200008): LDR R2, R2, 8H
0008d .FIXUP D
0008d(8D400003): LDR SB, MT, MOD4 [Oberon]
0009d(43D8000E): ADD R3, SB, VAR14
000Ad(8330000C): LDR R3, R3, CH
000Be .FIXUP P
000Be(F721500B): BL MOD2 [Texts] PROC21
000Cf(40E80050): ADD R0, SP, 50H
000Df .FIXUP D
000Df(8D200005): LDR SB, MT, MOD2 [Texts]
000Ef(41D80003): ADD R1, SB, VAR3
000Fg .FIXUP P
000Fg(F7216004): BL MOD2 [Texts] PROC22
IF S.class = Texts.Name THENh
0010h(80E0008C): LDR R0, SP, 8CH
0011h(40090001): SUB R0, R0, 1H
0012h(E900016D): BNE 365 [0180H]
Texts.WriteString(W,i "decode ")j;k Texts.WriteString(W,l S.s)m;n
0013i .FIXUP D
0013i(8D000006): LDR SB, MT, MOD0 [GraphTool]
0014i(40D80000): ADD R0, SB, 0H [data]
0015i .FIXUP D
0015i(8D200002): LDR SB, MT, MOD2 [Texts]
0016i(41D80005): ADD R1, SB, VAR5
0017j .FIXUP D
0017j(8D000002): LDR SB, MT, MOD0 [GraphTool]
0018j(42D80028): ADD R2, SB, 28H ["decode "]
0019j(43000008): MOV R3, R0, 8H
001Ak .FIXUP P
001Ak(F721D00B): BL MOD2 [Texts] PROC29
001Bl .FIXUP D
001Bl(8D000004): LDR SB, MT, MOD0 [GraphTool]
001Cl(40D80000): ADD R0, SB, 0H [data]
001Dl .FIXUP D
001Dl(8D200002): LDR SB, MT, MOD2 [Texts]
001El(41D80005): ADD R1, SB, VAR5
001Fm(42E800A4): ADD R2, SP, A4H
0020m(43000020): MOV R3, R0, 20H
0021n .FIXUP P
0021n(F721D007): BL MOD2 [Texts] PROC29
Texts.WriteLn(W)o;p Texts.Append(Oberon.Log,q W.buf)r;s
0022o .FIXUP D
0022o(8D000005): LDR SB, MT, MOD0 [GraphTool]
0023o(40D80000): ADD R0, SB, 0H [data]
0024o .FIXUP D
0024o(8D200002): LDR SB, MT, MOD2 [Texts]
0025o(41D80005): ADD R1, SB, VAR5
0026p .FIXUP P
0026p(F721C005): BL MOD2 [Texts] PROC28
0027q .FIXUP D
0027q(8D400003): LDR SB, MT, MOD4 [Oberon]
0028q(80D0000D): LDR R0, SB, VAR13
0029r .FIXUP D
0029r(8D000002): LDR SB, MT, MOD0 [GraphTool]
002Ar(81D00000): LDR R1, SB, 0H [data]
002Bs .FIXUP P
002Bs(F720E005): BL MOD2 [Texts] PROC14
F := Files.Old(S.s)t;u
002Ct(40E800A4): ADD R0, SP, A4H
002Dt(41000020): MOV R1, R0, 20H
002Eu .FIXUP P
002Eu(F7102003): BL MOD1 [Files] PROC2
002Fu(A0E00034): STR R0, SP, 34H
IF F # NIL THENv
0030v(80E00034): LDR R0, SP, 34H
0031v(E100013C): BEQ 316 [016EH]
Files.Set(R,w F,x 0)y;z Files.Read(R,a ch)b;c
0032w(40E80038): ADD R0, SP, 38H
0033w .FIXUP D
0033w(8D10000A): LDR SB, MT, MOD1 [Files]
0034w(41D80001): ADD R1, SB, VAR1
0035x(82E00034): LDR R2, SP, 34H
0036y(43000000): MOV R3, R0, 0H
0037z .FIXUP P
0037z(F710B009): BL MOD1 [Files] PROC11
0038a(40E80038): ADD R0, SP, 38H
0039a .FIXUP D
0039a(8D100006): LDR SB, MT, MOD1 [Files]
003Aa(41D80001): ADD R1, SB, VAR1
003Bb(42E80004): ADD R2, SP, 4H
003Cc .FIXUP P
003Cc(F7110005): BL MOD1 [Files] PROC16
IF ch = 0F8X THENd
003Dd(90E00004): LDR R0, SP, 4H
003Ed(400900F8): SUB R0, R0, F8H
003Fd(E9000125): BNE 293 [0165H]
Files.ReadByte(R,e class)f;g
0040e(40E80038): ADD R0, SP, 38H
0041e .FIXUP D
0041e(8D100008): LDR SB, MT, MOD1 [Files]
0042e(41D80001): ADD R1, SB, VAR1
0043f(42E80005): ADD R2, SP, 5H
0044g .FIXUP P
0044g(F710E008): BL MOD1 [Files] PROC14
WHILE ~R.eof &h (iclass < 255)j DOk
0045h(90E00038): LDR R0, SP, 38H
0046i(E900011D): BNE 285 [0164H]
0047j(90E00005): LDR R0, SP, 5H
0048j(400900FF): SUB R0, R0, FFH
0049k(ED00011A): BGE 282 [0164H]
Texts.WriteInt(W,l class,m 4)n;o
004Al .FIXUP D
004Al(8D000009): LDR SB, MT, MOD0 [GraphTool]
004Bl(40D80000): ADD R0, SB, 0H [data]
004Cl .FIXUP D
004Cl(8D200002): LDR SB, MT, MOD2 [Texts]
004Dl(41D80005): ADD R1, SB, VAR5
004Em(92E00005): LDR R2, SP, 5H
004Fn(43000004): MOV R3, R0, 4H
0050o .FIXUP P
0050o(F721E00C): BL MOD2 [Texts] PROC30
IF class = Context THENp
0051p(90E00005): LDR R0, SP, 5H
0052p(E9000042): BNE 66 [0095H]
Files.ReadByte(R,q cat)r;s Files.ReadByte(R,t inx)u;v Texts.WriteInt(W,w cat,x 4)y;z Texts.WriteInt(W,a inx,b 4)c;d
0053q(40E80038): ADD R0, SP, 38H
0054q .FIXUP D
0054q(8D100008): LDR SB, MT, MOD1 [Files]
0055q(41D80001): ADD R1, SB, VAR1
0056r(42E80008): ADD R2, SP, 8H
0057s .FIXUP P
0057s(F710E007): BL MOD1 [Files] PROC14
0058t(40E80038): ADD R0, SP, 38H
0059t .FIXUP D
0059t(8D100005): LDR SB, MT, MOD1 [Files]
005At(41D80001): ADD R1, SB, VAR1
005Bu(42E80009): ADD R2, SP, 9H
005Cv .FIXUP P
005Cv(F710E005): BL MOD1 [Files] PROC14
005Dw .FIXUP D
005Dw(8D000004): LDR SB, MT, MOD0 [GraphTool]
005Ew(40D80000): ADD R0, SB, 0H [data]
005Fw .FIXUP D
005Fw(8D200002): LDR SB, MT, MOD2 [Texts]
0060w(41D80005): ADD R1, SB, VAR5
0061x(92E00008): LDR R2, SP, 8H
0062y(43000004): MOV R3, R0, 4H
0063z .FIXUP P
0063z(F721E007): BL MOD2 [Texts] PROC30
0064a .FIXUP D
0064a(8D000005): LDR SB, MT, MOD0 [GraphTool]
0065a(40D80000): ADD R0, SB, 0H [data]
0066a .FIXUP D
0066a(8D200002): LDR SB, MT, MOD2 [Texts]
0067a(41D80005): ADD R1, SB, VAR5
0068b(92E00009): LDR R2, SP, 9H
0069c(43000004): MOV R3, R0, 4H
006Ad .FIXUP P
006Ad(F721E007): BL MOD2 [Texts] PROC30
Files.ReadString(R,e name)f;g Texts.Write(W,h " ")i;j Texts.WriteString(W,k name)l;m
006Be(40E80038): ADD R0, SP, 38H
006Ce .FIXUP D
006Ce(8D100006): LDR SB, MT, MOD1 [Files]
006De(41D80001): ADD R1, SB, VAR1
006Ef(42E80014): ADD R2, SP, 14H
006Ff(43000020): MOV R3, R0, 20H
0070g .FIXUP P
0070g(F7114006): BL MOD1 [Files] PROC20
0071h .FIXUP D
0071h(8D000005): LDR SB, MT, MOD0 [GraphTool]
0072h(40D80000): ADD R0, SB, 0H [data]
0073h .FIXUP D
0073h(8D200002): LDR SB, MT, MOD2 [Texts]
0074h(41D80005): ADD R1, SB, VAR5
0075i(42000020): MOV R2, R0, 20H
0076j .FIXUP P
0076j(F721B006): BL MOD2 [Texts] PROC27
0077k .FIXUP D
0077k(8D000004): LDR SB, MT, MOD0 [GraphTool]
0078k(40D80000): ADD R0, SB, 0H [data]
0079k .FIXUP D
0079k(8D200002): LDR SB, MT, MOD2 [Texts]
007Ak(41D80005): ADD R1, SB, VAR5
007Bl(42E80014): ADD R2, SP, 14H
007Cl(43000020): MOV R3, R0, 20H
007Dm .FIXUP P
007Dm(F721D007): BL MOD2 [Texts] PROC29
IF cat = 2 THENn Files.ReadString(R,o name)p;q Texts.Write(W,r " ")s;t Texts.WriteString(W,u name)v ENDw
007En(90E00008): LDR R0, SP, 8H
007Fn(40090002): SUB R0, R0, 2H
0080n(E9000013): BNE 19 [0094H]
0081o(40E80038): ADD R0, SP, 38H
0082o .FIXUP D
0082o(8D100009): LDR SB, MT, MOD1 [Files]
0083o(41D80001): ADD R1, SB, VAR1
0084p(42E80014): ADD R2, SP, 14H
0085p(43000020): MOV R3, R0, 20H
0086q .FIXUP P
0086q(F7114009): BL MOD1 [Files] PROC20
0087r .FIXUP D
0087r(8D000005): LDR SB, MT, MOD0 [GraphTool]
0088r(40D80000): ADD R0, SB, 0H [data]
0089r .FIXUP D
0089r(8D200002): LDR SB, MT, MOD2 [Texts]
008Ar(41D80005): ADD R1, SB, VAR5
008Bs(42000020): MOV R2, R0, 20H
008Ct .FIXUP P
008Ct(F721B006): BL MOD2 [Texts] PROC27
008Du .FIXUP D
008Du(8D000004): LDR SB, MT, MOD0 [GraphTool]
008Eu(40D80000): ADD R0, SB, 0H [data]
008Fu .FIXUP D
008Fu(8D200002): LDR SB, MT, MOD2 [Texts]
0090u(41D80005): ADD R1, SB, VAR5
0091v(42E80014): ADD R2, SP, 14H
0092v(43000020): MOV R3, R0, 20H
0093w .FIXUP P
0093w(F721D007): BL MOD2 [Texts] PROC29
ELSE Filesx.ReadInt(R,y xy)z;a
0094x(E70000C4): B 196 [0159H]
0095y(40E80038): ADD R0, SP, 38H
0096y .FIXUP D
0096y(8D100007): LDR SB, MT, MOD1 [Files]
0097y(41D80001): ADD R1, SB, VAR1
0098z(42E8000C): ADD R2, SP, CH
0099a .FIXUP P
0099a(F7111006): BL MOD1 [Files] PROC17
Texts.WriteInt(W,b xy * 10000H DIVc 10000H,d 5)e;f Texts.WriteInt(W,g xy DIV 10000H,h 5)i;j
009Ab .FIXUP D
009Ab(8D000004): LDR SB, MT, MOD0 [GraphTool]
009Bb(40D80000): ADD R0, SB, 0H [data]
009Cb .FIXUP D
009Cb(8D200002): LDR SB, MT, MOD2 [Texts]
009Db(41D80005): ADD R1, SB, VAR5
009Ec(82E0000C): LDR R2, SP, CH
009Fc(42210010): LSL R2, R2, 10H
00A0d(42220010): ASR R2, R2, 10H
00A1e(43000005): MOV R3, R0, 5H
00A2f .FIXUP P
00A2f(F721E009): BL MOD2 [Texts] PROC30
00A3g .FIXUP D
00A3g(8D000007): LDR SB, MT, MOD0 [GraphTool]
00A4g(40D80000): ADD R0, SB, 0H [data]
00A5g .FIXUP D
00A5g(8D200002): LDR SB, MT, MOD2 [Texts]
00A6g(41D80005): ADD R1, SB, VAR5
00A7h(82E0000C): LDR R2, SP, CH
00A8h(42220010): ASR R2, R2, 10H
00A9i(43000005): MOV R3, R0, 5H
00AAj .FIXUP P
00AAj(F721E008): BL MOD2 [Texts] PROC30
Files.ReadInt(R,k wh)l;m
00ABk(40E80038): ADD R0, SP, 38H
00ACk .FIXUP D
00ACk(8D100007): LDR SB, MT, MOD1 [Files]
00ADk(41D80001): ADD R1, SB, VAR1
00AEl(42E80010): ADD R2, SP, 10H
00AFm .FIXUP P
00AFm(F7111005): BL MOD1 [Files] PROC17
Texts.WriteInt(W,n wh * 10000H DIVo 10000H,p 5)q;r Texts.WriteInt(W,s wh DIV 10000H,t 5)u;v
00B0n .FIXUP D
00B0n(8D000004): LDR SB, MT, MOD0 [GraphTool]
00B1n(40D80000): ADD R0, SB, 0H [data]
00B2n .FIXUP D
00B2n(8D200002): LDR SB, MT, MOD2 [Texts]
00B3n(41D80005): ADD R1, SB, VAR5
00B4o(82E00010): LDR R2, SP, 10H
00B5o(42210010): LSL R2, R2, 10H
00B6p(42220010): ASR R2, R2, 10H
00B7q(43000005): MOV R3, R0, 5H
00B8r .FIXUP P
00B8r(F721E009): BL MOD2 [Texts] PROC30
00B9s .FIXUP D
00B9s(8D000007): LDR SB, MT, MOD0 [GraphTool]
00BAs(40D80000): ADD R0, SB, 0H [data]
00BBs .FIXUP D
00BBs(8D200002): LDR SB, MT, MOD2 [Texts]
00BCs(41D80005): ADD R1, SB, VAR5
00BDt(82E00010): LDR R2, SP, 10H
00BEt(42220010): ASR R2, R2, 10H
00BFu(43000005): MOV R3, R0, 5H
00C0v .FIXUP P
00C0v(F721E008): BL MOD2 [Texts] PROC30
Files.ReadByte(R,w col)x;y Files.Read(R,z ch)a;b Texts.WriteInt(W,c col,d 5)e;f Texts.Write(W,g "|")h;i
00C1w(40E80038): ADD R0, SP, 38H
00C2w .FIXUP D
00C2w(8D100007): LDR SB, MT, MOD1 [Files]
00C3w(41D80001): ADD R1, SB, VAR1
00C4x(42E80006): ADD R2, SP, 6H
00C5y .FIXUP P
00C5y(F710E005): BL MOD1 [Files] PROC14
00C6z(40E80038): ADD R0, SP, 38H
00C7z .FIXUP D
00C7z(8D100005): LDR SB, MT, MOD1 [Files]
00C8z(41D80001): ADD R1, SB, VAR1
00C9a(42E80004): ADD R2, SP, 4H
00CAb .FIXUP P
00CAb(F7110005): BL MOD1 [Files] PROC16
00CBc .FIXUP D
00CBc(8D000004): LDR SB, MT, MOD0 [GraphTool]
00CCc(40D80000): ADD R0, SB, 0H [data]
00CDc .FIXUP D
00CDc(8D200002): LDR SB, MT, MOD2 [Texts]
00CEc(41D80005): ADD R1, SB, VAR5
00CFd(92E00006): LDR R2, SP, 6H
00D0e(43000005): MOV R3, R0, 5H
00D1f .FIXUP P
00D1f(F721E007): BL MOD2 [Texts] PROC30
00D2g .FIXUP D
00D2g(8D000005): LDR SB, MT, MOD0 [GraphTool]
00D3g(40D80000): ADD R0, SB, 0H [data]
00D4g .FIXUP D
00D4g(8D200002): LDR SB, MT, MOD2 [Texts]
00D5g(41D80005): ADD R1, SB, VAR5
00D6h(4200007C): MOV R2, R0, 7CH
00D7i .FIXUP P
00D7i(F721B006): BL MOD2 [Texts] PROC27
IF class = Line THENj
00D8j(90E00005): LDR R0, SP, 5H
00D9j(40090001): SUB R0, R0, 1H
00DAj(E9000001): BNE 1 [00DCH]
ELSIF classk = Caption THENl
00DBk(E700007D): B 125 [0159H]
00DCl(90E00005): LDR R0, SP, 5H
00DDl(40090002): SUB R0, R0, 2H
00DEl(E9000020): BNE 32 [00FFH]
Files.ReadByte(R,m fno)n;o Texts.WriteInt(W,p fno,q 5)r;s Texts.Write(W,t " ")u;v
00DFm(40E80038): ADD R0, SP, 38H
00E0m .FIXUP D
00E0m(8D10000C): LDR SB, MT, MOD1 [Files]
00E1m(41D80001): ADD R1, SB, VAR1
00E2n(42E80007): ADD R2, SP, 7H
00E3o .FIXUP P
00E3o(F710E00C): BL MOD1 [Files] PROC14
00E4p .FIXUP D
00E4p(8D000004): LDR SB, MT, MOD0 [GraphTool]
00E5p(40D80000): ADD R0, SB, 0H [data]
00E6p .FIXUP D
00E6p(8D200002): LDR SB, MT, MOD2 [Texts]
00E7p(41D80005): ADD R1, SB, VAR5
00E8q(92E00007): LDR R2, SP, 7H
00E9r(43000005): MOV R3, R0, 5H
00EAs .FIXUP P
00EAs(F721E007): BL MOD2 [Texts] PROC30
00EBt .FIXUP D
00EBt(8D000005): LDR SB, MT, MOD0 [GraphTool]
00ECt(40D80000): ADD R0, SB, 0H [data]
00EDt .FIXUP D
00EDt(8D200002): LDR SB, MT, MOD2 [Texts]
00EEt(41D80005): ADD R1, SB, VAR5
00EFu(42000020): MOV R2, R0, 20H
00F0v .FIXUP P
00F0v(F721B006): BL MOD2 [Texts] PROC27
Files.ReadString(R,w name)x;y Texts.WriteString(W,z name)a
00F1w(40E80038): ADD R0, SP, 38H
00F2w .FIXUP D
00F2w(8D100005): LDR SB, MT, MOD1 [Files]
00F3w(41D80001): ADD R1, SB, VAR1
00F4x(42E80014): ADD R2, SP, 14H
00F5x(43000020): MOV R3, R0, 20H
00F6y .FIXUP P
00F6y(F7114006): BL MOD1 [Files] PROC20
00F7z .FIXUP D
00F7z(8D000005): LDR SB, MT, MOD0 [GraphTool]
00F8z(40D80000): ADD R0, SB, 0H [data]
00F9z .FIXUP D
00F9z(8D200002): LDR SB, MT, MOD2 [Texts]
00FAz(41D80005): ADD R1, SB, VAR5
00FBa(42E80014): ADD R2, SP, 14H
00FCa(43000020): MOV R3, R0, 20H
ELSIFb classc = Macro THENd
00FDb .FIXUP P
00FDb(F721D007): BL MOD2 [Texts] PROC29
00FEc(E700005A): B 90 [0159H]
00FFd(90E00005): LDR R0, SP, 5H
0100d(40090003): SUB R0, R0, 3H
0101d(E9000020): BNE 32 [0122H]
Files.ReadByte(R,e libno)f;g Files.ReadString(R,h name)i;j
0102e(40E80038): ADD R0, SP, 38H
0103e .FIXUP D
0103e(8D10000A): LDR SB, MT, MOD1 [Files]
0104e(41D80001): ADD R1, SB, VAR1
0105f(42E8000A): ADD R2, SP, AH
0106g .FIXUP P
0106g(F710E009): BL MOD1 [Files] PROC14
0107h(40E80038): ADD R0, SP, 38H
0108h .FIXUP D
0108h(8D100005): LDR SB, MT, MOD1 [Files]
0109h(41D80001): ADD R1, SB, VAR1
010Ai(42E80014): ADD R2, SP, 14H
010Bi(43000020): MOV R3, R0, 20H
010Cj .FIXUP P
010Cj(F7114006): BL MOD1 [Files] PROC20
Texts.WriteInt(W,k libno,l 4)m;n Texts.Write(W,o " ")p;q Texts.WriteString(W,r name)s
010Dk .FIXUP D
010Dk(8D000005): LDR SB, MT, MOD0 [GraphTool]
010Ek(40D80000): ADD R0, SB, 0H [data]
010Fk .FIXUP D
010Fk(8D200002): LDR SB, MT, MOD2 [Texts]
0110k(41D80005): ADD R1, SB, VAR5
0111l(92E0000A): LDR R2, SP, AH
0112m(43000004): MOV R3, R0, 4H
0113n .FIXUP P
0113n(F721E007): BL MOD2 [Texts] PROC30
0114o .FIXUP D
0114o(8D000005): LDR SB, MT, MOD0 [GraphTool]
0115o(40D80000): ADD R0, SB, 0H [data]
0116o .FIXUP D
0116o(8D200002): LDR SB, MT, MOD2 [Texts]
0117o(41D80005): ADD R1, SB, VAR5
0118p(42000020): MOV R2, R0, 20H
0119q .FIXUP P
0119q(F721B006): BL MOD2 [Texts] PROC27
011Ar .FIXUP D
011Ar(8D000004): LDR SB, MT, MOD0 [GraphTool]
011Br(40D80000): ADD R0, SB, 0H [data]
011Cr .FIXUP D
011Cr(8D200002): LDR SB, MT, MOD2 [Texts]
011Dr(41D80005): ADD R1, SB, VAR5
011Es(42E80014): ADD R2, SP, 14H
011Fs(43000020): MOV R3, R0, 20H
ELSIFt classu = Rectangles THENv
0120t .FIXUP P
0120t(F721D007): BL MOD2 [Texts] PROC29
0121u(E7000037): B 55 [0159H]
0122v(90E00005): LDR R0, SP, 5H
0123v(40090004): SUB R0, R0, 4H
0124v(E9000025): BNE 37 [014AH]
Files.ReadByte(R,w fno)x;y Texts.WriteInt(W,z fno,a 4)b;c Files.ReadByte(R,d fno)e;f Texts.WriteInt(W,g fno,h 4)i;j
0125w(40E80038): ADD R0, SP, 38H
0126w .FIXUP D
0126w(8D10000A): LDR SB, MT, MOD1 [Files]
0127w(41D80001): ADD R1, SB, VAR1
0128x(42E80007): ADD R2, SP, 7H
0129y .FIXUP P
0129y(F710E009): BL MOD1 [Files] PROC14
012Az .FIXUP D
012Az(8D000004): LDR SB, MT, MOD0 [GraphTool]
012Bz(40D80000): ADD R0, SB, 0H [data]
012Cz .FIXUP D
012Cz(8D200002): LDR SB, MT, MOD2 [Texts]
012Dz(41D80005): ADD R1, SB, VAR5
012Ea(92E00007): LDR R2, SP, 7H
012Fb(43000004): MOV R3, R0, 4H
0130c .FIXUP P
0130c(F721E007): BL MOD2 [Texts] PROC30
0131d(40E80038): ADD R0, SP, 38H
0132d .FIXUP D
0132d(8D100006): LDR SB, MT, MOD1 [Files]
0133d(41D80001): ADD R1, SB, VAR1
0134e(42E80007): ADD R2, SP, 7H
0135f .FIXUP P
0135f(F710E005): BL MOD1 [Files] PROC14
0136g .FIXUP D
0136g(8D000004): LDR SB, MT, MOD0 [GraphTool]
0137g(40D80000): ADD R0, SB, 0H [data]
0138g .FIXUP D
0138g(8D200002): LDR SB, MT, MOD2 [Texts]
0139g(41D80005): ADD R1, SB, VAR5
013Ah(92E00007): LDR R2, SP, 7H
013Bi(43000004): MOV R3, R0, 4H
013Cj .FIXUP P
013Cj(F721E007): BL MOD2 [Texts] PROC30
Files.ReadByte(R,k fno)l;m Texts.WriteInt(W,n fno,o 4)p
013Dk(40E80038): ADD R0, SP, 38H
013Ek .FIXUP D
013Ek(8D100006): LDR SB, MT, MOD1 [Files]
013Fk(41D80001): ADD R1, SB, VAR1
0140l(42E80007): ADD R2, SP, 7H
0141m .FIXUP P
0141m(F710E005): BL MOD1 [Files] PROC14
0142n .FIXUP D
0142n(8D000004): LDR SB, MT, MOD0 [GraphTool]
0143n(40D80000): ADD R0, SB, 0H [data]
0144n .FIXUP D
0144n(8D200002): LDR SB, MT, MOD2 [Texts]
0145n(41D80005): ADD R1, SB, VAR5
0146o(92E00007): LDR R2, SP, 7H
0147p(43000004): MOV R3, R0, 4H
ELSEq Textsr.WriteString(W,s "other class =")t;u Texts.WriteInt(W,v class,w 4)x
0148q .FIXUP P
0148q(F721E007): BL MOD2 [Texts] PROC30
0149r(E700000F): B 15 [0159H]
014As .FIXUP D
014As(8D000006): LDR SB, MT, MOD0 [GraphTool]
014Bs(40D80000): ADD R0, SB, 0H [data]
014Cs .FIXUP D
014Cs(8D200002): LDR SB, MT, MOD2 [Texts]
014Ds(41D80005): ADD R1, SB, VAR5
014Et .FIXUP D
014Et(8D000002): LDR SB, MT, MOD0 [GraphTool]
014Ft(42D80030): ADD R2, SB, 30H ["other class ="]
0150t(4300000E): MOV R3, R0, EH
0151u .FIXUP P
0151u(F721D009): BL MOD2 [Texts] PROC29
0152v .FIXUP D
0152v(8D000004): LDR SB, MT, MOD0 [GraphTool]
0153v(40D80000): ADD R0, SB, 0H [data]
0154v .FIXUP D
0154v(8D200002): LDR SB, MT, MOD2 [Texts]
0155v(41D80005): ADD R1, SB, VAR5
0156w(92E00005): LDR R2, SP, 5H
0157x(43000004): MOV R3, R0, 4H
ENDy
0158y .FIXUP P
0158y(F721E007): BL MOD2 [Texts] PROC30
END ;
Texts.WriteLn(W)z;a Files.ReadByte(R,b class)c
0159z .FIXUP D
0159z(8D000005): LDR SB, MT, MOD0 [GraphTool]
015Az(40D80000): ADD R0, SB, 0H [data]
015Bz .FIXUP D
015Bz(8D200002): LDR SB, MT, MOD2 [Texts]
015Cz(41D80005): ADD R1, SB, VAR5
015Da .FIXUP P
015Da(F721C005): BL MOD2 [Texts] PROC28
015Eb(40E80038): ADD R0, SP, 38H
015Fb .FIXUP D
015Fb(8D100004): LDR SB, MT, MOD1 [Files]
0160b(41D80001): ADD R1, SB, VAR1
0161c(42E80005): ADD R2, SP, 5H
ENDd
0162d .FIXUP P
0162d(F710E005): BL MOD1 [Files] PROC14
0163d(E7FFFEE1): B -287 [0045H]
ELSE Textse.WriteString(W,f " not a graphics file")g
0164e(E7000008): B 8 [016DH]
0165f .FIXUP D
0165f(8D000006): LDR SB, MT, MOD0 [GraphTool]
0166f(40D80000): ADD R0, SB, 0H [data]
0167f .FIXUP D
0167f(8D200002): LDR SB, MT, MOD2 [Texts]
0168f(41D80005): ADD R1, SB, VAR5
0169g .FIXUP D
0169g(8D000002): LDR SB, MT, MOD0 [GraphTool]
016Ag(42D80040): ADD R2, SB, 40H [" not a graphics file"]
016Bg(43000015): MOV R3, R0, 15H
ENDh
016Ch .FIXUP P
016Ch(F721D00A): BL MOD2 [Texts] PROC29
ELSE Textsi.WriteString(W,j " not found")k
016Di(E7000008): B 8 [0176H]
016Ej .FIXUP D
016Ej(8D000005): LDR SB, MT, MOD0 [GraphTool]
016Fj(40D80000): ADD R0, SB, 0H [data]
0170j .FIXUP D
0170j(8D200002): LDR SB, MT, MOD2 [Texts]
0171j(41D80005): ADD R1, SB, VAR5
0172k .FIXUP D
0172k(8D000002): LDR SB, MT, MOD0 [GraphTool]
0173k(42D80058): ADD R2, SB, 58H [" not found"]
0174k(4300000B): MOV R3, R0, BH
ENDl ;
0175l .FIXUP P
0175l(F721D009): BL MOD2 [Texts] PROC29
Texts.WriteLn(W)m;n Texts.Append(Oberon.Log,o W.buf)p
0176m .FIXUP D
0176m(8D000004): LDR SB, MT, MOD0 [GraphTool]
0177m(40D80000): ADD R0, SB, 0H [data]
0178m .FIXUP D
0178m(8D200002): LDR SB, MT, MOD2 [Texts]
0179m(41D80005): ADD R1, SB, VAR5
017An .FIXUP P
017An(F721C005): BL MOD2 [Texts] PROC28
017Bo .FIXUP D
017Bo(8D400003): LDR SB, MT, MOD4 [Oberon]
017Co(80D0000D): LDR R0, SB, VAR13
017Dp .FIXUP D
017Dp(8D000002): LDR SB, MT, MOD0 [GraphTool]
017Ep(81D00000): LDR R1, SB, 0H [data]
ENDq
017Fq .FIXUP P
017Fq(F720E005): BL MOD2 [Texts] PROC14
ENDr DecGraph;
0180r(8FE00000): LDR LNK, SP, 0H
0181r(4EE800C4): ADD SP, SP, C4H
0182r(C700000F): B LNK
PROCEDURE DecGraph1*;
VAR ch: CHAR;
class, col, fno, len, lw, vers, cat, inx, libno: BYTE;
xy, wh: INTEGER;
name: ARRAY 32 OF CHAR;
F: Files.File; R: Files.Rider;
S: Texts.Scanner;
BEGINs Texts.OpenScanner(S,t Oberon.Par.text,u Oberon.Par.pos)v;w Texts.Scan(S)x;y
0183s .PROC 2
0183s .COMMAND DecGraph1
0183s(4EE900C8): SUB SP, SP, C8H
0184s(AFE00000): STR LNK, SP, 0H
0185t(40E80054): ADD R0, SP, 54H
0186t .FIXUP D
0186t(8D200009): LDR SB, MT, MOD2 [Texts]
0187t(41D80003): ADD R1, SB, VAR3
0188u .FIXUP D
0188u(8D400002): LDR SB, MT, MOD4 [Oberon]
0189u(42D8000E): ADD R2, SB, VAR14
018Au(82200008): LDR R2, R2, 8H
018Bv .FIXUP D
018Bv(8D400003): LDR SB, MT, MOD4 [Oberon]
018Cv(43D8000E): ADD R3, SB, VAR14
018Dv(8330000C): LDR R3, R3, CH
018Ew .FIXUP P
018Ew(F721500F): BL MOD2 [Texts] PROC21
018Fx(40E80054): ADD R0, SP, 54H
0190x .FIXUP D
0190x(8D200005): LDR SB, MT, MOD2 [Texts]
0191x(41D80003): ADD R1, SB, VAR3
0192y .FIXUP P
0192y(F7216004): BL MOD2 [Texts] PROC22
IF S.class = Texts.Name THENz
0193z(80E00090): LDR R0, SP, 90H
0194z(40090001): SUB R0, R0, 1H
0195z(E9000168): BNE 360 [02FEH]
Texts.WriteString(W,a "decode ")b;c Texts.WriteString(W,d S.s)e;f
0196a .FIXUP D
0196a(8D000006): LDR SB, MT, MOD0 [GraphTool]
0197a(40D80000): ADD R0, SB, 0H [data]
0198a .FIXUP D
0198a(8D200002): LDR SB, MT, MOD2 [Texts]
0199a(41D80005): ADD R1, SB, VAR5
019Ab .FIXUP D
019Ab(8D000002): LDR SB, MT, MOD0 [GraphTool]
019Bb(42D80064): ADD R2, SB, 64H ["decode "]
019Cb(43000008): MOV R3, R0, 8H
019Dc .FIXUP P
019Dc(F721D00B): BL MOD2 [Texts] PROC29
019Ed .FIXUP D
019Ed(8D000004): LDR SB, MT, MOD0 [GraphTool]
019Fd(40D80000): ADD R0, SB, 0H [data]
01A0d .FIXUP D
01A0d(8D200002): LDR SB, MT, MOD2 [Texts]
01A1d(41D80005): ADD R1, SB, VAR5
01A2e(42E800A8): ADD R2, SP, A8H
01A3e(43000020): MOV R3, R0, 20H
01A4f .FIXUP P
01A4f(F721D007): BL MOD2 [Texts] PROC29
Texts.WriteLn(W)g;h Texts.Append(Oberon.Log,i W.buf)j;k
01A5g .FIXUP D
01A5g(8D000005): LDR SB, MT, MOD0 [GraphTool]
01A6g(40D80000): ADD R0, SB, 0H [data]
01A7g .FIXUP D
01A7g(8D200002): LDR SB, MT, MOD2 [Texts]
01A8g(41D80005): ADD R1, SB, VAR5
01A9h .FIXUP P
01A9h(F721C005): BL MOD2 [Texts] PROC28
01AAi .FIXUP D
01AAi(8D400003): LDR SB, MT, MOD4 [Oberon]
01ABi(80D0000D): LDR R0, SB, VAR13
01ACj .FIXUP D
01ACj(8D000002): LDR SB, MT, MOD0 [GraphTool]
01ADj(81D00000): LDR R1, SB, 0H [data]
01AEk .FIXUP P
01AEk(F720E005): BL MOD2 [Texts] PROC14
F := Files.Old(S.s)l;m
01AFl(40E800A8): ADD R0, SP, A8H
01B0l(41000020): MOV R1, R0, 20H
01B1m .FIXUP P
01B1m(F7102003): BL MOD1 [Files] PROC2
01B2m(A0E00038): STR R0, SP, 38H
IF F # NIL THENn
01B3n(80E00038): LDR R0, SP, 38H
01B4n(E1000137): BEQ 311 [02ECH]
Files.Set(R,o F,p 0)q;r Files.Read(R,s ch)t;u
01B5o(40E8003C): ADD R0, SP, 3CH
01B6o .FIXUP D
01B6o(8D10000A): LDR SB, MT, MOD1 [Files]
01B7o(41D80001): ADD R1, SB, VAR1
01B8p(82E00038): LDR R2, SP, 38H
01B9q(43000000): MOV R3, R0, 0H
01BAr .FIXUP P
01BAr(F710B009): BL MOD1 [Files] PROC11
01BBs(40E8003C): ADD R0, SP, 3CH
01BCs .FIXUP D
01BCs(8D100006): LDR SB, MT, MOD1 [Files]
01BDs(41D80001): ADD R1, SB, VAR1
01BEt(42E80004): ADD R2, SP, 4H
01BFu .FIXUP P
01BFu(F7110005): BL MOD1 [Files] PROC16
IF ch = 0FAX THENv
01C0v(90E00004): LDR R0, SP, 4H
01C1v(400900FA): SUB R0, R0, FAH
01C2v(E9000120): BNE 288 [02E3H]
Files.ReadByte(R,w class)x;y
01C3w(40E8003C): ADD R0, SP, 3CH
01C4w .FIXUP D
01C4w(8D100008): LDR SB, MT, MOD1 [Files]
01C5w(41D80001): ADD R1, SB, VAR1
01C6x(42E80005): ADD R2, SP, 5H
01C7y .FIXUP P
01C7y(F710E008): BL MOD1 [Files] PROC14
WHILE ~R.eof &z (aclass < 255)b DOc
01C8z(90E0003C): LDR R0, SP, 3CH
01C9a(E9000118): BNE 280 [02E2H]
01CAb(90E00005): LDR R0, SP, 5H
01CBb(400900FF): SUB R0, R0, FFH
01CCc(ED000115): BGE 277 [02E2H]
Texts.WriteInt(W,d class,e 4)f;g
01CDd .FIXUP D
01CDd(8D000009): LDR SB, MT, MOD0 [GraphTool]
01CEd(40D80000): ADD R0, SB, 0H [data]
01CFd .FIXUP D
01CFd(8D200002): LDR SB, MT, MOD2 [Texts]
01D0d(41D80005): ADD R1, SB, VAR5
01D1e(92E00005): LDR R2, SP, 5H
01D2f(43000004): MOV R3, R0, 4H
01D3g .FIXUP P
01D3g(F721E00C): BL MOD2 [Texts] PROC30
IF class = Context THENh
01D4h(90E00005): LDR R0, SP, 5H
01D5h(E9000042): BNE 66 [0218H]
Files.ReadByte(R,i cat)j;k Files.ReadByte(R,l inx)m;n Texts.WriteInt(W,o cat,p 4)q;r Texts.WriteInt(W,s inx,t 4)u;v
01D6i(40E8003C): ADD R0, SP, 3CH
01D7i .FIXUP D
01D7i(8D100008): LDR SB, MT, MOD1 [Files]
01D8i(41D80001): ADD R1, SB, VAR1
01D9j(42E8000B): ADD R2, SP, BH
01DAk .FIXUP P
01DAk(F710E007): BL MOD1 [Files] PROC14
01DBl(40E8003C): ADD R0, SP, 3CH
01DCl .FIXUP D
01DCl(8D100005): LDR SB, MT, MOD1 [Files]
01DDl(41D80001): ADD R1, SB, VAR1
01DEm(42E8000C): ADD R2, SP, CH
01DFn .FIXUP P
01DFn(F710E005): BL MOD1 [Files] PROC14
01E0o .FIXUP D
01E0o(8D000004): LDR SB, MT, MOD0 [GraphTool]
01E1o(40D80000): ADD R0, SB, 0H [data]
01E2o .FIXUP D
01E2o(8D200002): LDR SB, MT, MOD2 [Texts]
01E3o(41D80005): ADD R1, SB, VAR5
01E4p(92E0000B): LDR R2, SP, BH
01E5q(43000004): MOV R3, R0, 4H
01E6r .FIXUP P
01E6r(F721E007): BL MOD2 [Texts] PROC30
01E7s .FIXUP D
01E7s(8D000005): LDR SB, MT, MOD0 [GraphTool]
01E8s(40D80000): ADD R0, SB, 0H [data]
01E9s .FIXUP D
01E9s(8D200002): LDR SB, MT, MOD2 [Texts]
01EAs(41D80005): ADD R1, SB, VAR5
01EBt(92E0000C): LDR R2, SP, CH
01ECu(43000004): MOV R3, R0, 4H
01EDv .FIXUP P
01EDv(F721E007): BL MOD2 [Texts] PROC30
Files.ReadString(R,w name)x;y Texts.Write(W,z " ")a;b Texts.WriteString(W,c name)d;e
01EEw(40E8003C): ADD R0, SP, 3CH
01EFw .FIXUP D
01EFw(8D100006): LDR SB, MT, MOD1 [Files]
01F0w(41D80001): ADD R1, SB, VAR1
01F1x(42E80018): ADD R2, SP, 18H
01F2x(43000020): MOV R3, R0, 20H
01F3y .FIXUP P
01F3y(F7114006): BL MOD1 [Files] PROC20
01F4z .FIXUP D
01F4z(8D000005): LDR SB, MT, MOD0 [GraphTool]
01F5z(40D80000): ADD R0, SB, 0H [data]
01F6z .FIXUP D
01F6z(8D200002): LDR SB, MT, MOD2 [Texts]
01F7z(41D80005): ADD R1, SB, VAR5
01F8a(42000020): MOV R2, R0, 20H
01F9b .FIXUP P
01F9b(F721B006): BL MOD2 [Texts] PROC27
01FAc .FIXUP D
01FAc(8D000004): LDR SB, MT, MOD0 [GraphTool]
01FBc(40D80000): ADD R0, SB, 0H [data]
01FCc .FIXUP D
01FCc(8D200002): LDR SB, MT, MOD2 [Texts]
01FDc(41D80005): ADD R1, SB, VAR5
01FEd(42E80018): ADD R2, SP, 18H
01FFd(43000020): MOV R3, R0, 20H
0200e .FIXUP P
0200e(F721D007): BL MOD2 [Texts] PROC29
IF cat = 2 THENf Files.ReadString(R,g name)h;i Texts.Write(W,j " ")k;l Texts.WriteString(W,m name)n ENDo
0201f(90E0000B): LDR R0, SP, BH
0202f(40090002): SUB R0, R0, 2H
0203f(E9000013): BNE 19 [0217H]
0204g(40E8003C): ADD R0, SP, 3CH
0205g .FIXUP D
0205g(8D100009): LDR SB, MT, MOD1 [Files]
0206g(41D80001): ADD R1, SB, VAR1
0207h(42E80018): ADD R2, SP, 18H
0208h(43000020): MOV R3, R0, 20H
0209i .FIXUP P
0209i(F7114009): BL MOD1 [Files] PROC20
020Aj .FIXUP D
020Aj(8D000005): LDR SB, MT, MOD0 [GraphTool]
020Bj(40D80000): ADD R0, SB, 0H [data]
020Cj .FIXUP D
020Cj(8D200002): LDR SB, MT, MOD2 [Texts]
020Dj(41D80005): ADD R1, SB, VAR5
020Ek(42000020): MOV R2, R0, 20H
020Fl .FIXUP P
020Fl(F721B006): BL MOD2 [Texts] PROC27
0210m .FIXUP D
0210m(8D000004): LDR SB, MT, MOD0 [GraphTool]
0211m(40D80000): ADD R0, SB, 0H [data]
0212m .FIXUP D
0212m(8D200002): LDR SB, MT, MOD2 [Texts]
0213m(41D80005): ADD R1, SB, VAR5
0214n(42E80018): ADD R2, SP, 18H
0215n(43000020): MOV R3, R0, 20H
0216o .FIXUP P
0216o(F721D007): BL MOD2 [Texts] PROC29
ELSE Filesp.ReadInt(R,q xy)r;s
0217p(E70000BF): B 191 [02D7H]
0218q(40E8003C): ADD R0, SP, 3CH
0219q .FIXUP D
0219q(8D100007): LDR SB, MT, MOD1 [Files]
021Aq(41D80001): ADD R1, SB, VAR1
021Br(42E80010): ADD R2, SP, 10H
021Cs .FIXUP P
021Cs(F7111006): BL MOD1 [Files] PROC17
Texts.WriteInt(W,t xy * 10000H DIVu 10000H,v 5)w;x Texts.WriteInt(W,y xy DIV 10000H,z 5)a;b
021Dt .FIXUP D
021Dt(8D000004): LDR SB, MT, MOD0 [GraphTool]
021Et(40D80000): ADD R0, SB, 0H [data]
021Ft .FIXUP D
021Ft(8D200002): LDR SB, MT, MOD2 [Texts]
0220t(41D80005): ADD R1, SB, VAR5
0221u(82E00010): LDR R2, SP, 10H
0222u(42210010): LSL R2, R2, 10H
0223v(42220010): ASR R2, R2, 10H
0224w(43000005): MOV R3, R0, 5H
0225x .FIXUP P
0225x(F721E009): BL MOD2 [Texts] PROC30
0226y .FIXUP D
0226y(8D000007): LDR SB, MT, MOD0 [GraphTool]
0227y(40D80000): ADD R0, SB, 0H [data]
0228y .FIXUP D
0228y(8D200002): LDR SB, MT, MOD2 [Texts]
0229y(41D80005): ADD R1, SB, VAR5
022Az(82E00010): LDR R2, SP, 10H
022Bz(42220010): ASR R2, R2, 10H
022Ca(43000005): MOV R3, R0, 5H
022Db .FIXUP P
022Db(F721E008): BL MOD2 [Texts] PROC30
Files.ReadInt(R,c wh)d;e
022Ec(40E8003C): ADD R0, SP, 3CH
022Fc .FIXUP D
022Fc(8D100007): LDR SB, MT, MOD1 [Files]
0230c(41D80001): ADD R1, SB, VAR1
0231d(42E80014): ADD R2, SP, 14H
0232e .FIXUP P
0232e(F7111005): BL MOD1 [Files] PROC17
Texts.WriteInt(W,f wh * 10000H DIVg 10000H,h 5)i;j Texts.WriteInt(W,k wh DIV 10000H,l 5)m;n
0233f .FIXUP D
0233f(8D000004): LDR SB, MT, MOD0 [GraphTool]
0234f(40D80000): ADD R0, SB, 0H [data]
0235f .FIXUP D
0235f(8D200002): LDR SB, MT, MOD2 [Texts]
0236f(41D80005): ADD R1, SB, VAR5
0237g(82E00014): LDR R2, SP, 14H
0238g(42210010): LSL R2, R2, 10H
0239h(42220010): ASR R2, R2, 10H
023Ai(43000005): MOV R3, R0, 5H
023Bj .FIXUP P
023Bj(F721E009): BL MOD2 [Texts] PROC30
023Ck .FIXUP D
023Ck(8D000007): LDR SB, MT, MOD0 [GraphTool]
023Dk(40D80000): ADD R0, SB, 0H [data]
023Ek .FIXUP D
023Ek(8D200002): LDR SB, MT, MOD2 [Texts]
023Fk(41D80005): ADD R1, SB, VAR5
0240l(82E00014): LDR R2, SP, 14H
0241l(42220010): ASR R2, R2, 10H
0242m(43000005): MOV R3, R0, 5H
0243n .FIXUP P
0243n(F721E008): BL MOD2 [Texts] PROC30
Files.ReadByte(R,o col)p;q Texts.WriteInt(W,r col,s 5)t;u Texts.Write(W,v "|")w;x
0244o(40E8003C): ADD R0, SP, 3CH
0245o .FIXUP D
0245o(8D100007): LDR SB, MT, MOD1 [Files]
0246o(41D80001): ADD R1, SB, VAR1
0247p(42E80006): ADD R2, SP, 6H
0248q .FIXUP P
0248q(F710E005): BL MOD1 [Files] PROC14
0249r .FIXUP D
0249r(8D000004): LDR SB, MT, MOD0 [GraphTool]
024Ar(40D80000): ADD R0, SB, 0H [data]
024Br .FIXUP D
024Br(8D200002): LDR SB, MT, MOD2 [Texts]
024Cr(41D80005): ADD R1, SB, VAR5
024Ds(92E00006): LDR R2, SP, 6H
024Et(43000005): MOV R3, R0, 5H
024Fu .FIXUP P
024Fu(F721E007): BL MOD2 [Texts] PROC30
0250v .FIXUP D
0250v(8D000005): LDR SB, MT, MOD0 [GraphTool]
0251v(40D80000): ADD R0, SB, 0H [data]
0252v .FIXUP D
0252v(8D200002): LDR SB, MT, MOD2 [Texts]
0253v(41D80005): ADD R1, SB, VAR5
0254w(4200007C): MOV R2, R0, 7CH
0255x .FIXUP P
0255x(F721B006): BL MOD2 [Texts] PROC27
IF class = Line THENy
0256y(90E00005): LDR R0, SP, 5H
0257y(40090001): SUB R0, R0, 1H
0258y(E9000001): BNE 1 [025AH]
ELSIF classz = Caption THENa
0259z(E700007D): B 125 [02D7H]
025Aa(90E00005): LDR R0, SP, 5H
025Ba(40090002): SUB R0, R0, 2H
025Ca(E9000020): BNE 32 [027DH]
Files.ReadByte(R,b fno)c;d Texts.WriteInt(W,e fno,f 5)g;h Texts.Write(W,i " ")j;k
025Db(40E8003C): ADD R0, SP, 3CH
025Eb .FIXUP D
025Eb(8D10000C): LDR SB, MT, MOD1 [Files]
025Fb(41D80001): ADD R1, SB, VAR1
0260c(42E80007): ADD R2, SP, 7H
0261d .FIXUP P
0261d(F710E00C): BL MOD1 [Files] PROC14
0262e .FIXUP D
0262e(8D000004): LDR SB, MT, MOD0 [GraphTool]
0263e(40D80000): ADD R0, SB, 0H [data]
0264e .FIXUP D
0264e(8D200002): LDR SB, MT, MOD2 [Texts]
0265e(41D80005): ADD R1, SB, VAR5
0266f(92E00007): LDR R2, SP, 7H
0267g(43000005): MOV R3, R0, 5H
0268h .FIXUP P
0268h(F721E007): BL MOD2 [Texts] PROC30
0269i .FIXUP D
0269i(8D000005): LDR SB, MT, MOD0 [GraphTool]
026Ai(40D80000): ADD R0, SB, 0H [data]
026Bi .FIXUP D
026Bi(8D200002): LDR SB, MT, MOD2 [Texts]
026Ci(41D80005): ADD R1, SB, VAR5
026Dj(42000020): MOV R2, R0, 20H
026Ek .FIXUP P
026Ek(F721B006): BL MOD2 [Texts] PROC27
Files.ReadString(R,l name)m;n Texts.WriteString(W,o name)p
026Fl(40E8003C): ADD R0, SP, 3CH
0270l .FIXUP D
0270l(8D100005): LDR SB, MT, MOD1 [Files]
0271l(41D80001): ADD R1, SB, VAR1
0272m(42E80018): ADD R2, SP, 18H
0273m(43000020): MOV R3, R0, 20H
0274n .FIXUP P
0274n(F7114006): BL MOD1 [Files] PROC20
0275o .FIXUP D
0275o(8D000005): LDR SB, MT, MOD0 [GraphTool]
0276o(40D80000): ADD R0, SB, 0H [data]
0277o .FIXUP D
0277o(8D200002): LDR SB, MT, MOD2 [Texts]
0278o(41D80005): ADD R1, SB, VAR5
0279p(42E80018): ADD R2, SP, 18H
027Ap(43000020): MOV R3, R0, 20H
ELSIFq classr = Macro THENs
027Bq .FIXUP P
027Bq(F721D007): BL MOD2 [Texts] PROC29
027Cr(E700005A): B 90 [02D7H]
027Ds(90E00005): LDR R0, SP, 5H
027Es(40090003): SUB R0, R0, 3H
027Fs(E9000020): BNE 32 [02A0H]
Files.ReadByte(R,t libno)u;v Files.ReadString(R,w name)x;y
0280t(40E8003C): ADD R0, SP, 3CH
0281t .FIXUP D
0281t(8D10000A): LDR SB, MT, MOD1 [Files]
0282t(41D80001): ADD R1, SB, VAR1
0283u(42E8000D): ADD R2, SP, DH
0284v .FIXUP P
0284v(F710E009): BL MOD1 [Files] PROC14
0285w(40E8003C): ADD R0, SP, 3CH
0286w .FIXUP D
0286w(8D100005): LDR SB, MT, MOD1 [Files]
0287w(41D80001): ADD R1, SB, VAR1
0288x(42E80018): ADD R2, SP, 18H
0289x(43000020): MOV R3, R0, 20H
028Ay .FIXUP P
028Ay(F7114006): BL MOD1 [Files] PROC20
Texts.WriteInt(W,z libno,a 4)b;c Texts.Write(W,d " ")e;f Texts.WriteString(W,g name)h
028Bz .FIXUP D
028Bz(8D000005): LDR SB, MT, MOD0 [GraphTool]
028Cz(40D80000): ADD R0, SB, 0H [data]
028Dz .FIXUP D
028Dz(8D200002): LDR SB, MT, MOD2 [Texts]
028Ez(41D80005): ADD R1, SB, VAR5
028Fa(92E0000D): LDR R2, SP, DH
0290b(43000004): MOV R3, R0, 4H
0291c .FIXUP P
0291c(F721E007): BL MOD2 [Texts] PROC30
0292d .FIXUP D
0292d(8D000005): LDR SB, MT, MOD0 [GraphTool]
0293d(40D80000): ADD R0, SB, 0H [data]
0294d .FIXUP D
0294d(8D200002): LDR SB, MT, MOD2 [Texts]
0295d(41D80005): ADD R1, SB, VAR5
0296e(42000020): MOV R2, R0, 20H
0297f .FIXUP P
0297f(F721B006): BL MOD2 [Texts] PROC27
0298g .FIXUP D
0298g(8D000004): LDR SB, MT, MOD0 [GraphTool]
0299g(40D80000): ADD R0, SB, 0H [data]
029Ag .FIXUP D
029Ag(8D200002): LDR SB, MT, MOD2 [Texts]
029Bg(41D80005): ADD R1, SB, VAR5
029Ch(42E80018): ADD R2, SP, 18H
029Dh(43000020): MOV R3, R0, 20H
ELSIFi classj = Rectangles THENk
029Ei .FIXUP P
029Ei(F721D007): BL MOD2 [Texts] PROC29
029Fj(E7000037): B 55 [02D7H]
02A0k(90E00005): LDR R0, SP, 5H
02A1k(40090004): SUB R0, R0, 4H
02A2k(E9000025): BNE 37 [02C8H]
Files.ReadByte(R,l len)m;n Texts.WriteInt(W,o len,p 4)q;r
02A3l(40E8003C): ADD R0, SP, 3CH
02A4l .FIXUP D
02A4l(8D10000A): LDR SB, MT, MOD1 [Files]
02A5l(41D80001): ADD R1, SB, VAR1
02A6m(42E80008): ADD R2, SP, 8H
02A7n .FIXUP P
02A7n(F710E009): BL MOD1 [Files] PROC14
02A8o .FIXUP D
02A8o(8D000004): LDR SB, MT, MOD0 [GraphTool]
02A9o(40D80000): ADD R0, SB, 0H [data]
02AAo .FIXUP D
02AAo(8D200002): LDR SB, MT, MOD2 [Texts]
02ABo(41D80005): ADD R1, SB, VAR5
02ACp(92E00008): LDR R2, SP, 8H
02ADq(43000004): MOV R3, R0, 4H
02AEr .FIXUP P
02AEr(F721E007): BL MOD2 [Texts] PROC30
Files.ReadByte(R,s lw)t;u Texts.WriteInt(W,v lw,w 4)x;y
02AFs(40E8003C): ADD R0, SP, 3CH
02B0s .FIXUP D
02B0s(8D100006): LDR SB, MT, MOD1 [Files]
02B1s(41D80001): ADD R1, SB, VAR1
02B2t(42E80009): ADD R2, SP, 9H
02B3u .FIXUP P
02B3u(F710E005): BL MOD1 [Files] PROC14
02B4v .FIXUP D
02B4v(8D000004): LDR SB, MT, MOD0 [GraphTool]
02B5v(40D80000): ADD R0, SB, 0H [data]
02B6v .FIXUP D
02B6v(8D200002): LDR SB, MT, MOD2 [Texts]
02B7v(41D80005): ADD R1, SB, VAR5
02B8w(92E00009): LDR R2, SP, 9H
02B9x(43000004): MOV R3, R0, 4H
02BAy .FIXUP P
02BAy(F721E007): BL MOD2 [Texts] PROC30
Files.ReadByte(R,z vers)a;b Texts.WriteInt(W,c vers,d 4)e
02BBz(40E8003C): ADD R0, SP, 3CH
02BCz .FIXUP D
02BCz(8D100006): LDR SB, MT, MOD1 [Files]
02BDz(41D80001): ADD R1, SB, VAR1
02BEa(42E8000A): ADD R2, SP, AH
02BFb .FIXUP P
02BFb(F710E005): BL MOD1 [Files] PROC14
02C0c .FIXUP D
02C0c(8D000004): LDR SB, MT, MOD0 [GraphTool]
02C1c(40D80000): ADD R0, SB, 0H [data]
02C2c .FIXUP D
02C2c(8D200002): LDR SB, MT, MOD2 [Texts]
02C3c(41D80005): ADD R1, SB, VAR5
02C4d(92E0000A): LDR R2, SP, AH
02C5e(43000004): MOV R3, R0, 4H
ELSEf Textsg.WriteString(W,h "other class =")i;j Texts.WriteInt(W,k class,l 4)m
02C6f .FIXUP P
02C6f(F721E007): BL MOD2 [Texts] PROC30
02C7g(E700000F): B 15 [02D7H]
02C8h .FIXUP D
02C8h(8D000006): LDR SB, MT, MOD0 [GraphTool]
02C9h(40D80000): ADD R0, SB, 0H [data]
02CAh .FIXUP D
02CAh(8D200002): LDR SB, MT, MOD2 [Texts]
02CBh(41D80005): ADD R1, SB, VAR5
02CCi .FIXUP D
02CCi(8D000002): LDR SB, MT, MOD0 [GraphTool]
02CDi(42D8006C): ADD R2, SB, 6CH ["other class ="]
02CEi(4300000E): MOV R3, R0, EH
02CFj .FIXUP P
02CFj(F721D009): BL MOD2 [Texts] PROC29
02D0k .FIXUP D
02D0k(8D000004): LDR SB, MT, MOD0 [GraphTool]
02D1k(40D80000): ADD R0, SB, 0H [data]
02D2k .FIXUP D
02D2k(8D200002): LDR SB, MT, MOD2 [Texts]
02D3k(41D80005): ADD R1, SB, VAR5
02D4l(92E00005): LDR R2, SP, 5H
02D5m(43000004): MOV R3, R0, 4H
ENDn
02D6n .FIXUP P
02D6n(F721E007): BL MOD2 [Texts] PROC30
END ;
Texts.WriteLn(W)o;p Files.ReadByte(R,q class)r
02D7o .FIXUP D
02D7o(8D000005): LDR SB, MT, MOD0 [GraphTool]
02D8o(40D80000): ADD R0, SB, 0H [data]
02D9o .FIXUP D
02D9o(8D200002): LDR SB, MT, MOD2 [Texts]
02DAo(41D80005): ADD R1, SB, VAR5
02DBp .FIXUP P
02DBp(F721C005): BL MOD2 [Texts] PROC28
02DCq(40E8003C): ADD R0, SP, 3CH
02DDq .FIXUP D
02DDq(8D100004): LDR SB, MT, MOD1 [Files]
02DEq(41D80001): ADD R1, SB, VAR1
02DFr(42E80005): ADD R2, SP, 5H
ENDs
02E0s .FIXUP P
02E0s(F710E005): BL MOD1 [Files] PROC14
02E1s(E7FFFEE6): B -282 [01C8H]
ELSE Textst.WriteString(W,u " not a graphics file")v
02E2t(E7000008): B 8 [02EBH]
02E3u .FIXUP D
02E3u(8D000006): LDR SB, MT, MOD0 [GraphTool]
02E4u(40D80000): ADD R0, SB, 0H [data]
02E5u .FIXUP D
02E5u(8D200002): LDR SB, MT, MOD2 [Texts]
02E6u(41D80005): ADD R1, SB, VAR5
02E7v .FIXUP D
02E7v(8D000002): LDR SB, MT, MOD0 [GraphTool]
02E8v(42D8007C): ADD R2, SB, 7CH [" not a graphics file"]
02E9v(43000015): MOV R3, R0, 15H
ENDw
02EAw .FIXUP P
02EAw(F721D00A): BL MOD2 [Texts] PROC29
ELSE Textsx.WriteString(W,y " not found")z
02EBx(E7000008): B 8 [02F4H]
02ECy .FIXUP D
02ECy(8D000005): LDR SB, MT, MOD0 [GraphTool]
02EDy(40D80000): ADD R0, SB, 0H [data]
02EEy .FIXUP D
02EEy(8D200002): LDR SB, MT, MOD2 [Texts]
02EFy(41D80005): ADD R1, SB, VAR5
02F0z .FIXUP D
02F0z(8D000002): LDR SB, MT, MOD0 [GraphTool]
02F1z(42D80094): ADD R2, SB, 94H [" not found"]
02F2z(4300000B): MOV R3, R0, BH
ENDa ;
02F3a .FIXUP P
02F3a(F721D009): BL MOD2 [Texts] PROC29
Texts.WriteLn(W)b;c Texts.Append(Oberon.Log,d W.buf)e
02F4b .FIXUP D
02F4b(8D000004): LDR SB, MT, MOD0 [GraphTool]
02F5b(40D80000): ADD R0, SB, 0H [data]
02F6b .FIXUP D
02F6b(8D200002): LDR SB, MT, MOD2 [Texts]
02F7b(41D80005): ADD R1, SB, VAR5
02F8c .FIXUP P
02F8c(F721C005): BL MOD2 [Texts] PROC28
02F9d .FIXUP D
02F9d(8D400003): LDR SB, MT, MOD4 [Oberon]
02FAd(80D0000D): LDR R0, SB, VAR13
02FBe .FIXUP D
02FBe(8D000002): LDR SB, MT, MOD0 [GraphTool]
02FCe(81D00000): LDR R1, SB, 0H [data]
ENDf
02FDf .FIXUP P
02FDf(F720E005): BL MOD2 [Texts] PROC14
ENDg DecGraph1;
02FEg(8FE00000): LDR LNK, SP, 0H
02FFg(4EE800C8): ADD SP, SP, C8H
0300g(C700000F): B LNK
PROCEDURE DecLibrary1*;
VAR ch: CHAR;
class, col, fno, cat, inx, libno, len, lnw, vers: BYTE;
xy, wh: INTEGER;
name: ARRAY 32 OF CHAR;
F: Files.File; R: Files.Rider;
S: Texts.Scanner;
BEGINh Texts.OpenScanner(S,i Oberon.Par.text,j Oberon.Par.pos)k;l Texts.Scan(S)m;n
0301h .PROC 3
0301h .COMMAND DecLibrary1
0301h(4EE900C8): SUB SP, SP, C8H
0302h(AFE00000): STR LNK, SP, 0H
0303i(40E80054): ADD R0, SP, 54H
0304i .FIXUP D
0304i(8D200009): LDR SB, MT, MOD2 [Texts]
0305i(41D80003): ADD R1, SB, VAR3
0306j .FIXUP D
0306j(8D400002): LDR SB, MT, MOD4 [Oberon]
0307j(42D8000E): ADD R2, SB, VAR14
0308j(82200008): LDR R2, R2, 8H
0309k .FIXUP D
0309k(8D400003): LDR SB, MT, MOD4 [Oberon]
030Ak(43D8000E): ADD R3, SB, VAR14
030Bk(8330000C): LDR R3, R3, CH
030Cl .FIXUP P
030Cl(F721500F): BL MOD2 [Texts] PROC21
030Dm(40E80054): ADD R0, SP, 54H
030Em .FIXUP D
030Em(8D200005): LDR SB, MT, MOD2 [Texts]
030Fm(41D80003): ADD R1, SB, VAR3
0310n .FIXUP P
0310n(F7216004): BL MOD2 [Texts] PROC22
IF S.class = Texts.Name THENo
0311o(80E00090): LDR R0, SP, 90H
0312o(40090001): SUB R0, R0, 1H
0313o(E900018E): BNE 398 [04A2H]
Texts.WriteString(W,p "decode library1 ")q;r Texts.WriteString(W,s S.s)t;u
0314p .FIXUP D
0314p(8D000006): LDR SB, MT, MOD0 [GraphTool]
0315p(40D80000): ADD R0, SB, 0H [data]
0316p .FIXUP D
0316p(8D200002): LDR SB, MT, MOD2 [Texts]
0317p(41D80005): ADD R1, SB, VAR5
0318q .FIXUP D
0318q(8D000002): LDR SB, MT, MOD0 [GraphTool]
0319q(42D800A0): ADD R2, SB, A0H ["decode library1 "]
031Aq(43000011): MOV R3, R0, 11H
031Br .FIXUP P
031Br(F721D00B): BL MOD2 [Texts] PROC29
031Cs .FIXUP D
031Cs(8D000004): LDR SB, MT, MOD0 [GraphTool]
031Ds(40D80000): ADD R0, SB, 0H [data]
031Es .FIXUP D
031Es(8D200002): LDR SB, MT, MOD2 [Texts]
031Fs(41D80005): ADD R1, SB, VAR5
0320t(42E800A8): ADD R2, SP, A8H
0321t(43000020): MOV R3, R0, 20H
0322u .FIXUP P
0322u(F721D007): BL MOD2 [Texts] PROC29
Texts.WriteLn(W)v;w Texts.Append(Oberon.Log,x W.buf)y;z
0323v .FIXUP D
0323v(8D000005): LDR SB, MT, MOD0 [GraphTool]
0324v(40D80000): ADD R0, SB, 0H [data]
0325v .FIXUP D
0325v(8D200002): LDR SB, MT, MOD2 [Texts]
0326v(41D80005): ADD R1, SB, VAR5
0327w .FIXUP P
0327w(F721C005): BL MOD2 [Texts] PROC28
0328x .FIXUP D
0328x(8D400003): LDR SB, MT, MOD4 [Oberon]
0329x(80D0000D): LDR R0, SB, VAR13
032Ay .FIXUP D
032Ay(8D000002): LDR SB, MT, MOD0 [GraphTool]
032By(81D00000): LDR R1, SB, 0H [data]
032Cz .FIXUP P
032Cz(F720E005): BL MOD2 [Texts] PROC14
F := Files.Old(S.s)a;b
032Da(40E800A8): ADD R0, SP, A8H
032Ea(41000020): MOV R1, R0, 20H
032Fb .FIXUP P
032Fb(F7102003): BL MOD1 [Files] PROC2
0330b(A0E00038): STR R0, SP, 38H
IF F # NIL THENc
0331c(80E00038): LDR R0, SP, 38H
0332c(E100015D): BEQ 349 [0490H]
Files.Set(R,d F,e 0)f;g Files.Read(R,h ch)i;j
0333d(40E8003C): ADD R0, SP, 3CH
0334d .FIXUP D
0334d(8D10000A): LDR SB, MT, MOD1 [Files]
0335d(41D80001): ADD R1, SB, VAR1
0336e(82E00038): LDR R2, SP, 38H
0337f(43000000): MOV R3, R0, 0H
0338g .FIXUP P
0338g(F710B009): BL MOD1 [Files] PROC11
0339h(40E8003C): ADD R0, SP, 3CH
033Ah .FIXUP D
033Ah(8D100006): LDR SB, MT, MOD1 [Files]
033Bh(41D80001): ADD R1, SB, VAR1
033Ci(42E80004): ADD R2, SP, 4H
033Dj .FIXUP P
033Dj(F7110005): BL MOD1 [Files] PROC16
IF ch = 0FBX THENk
033Ek(90E00004): LDR R0, SP, 4H
033Fk(400900FB): SUB R0, R0, FBH
0340k(E9000146): BNE 326 [0487H]
Files.ReadByte(R,l class)m;n
0341l(40E8003C): ADD R0, SP, 3CH
0342l .FIXUP D
0342l(8D100008): LDR SB, MT, MOD1 [Files]
0343l(41D80001): ADD R1, SB, VAR1
0344m(42E80005): ADD R2, SP, 5H
0345n .FIXUP P
0345n(F710E008): BL MOD1 [Files] PROC14
WHILE (class < 255)o & ~pR.eof DOq
0346o(90E00005): LDR R0, SP, 5H
0347o(400900FF): SUB R0, R0, FFH
0348p(ED00013D): BGE 317 [0486H]
0349q(90E0003C): LDR R0, SP, 3CH
034Aq(E900013B): BNE 315 [0486H]
WHILE class < 255 DOr
034Br(90E00005): LDR R0, SP, 5H
034Cr(400900FF): SUB R0, R0, FFH
034Dr(ED0000F8): BGE 248 [0446H]
Texts.WriteInt(W,s class,t 4)u;v
034Es .FIXUP D
034Es(8D00000C): LDR SB, MT, MOD0 [GraphTool]
034Fs(40D80000): ADD R0, SB, 0H [data]
0350s .FIXUP D
0350s(8D200002): LDR SB, MT, MOD2 [Texts]
0351s(41D80005): ADD R1, SB, VAR5
0352t(92E00005): LDR R2, SP, 5H
0353u(43000004): MOV R3, R0, 4H
0354v .FIXUP P
0354v(F721E00F): BL MOD2 [Texts] PROC30
IF class = Context THENw
0355w(90E00005): LDR R0, SP, 5H
0356w(E9000042): BNE 66 [0399H]
Files.ReadByte(R,x cat)y;z Files.ReadByte(R,a inx)b;c Texts.WriteInt(W,d cat,e 4)f;g Texts.WriteInt(W,h inx,i 4)j;k
0357x(40E8003C): ADD R0, SP, 3CH
0358x .FIXUP D
0358x(8D100008): LDR SB, MT, MOD1 [Files]
0359x(41D80001): ADD R1, SB, VAR1
035Ay(42E80008): ADD R2, SP, 8H
035Bz .FIXUP P
035Bz(F710E007): BL MOD1 [Files] PROC14
035Ca(40E8003C): ADD R0, SP, 3CH
035Da .FIXUP D
035Da(8D100005): LDR SB, MT, MOD1 [Files]
035Ea(41D80001): ADD R1, SB, VAR1
035Fb(42E80009): ADD R2, SP, 9H
0360c .FIXUP P
0360c(F710E005): BL MOD1 [Files] PROC14
0361d .FIXUP D
0361d(8D000004): LDR SB, MT, MOD0 [GraphTool]
0362d(40D80000): ADD R0, SB, 0H [data]
0363d .FIXUP D
0363d(8D200002): LDR SB, MT, MOD2 [Texts]
0364d(41D80005): ADD R1, SB, VAR5
0365e(92E00008): LDR R2, SP, 8H
0366f(43000004): MOV R3, R0, 4H
0367g .FIXUP P
0367g(F721E007): BL MOD2 [Texts] PROC30
0368h .FIXUP D
0368h(8D000005): LDR SB, MT, MOD0 [GraphTool]
0369h(40D80000): ADD R0, SB, 0H [data]
036Ah .FIXUP D
036Ah(8D200002): LDR SB, MT, MOD2 [Texts]
036Bh(41D80005): ADD R1, SB, VAR5
036Ci(92E00009): LDR R2, SP, 9H
036Dj(43000004): MOV R3, R0, 4H
036Ek .FIXUP P
036Ek(F721E007): BL MOD2 [Texts] PROC30
Files.ReadString(R,l name)m;n Texts.Write(W,o " ")p;q Texts.WriteString(W,r name)s;t
036Fl(40E8003C): ADD R0, SP, 3CH
0370l .FIXUP D
0370l(8D100006): LDR SB, MT, MOD1 [Files]
0371l(41D80001): ADD R1, SB, VAR1
0372m(42E80018): ADD R2, SP, 18H
0373m(43000020): MOV R3, R0, 20H
0374n .FIXUP P
0374n(F7114006): BL MOD1 [Files] PROC20
0375o .FIXUP D
0375o(8D000005): LDR SB, MT, MOD0 [GraphTool]
0376o(40D80000): ADD R0, SB, 0H [data]
0377o .FIXUP D
0377o(8D200002): LDR SB, MT, MOD2 [Texts]
0378o(41D80005): ADD R1, SB, VAR5
0379p(42000020): MOV R2, R0, 20H
037Aq .FIXUP P
037Aq(F721B006): BL MOD2 [Texts] PROC27
037Br .FIXUP D
037Br(8D000004): LDR SB, MT, MOD0 [GraphTool]
037Cr(40D80000): ADD R0, SB, 0H [data]
037Dr .FIXUP D
037Dr(8D200002): LDR SB, MT, MOD2 [Texts]
037Er(41D80005): ADD R1, SB, VAR5
037Fs(42E80018): ADD R2, SP, 18H
0380s(43000020): MOV R3, R0, 20H
0381t .FIXUP P
0381t(F721D007): BL MOD2 [Texts] PROC29
IF cat = 2 THENu Files.ReadString(R,v name)w;x Texts.Write(W,y " ")z;a Texts.WriteString(W,b name)c ENDd
0382u(90E00008): LDR R0, SP, 8H
0383u(40090002): SUB R0, R0, 2H
0384u(E9000013): BNE 19 [0398H]
0385v(40E8003C): ADD R0, SP, 3CH
0386v .FIXUP D
0386v(8D100009): LDR SB, MT, MOD1 [Files]
0387v(41D80001): ADD R1, SB, VAR1
0388w(42E80018): ADD R2, SP, 18H
0389w(43000020): MOV R3, R0, 20H
038Ax .FIXUP P
038Ax(F7114009): BL MOD1 [Files] PROC20
038By .FIXUP D
038By(8D000005): LDR SB, MT, MOD0 [GraphTool]
038Cy(40D80000): ADD R0, SB, 0H [data]
038Dy .FIXUP D
038Dy(8D200002): LDR SB, MT, MOD2 [Texts]
038Ey(41D80005): ADD R1, SB, VAR5
038Fz(42000020): MOV R2, R0, 20H
0390a .FIXUP P
0390a(F721B006): BL MOD2 [Texts] PROC27
0391b .FIXUP D
0391b(8D000004): LDR SB, MT, MOD0 [GraphTool]
0392b(40D80000): ADD R0, SB, 0H [data]
0393b .FIXUP D
0393b(8D200002): LDR SB, MT, MOD2 [Texts]
0394b(41D80005): ADD R1, SB, VAR5
0395c(42E80018): ADD R2, SP, 18H
0396c(43000020): MOV R3, R0, 20H
0397d .FIXUP P
0397d(F721D007): BL MOD2 [Texts] PROC29
ELSE Filese.ReadInt(R,f xy)g;h
0398e(E70000A2): B 162 [043BH]
0399f(40E8003C): ADD R0, SP, 3CH
039Af .FIXUP D
039Af(8D100007): LDR SB, MT, MOD1 [Files]
039Bf(41D80001): ADD R1, SB, VAR1
039Cg(42E80010): ADD R2, SP, 10H
039Dh .FIXUP P
039Dh(F7111006): BL MOD1 [Files] PROC17
Texts.WriteInt(W,i xy * 10000H DIVj 10000H,k 5)l;m Texts.WriteInt(W,n xy DIV 10000H,o 5)p;q
039Ei .FIXUP D
039Ei(8D000004): LDR SB, MT, MOD0 [GraphTool]
039Fi(40D80000): ADD R0, SB, 0H [data]
03A0i .FIXUP D
03A0i(8D200002): LDR SB, MT, MOD2 [Texts]
03A1i(41D80005): ADD R1, SB, VAR5
03A2j(82E00010): LDR R2, SP, 10H
03A3j(42210010): LSL R2, R2, 10H
03A4k(42220010): ASR R2, R2, 10H
03A5l(43000005): MOV R3, R0, 5H
03A6m .FIXUP P
03A6m(F721E009): BL MOD2 [Texts] PROC30
03A7n .FIXUP D
03A7n(8D000007): LDR SB, MT, MOD0 [GraphTool]
03A8n(40D80000): ADD R0, SB, 0H [data]
03A9n .FIXUP D
03A9n(8D200002): LDR SB, MT, MOD2 [Texts]
03AAn(41D80005): ADD R1, SB, VAR5
03ABo(82E00010): LDR R2, SP, 10H
03ACo(42220010): ASR R2, R2, 10H
03ADp(43000005): MOV R3, R0, 5H
03AEq .FIXUP P
03AEq(F721E008): BL MOD2 [Texts] PROC30
Files.ReadInt(R,r wh)s;t
03AFr(40E8003C): ADD R0, SP, 3CH
03B0r .FIXUP D
03B0r(8D100007): LDR SB, MT, MOD1 [Files]
03B1r(41D80001): ADD R1, SB, VAR1
03B2s(42E80014): ADD R2, SP, 14H
03B3t .FIXUP P
03B3t(F7111005): BL MOD1 [Files] PROC17
Texts.WriteInt(W,u wh * 10000H DIVv 10000H,w 5)x;y Texts.WriteInt(W,z wh DIV 10000H,a 5)b;c
03B4u .FIXUP D
03B4u(8D000004): LDR SB, MT, MOD0 [GraphTool]
03B5u(40D80000): ADD R0, SB, 0H [data]
03B6u .FIXUP D
03B6u(8D200002): LDR SB, MT, MOD2 [Texts]
03B7u(41D80005): ADD R1, SB, VAR5
03B8v(82E00014): LDR R2, SP, 14H
03B9v(42210010): LSL R2, R2, 10H
03BAw(42220010): ASR R2, R2, 10H
03BBx(43000005): MOV R3, R0, 5H
03BCy .FIXUP P
03BCy(F721E009): BL MOD2 [Texts] PROC30
03BDz .FIXUP D
03BDz(8D000007): LDR SB, MT, MOD0 [GraphTool]
03BEz(40D80000): ADD R0, SB, 0H [data]
03BFz .FIXUP D
03BFz(8D200002): LDR SB, MT, MOD2 [Texts]
03C0z(41D80005): ADD R1, SB, VAR5
03C1a(82E00014): LDR R2, SP, 14H
03C2a(42220010): ASR R2, R2, 10H
03C3b(43000005): MOV R3, R0, 5H
03C4c .FIXUP P
03C4c(F721E008): BL MOD2 [Texts] PROC30
Files.ReadByte(R,d col)e;f Texts.WriteInt(W,g col,h 5)i;j
03C5d(40E8003C): ADD R0, SP, 3CH
03C6d .FIXUP D
03C6d(8D100007): LDR SB, MT, MOD1 [Files]
03C7d(41D80001): ADD R1, SB, VAR1
03C8e(42E80006): ADD R2, SP, 6H
03C9f .FIXUP P
03C9f(F710E005): BL MOD1 [Files] PROC14
03CAg .FIXUP D
03CAg(8D000004): LDR SB, MT, MOD0 [GraphTool]
03CBg(40D80000): ADD R0, SB, 0H [data]
03CCg .FIXUP D
03CCg(8D200002): LDR SB, MT, MOD2 [Texts]
03CDg(41D80005): ADD R1, SB, VAR5
03CEh(92E00006): LDR R2, SP, 6H
03CFi(43000005): MOV R3, R0, 5H
03D0j .FIXUP P
03D0j(F721E007): BL MOD2 [Texts] PROC30
IF class = Line THENk
03D1k(90E00005): LDR R0, SP, 5H
03D2k(40090001): SUB R0, R0, 1H
03D3k(E9000001): BNE 1 [03D5H]
ELSIF classl = Caption THENm
03D4l(E7000066): B 102 [043BH]
03D5m(90E00005): LDR R0, SP, 5H
03D6m(40090002): SUB R0, R0, 2H
03D7m(E9000026): BNE 38 [03FEH]
Texts.Write(W,n "|")o;p Files.ReadByte(R,q fno)r;s Texts.WriteInt(W,t fno,u 5)v;w Texts.Write(W,x " ")y;z
03D8n .FIXUP D
03D8n(8D00000C): LDR SB, MT, MOD0 [GraphTool]
03D9n(40D80000): ADD R0, SB, 0H [data]
03DAn .FIXUP D
03DAn(8D200002): LDR SB, MT, MOD2 [Texts]
03DBn(41D80005): ADD R1, SB, VAR5
03DCo(4200007C): MOV R2, R0, 7CH
03DDp .FIXUP P
03DDp(F721B00D): BL MOD2 [Texts] PROC27
03DEq(40E8003C): ADD R0, SP, 3CH
03DFq .FIXUP D
03DFq(8D100005): LDR SB, MT, MOD1 [Files]
03E0q(41D80001): ADD R1, SB, VAR1
03E1r(42E80007): ADD R2, SP, 7H
03E2s .FIXUP P
03E2s(F710E005): BL MOD1 [Files] PROC14
03E3t .FIXUP D
03E3t(8D000004): LDR SB, MT, MOD0 [GraphTool]
03E4t(40D80000): ADD R0, SB, 0H [data]
03E5t .FIXUP D
03E5t(8D200002): LDR SB, MT, MOD2 [Texts]
03E6t(41D80005): ADD R1, SB, VAR5
03E7u(92E00007): LDR R2, SP, 7H
03E8v(43000005): MOV R3, R0, 5H
03E9w .FIXUP P
03E9w(F721E007): BL MOD2 [Texts] PROC30
03EAx .FIXUP D
03EAx(8D000005): LDR SB, MT, MOD0 [GraphTool]
03EBx(40D80000): ADD R0, SB, 0H [data]
03ECx .FIXUP D
03ECx(8D200002): LDR SB, MT, MOD2 [Texts]
03EDx(41D80005): ADD R1, SB, VAR5
03EEy(42000020): MOV R2, R0, 20H
03EFz .FIXUP P
03EFz(F721B006): BL MOD2 [Texts] PROC27
Files.ReadString(R,a name)b;c Texts.WriteString(W,d name)e
03F0a(40E8003C): ADD R0, SP, 3CH
03F1a .FIXUP D
03F1a(8D100005): LDR SB, MT, MOD1 [Files]
03F2a(41D80001): ADD R1, SB, VAR1
03F3b(42E80018): ADD R2, SP, 18H
03F4b(43000020): MOV R3, R0, 20H
03F5c .FIXUP P
03F5c(F7114006): BL MOD1 [Files] PROC20
03F6d .FIXUP D
03F6d(8D000005): LDR SB, MT, MOD0 [GraphTool]
03F7d(40D80000): ADD R0, SB, 0H [data]
03F8d .FIXUP D
03F8d(8D200002): LDR SB, MT, MOD2 [Texts]
03F9d(41D80005): ADD R1, SB, VAR5
03FAe(42E80018): ADD R2, SP, 18H
03FBe(43000020): MOV R3, R0, 20H
ELSIFf classg = Rectangles THENh
03FCf .FIXUP P
03FCf(F721D007): BL MOD2 [Texts] PROC29
03FDg(E700003D): B 61 [043BH]
03FEh(90E00005): LDR R0, SP, 5H
03FFh(40090004): SUB R0, R0, 4H
0400h(E900002B): BNE 43 [042CH]
Texts.Write(W,i "|")j;k Files.ReadByte(R,l len)m;n Texts.WriteInt(W,o len,p 4)q;r
0401i .FIXUP D
0401i(8D000009): LDR SB, MT, MOD0 [GraphTool]
0402i(40D80000): ADD R0, SB, 0H [data]
0403i .FIXUP D
0403i(8D200002): LDR SB, MT, MOD2 [Texts]
0404i(41D80005): ADD R1, SB, VAR5
0405j(4200007C): MOV R2, R0, 7CH
0406k .FIXUP P
0406k(F721B00A): BL MOD2 [Texts] PROC27
0407l(40E8003C): ADD R0, SP, 3CH
0408l .FIXUP D
0408l(8D100005): LDR SB, MT, MOD1 [Files]
0409l(41D80001): ADD R1, SB, VAR1
040Am(42E8000B): ADD R2, SP, BH
040Bn .FIXUP P
040Bn(F710E005): BL MOD1 [Files] PROC14
040Co .FIXUP D
040Co(8D000004): LDR SB, MT, MOD0 [GraphTool]
040Do(40D80000): ADD R0, SB, 0H [data]
040Eo .FIXUP D
040Eo(8D200002): LDR SB, MT, MOD2 [Texts]
040Fo(41D80005): ADD R1, SB, VAR5
0410p(92E0000B): LDR R2, SP, BH
0411q(43000004): MOV R3, R0, 4H
0412r .FIXUP P
0412r(F721E007): BL MOD2 [Texts] PROC30
Files.ReadByte(R,s lnw)t;u Texts.WriteInt(W,v lnw,w 4)x;y
0413s(40E8003C): ADD R0, SP, 3CH
0414s .FIXUP D
0414s(8D100006): LDR SB, MT, MOD1 [Files]
0415s(41D80001): ADD R1, SB, VAR1
0416t(42E8000C): ADD R2, SP, CH
0417u .FIXUP P
0417u(F710E005): BL MOD1 [Files] PROC14
0418v .FIXUP D
0418v(8D000004): LDR SB, MT, MOD0 [GraphTool]
0419v(40D80000): ADD R0, SB, 0H [data]
041Av .FIXUP D
041Av(8D200002): LDR SB, MT, MOD2 [Texts]
041Bv(41D80005): ADD R1, SB, VAR5
041Cw(92E0000C): LDR R2, SP, CH
041Dx(43000004): MOV R3, R0, 4H
041Ey .FIXUP P
041Ey(F721E007): BL MOD2 [Texts] PROC30
Files.ReadByte(R,z vers)a;b Texts.WriteInt(W,c vers,d 4)e
041Fz(40E8003C): ADD R0, SP, 3CH
0420z .FIXUP D
0420z(8D100006): LDR SB, MT, MOD1 [Files]
0421z(41D80001): ADD R1, SB, VAR1
0422a(42E8000D): ADD R2, SP, DH
0423b .FIXUP P
0423b(F710E005): BL MOD1 [Files] PROC14
0424c .FIXUP D
0424c(8D000004): LDR SB, MT, MOD0 [GraphTool]
0425c(40D80000): ADD R0, SB, 0H [data]
0426c .FIXUP D
0426c(8D200002): LDR SB, MT, MOD2 [Texts]
0427c(41D80005): ADD R1, SB, VAR5
0428d(92E0000D): LDR R2, SP, DH
0429e(43000004): MOV R3, R0, 4H
ELSEf Textsg.WriteString(W,h "other class =")i;j Texts.WriteInt(W,k class,l 4)m
042Af .FIXUP P
042Af(F721E007): BL MOD2 [Texts] PROC30
042Bg(E700000F): B 15 [043BH]
042Ch .FIXUP D
042Ch(8D000006): LDR SB, MT, MOD0 [GraphTool]
042Dh(40D80000): ADD R0, SB, 0H [data]
042Eh .FIXUP D
042Eh(8D200002): LDR SB, MT, MOD2 [Texts]
042Fh(41D80005): ADD R1, SB, VAR5
0430i .FIXUP D
0430i(8D000002): LDR SB, MT, MOD0 [GraphTool]
0431i(42D800B4): ADD R2, SB, B4H ["other class ="]
0432i(4300000E): MOV R3, R0, EH
0433j .FIXUP P
0433j(F721D009): BL MOD2 [Texts] PROC29
0434k .FIXUP D
0434k(8D000004): LDR SB, MT, MOD0 [GraphTool]
0435k(40D80000): ADD R0, SB, 0H [data]
0436k .FIXUP D
0436k(8D200002): LDR SB, MT, MOD2 [Texts]
0437k(41D80005): ADD R1, SB, VAR5
0438l(92E00005): LDR R2, SP, 5H
0439m(43000004): MOV R3, R0, 4H
ENDn
043An .FIXUP P
043An(F721E007): BL MOD2 [Texts] PROC30
END ;
Texts.WriteLn(W)o;p Files.ReadByte(R,q class)r
043Bo .FIXUP D
043Bo(8D000005): LDR SB, MT, MOD0 [GraphTool]
043Co(40D80000): ADD R0, SB, 0H [data]
043Do .FIXUP D
043Do(8D200002): LDR SB, MT, MOD2 [Texts]
043Eo(41D80005): ADD R1, SB, VAR5
043Fp .FIXUP P
043Fp(F721C005): BL MOD2 [Texts] PROC28
0440q(40E8003C): ADD R0, SP, 3CH
0441q .FIXUP D
0441q(8D100004): LDR SB, MT, MOD1 [Files]
0442q(41D80001): ADD R1, SB, VAR1
0443r(42E80005): ADD R2, SP, 5H
ENDs ;
0444s .FIXUP P
0444s(F710E005): BL MOD1 [Files] PROC14
0445s(E7FFFF05): B -251 [034BH]
(*end macro*) Texts.WriteString(W,t "---")u;v
0446t .FIXUP D
0446t(8D000005): LDR SB, MT, MOD0 [GraphTool]
0447t(40D80000): ADD R0, SB, 0H [data]
0448t .FIXUP D
0448t(8D200002): LDR SB, MT, MOD2 [Texts]
0449t(41D80005): ADD R1, SB, VAR5
044Au .FIXUP D
044Au(8D000002): LDR SB, MT, MOD0 [GraphTool]
044Bu(42D800C4): ADD R2, SB, C4H ["---"]
044Cu(43000004): MOV R3, R0, 4H
044Dv .FIXUP P
044Dv(F721D009): BL MOD2 [Texts] PROC29
Files.ReadInt(R,w wh)x;y Texts.WriteInt(W,z wh MOD 10000H,a 5)b;c Texts.WriteInt(W,d wh DIV 10000H,e 5)f;g
044Ew(40E8003C): ADD R0, SP, 3CH
044Fw .FIXUP D
044Fw(8D100005): LDR SB, MT, MOD1 [Files]
0450w(41D80001): ADD R1, SB, VAR1
0451x(42E80014): ADD R2, SP, 14H
0452y .FIXUP P
0452y(F7111005): BL MOD1 [Files] PROC17
0453z .FIXUP D
0453z(8D000004): LDR SB, MT, MOD0 [GraphTool]
0454z(40D80000): ADD R0, SB, 0H [data]
0455z .FIXUP D
0455z(8D200002): LDR SB, MT, MOD2 [Texts]
0456z(41D80005): ADD R1, SB, VAR5
0457a(82E00014): LDR R2, SP, 14H
0458a(4224FFFF): AND R2, R2, FFFFFFFFH
0459b(43000005): MOV R3, R0, 5H
045Ac .FIXUP P
045Ac(F721E008): BL MOD2 [Texts] PROC30
045Bd .FIXUP D
045Bd(8D000006): LDR SB, MT, MOD0 [GraphTool]
045Cd(40D80000): ADD R0, SB, 0H [data]
045Dd .FIXUP D
045Dd(8D200002): LDR SB, MT, MOD2 [Texts]
045Ed(41D80005): ADD R1, SB, VAR5
045Fe(82E00014): LDR R2, SP, 14H
0460e(42220010): ASR R2, R2, 10H
0461f(43000005): MOV R3, R0, 5H
0462g .FIXUP P
0462g(F721E008): BL MOD2 [Texts] PROC30
Files.ReadString(R,h name)i;j Texts.Write(W,k " ")l;m Texts.WriteString(W,n name)o;p
0463h(40E8003C): ADD R0, SP, 3CH
0464h .FIXUP D
0464h(8D100007): LDR SB, MT, MOD1 [Files]
0465h(41D80001): ADD R1, SB, VAR1
0466i(42E80018): ADD R2, SP, 18H
0467i(43000020): MOV R3, R0, 20H
0468j .FIXUP P
0468j(F7114006): BL MOD1 [Files] PROC20
0469k .FIXUP D
0469k(8D000005): LDR SB, MT, MOD0 [GraphTool]
046Ak(40D80000): ADD R0, SB, 0H [data]
046Bk .FIXUP D
046Bk(8D200002): LDR SB, MT, MOD2 [Texts]
046Ck(41D80005): ADD R1, SB, VAR5
046Dl(42000020): MOV R2, R0, 20H
046Em .FIXUP P
046Em(F721B006): BL MOD2 [Texts] PROC27
046Fn .FIXUP D
046Fn(8D000004): LDR SB, MT, MOD0 [GraphTool]
0470n(40D80000): ADD R0, SB, 0H [data]
0471n .FIXUP D
0471n(8D200002): LDR SB, MT, MOD2 [Texts]
0472n(41D80005): ADD R1, SB, VAR5
0473o(42E80018): ADD R2, SP, 18H
0474o(43000020): MOV R3, R0, 20H
0475p .FIXUP P
0475p(F721D007): BL MOD2 [Texts] PROC29
Texts.WriteLn(W)q;r Texts.Append(Oberon.Log,s W.buf)t;u Files.ReadByte(R,v class)w
0476q .FIXUP D
0476q(8D000005): LDR SB, MT, MOD0 [GraphTool]
0477q(40D80000): ADD R0, SB, 0H [data]
0478q .FIXUP D
0478q(8D200002): LDR SB, MT, MOD2 [Texts]
0479q(41D80005): ADD R1, SB, VAR5
047Ar .FIXUP P
047Ar(F721C005): BL MOD2 [Texts] PROC28
047Bs .FIXUP D
047Bs(8D400003): LDR SB, MT, MOD4 [Oberon]
047Cs(80D0000D): LDR R0, SB, VAR13
047Dt .FIXUP D
047Dt(8D000002): LDR SB, MT, MOD0 [GraphTool]
047Et(81D00000): LDR R1, SB, 0H [data]
047Fu .FIXUP P
047Fu(F720E005): BL MOD2 [Texts] PROC14
0480v(40E8003C): ADD R0, SP, 3CH
0481v .FIXUP D
0481v(8D100004): LDR SB, MT, MOD1 [Files]
0482v(41D80001): ADD R1, SB, VAR1
0483w(42E80005): ADD R2, SP, 5H
ENDx
0484x .FIXUP P
0484x(F710E005): BL MOD1 [Files] PROC14
0485x(E7FFFEC0): B -320 [0346H]
ELSE Textsy.WriteString(W,z " not a graphics library")a
0486y(E7000008): B 8 [048FH]
0487z .FIXUP D
0487z(8D000006): LDR SB, MT, MOD0 [GraphTool]
0488z(40D80000): ADD R0, SB, 0H [data]
0489z .FIXUP D
0489z(8D200002): LDR SB, MT, MOD2 [Texts]
048Az(41D80005): ADD R1, SB, VAR5
048Ba .FIXUP D
048Ba(8D000002): LDR SB, MT, MOD0 [GraphTool]
048Ca(42D800C8): ADD R2, SB, C8H [" not a graphics library"]
048Da(43000018): MOV R3, R0, 18H
ENDb
048Eb .FIXUP P
048Eb(F721D00A): BL MOD2 [Texts] PROC29
ELSE Textsc.WriteString(W,d " not found")e
048Fc(E7000008): B 8 [0498H]
0490d .FIXUP D
0490d(8D000005): LDR SB, MT, MOD0 [GraphTool]
0491d(40D80000): ADD R0, SB, 0H [data]
0492d .FIXUP D
0492d(8D200002): LDR SB, MT, MOD2 [Texts]
0493d(41D80005): ADD R1, SB, VAR5
0494e .FIXUP D
0494e(8D000002): LDR SB, MT, MOD0 [GraphTool]
0495e(42D800E0): ADD R2, SB, E0H [" not found"]
0496e(4300000B): MOV R3, R0, BH
ENDf ;
0497f .FIXUP P
0497f(F721D009): BL MOD2 [Texts] PROC29
Texts.WriteLn(W)g;h Texts.Append(Oberon.Log,i W.buf)j
0498g .FIXUP D
0498g(8D000004): LDR SB, MT, MOD0 [GraphTool]
0499g(40D80000): ADD R0, SB, 0H [data]
049Ag .FIXUP D
049Ag(8D200002): LDR SB, MT, MOD2 [Texts]
049Bg(41D80005): ADD R1, SB, VAR5
049Ch .FIXUP P
049Ch(F721C005): BL MOD2 [Texts] PROC28
049Di .FIXUP D
049Di(8D400003): LDR SB, MT, MOD4 [Oberon]
049Ei(80D0000D): LDR R0, SB, VAR13
049Fj .FIXUP D
049Fj(8D000002): LDR SB, MT, MOD0 [GraphTool]
04A0j(81D00000): LDR R1, SB, 0H [data]
ENDk
04A1k .FIXUP P
04A1k(F720E005): BL MOD2 [Texts] PROC14
ENDl DecLibrary1;
04A2l(8FE00000): LDR LNK, SP, 0H
04A3l(4EE800C8): ADD SP, SP, C8H
04A4l(C700000F): B LNK
PROCEDURE ConvertFontname(VAR x: ARRAY OF CHAR);
BEGINm (* Syntax --> Oberon *)
04A5m(4EE9000C): SUB SP, SP, CH
04A6m(AFE00000): STR LNK, SP, 0H
04A7m(A0E00004): STR R0, SP, 4H
04A8m(A1E00008): STR R1, SP, 8H
IF (x[0]n = "S")o & (px[1]q = "y")r & (sx[2]t = "n")u & (vx[3]w = "t")x & (yx[4]z = "a")a & (bx[5]c = "x")d THENe
04A9n(40000000): MOV R0, R0, 0H
04AAn(81E00008): LDR R1, SP, 8H
04ABn(01090001): SUB R1, R0, R1
04ACn(DA1F141C): BLCC MT [trap=1, pos=7956]
04ADn(81E00004): LDR R1, SP, 4H
04AEn(00180000): ADD R0, R1, R0
04AFo(90000000): LDR R0, R0, 0H
04B0o(40090053): SUB R0, R0, 53H
04B1p(E900005D): BNE 93 [050FH]
04B2q(40000001): MOV R0, R0, 1H
04B3q(81E00008): LDR R1, SP, 8H
04B4q(01090001): SUB R1, R0, R1
04B5q(DA1F231C): BLCC MT [trap=1, pos=7971]
04B6q(81E00004): LDR R1, SP, 4H
04B7q(00180000): ADD R0, R1, R0
04B8r(90000000): LDR R0, R0, 0H
04B9r(40090079): SUB R0, R0, 79H
04BAs(E9000054): BNE 84 [050FH]
04BBt(40000002): MOV R0, R0, 2H
04BCt(81E00008): LDR R1, SP, 8H
04BDt(01090001): SUB R1, R0, R1
04BEt(DA1F321C): BLCC MT [trap=1, pos=7986]
04BFt(81E00004): LDR R1, SP, 4H
04C0t(00180000): ADD R0, R1, R0
04C1u(90000000): LDR R0, R0, 0H
04C2u(4009006E): SUB R0, R0, 6EH
04C3v(E900004B): BNE 75 [050FH]
04C4w(40000003): MOV R0, R0, 3H
04C5w(81E00008): LDR R1, SP, 8H
04C6w(01090001): SUB R1, R0, R1
04C7w(DA1F411C): BLCC MT [trap=1, pos=8001]
04C8w(81E00004): LDR R1, SP, 4H
04C9w(00180000): ADD R0, R1, R0
04CAx(90000000): LDR R0, R0, 0H
04CBx(40090074): SUB R0, R0, 74H
04CCy(E9000042): BNE 66 [050FH]
04CDz(40000004): MOV R0, R0, 4H
04CEz(81E00008): LDR R1, SP, 8H
04CFz(01090001): SUB R1, R0, R1
04D0z(DA1F501C): BLCC MT [trap=1, pos=8016]
04D1z(81E00004): LDR R1, SP, 4H
04D2z(00180000): ADD R0, R1, R0
04D3a(90000000): LDR R0, R0, 0H
04D4a(40090061): SUB R0, R0, 61H
04D5b(E9000039): BNE 57 [050FH]
04D6c(40000005): MOV R0, R0, 5H
04D7c(81E00008): LDR R1, SP, 8H
04D8c(01090001): SUB R1, R0, R1
04D9c(DA1F5F1C): BLCC MT [trap=1, pos=8031]
04DAc(81E00004): LDR R1, SP, 4H
04DBc(00180000): ADD R0, R1, R0
04DCd(90000000): LDR R0, R0, 0H
04DDd(40090078): SUB R0, R0, 78H
04DEe(E9000030): BNE 48 [050FH]
x[0]f := "O";g x[1]h := "b";i x[2]j := "e";k x[3]l := "r";m x[4]n := "o";o x[5]p := "n"
04DFf(40000000): MOV R0, R0, 0H
04E0f(81E00008): LDR R1, SP, 8H
04E1f(01090001): SUB R1, R0, R1
04E2f(DA1F761C): BLCC MT [trap=1, pos=8054]
04E3f(81E00004): LDR R1, SP, 4H
04E4f(00180000): ADD R0, R1, R0
04E5g(4100004F): MOV R1, R0, 4FH
04E6g(B1000000): STR R1, R0, 0H
04E7h(40000001): MOV R0, R0, 1H
04E8h(81E00008): LDR R1, SP, 8H
04E9h(01090001): SUB R1, R0, R1
04EAh(DA1F831C): BLCC MT [trap=1, pos=8067]
04EBh(81E00004): LDR R1, SP, 4H
04ECh(00180000): ADD R0, R1, R0
04EDi(41000062): MOV R1, R0, 62H
04EEi(B1000000): STR R1, R0, 0H
04EFj(40000002): MOV R0, R0, 2H
04F0j(81E00008): LDR R1, SP, 8H
04F1j(01090001): SUB R1, R0, R1
04F2j(DA1F901C): BLCC MT [trap=1, pos=8080]
04F3j(81E00004): LDR R1, SP, 4H
04F4j(00180000): ADD R0, R1, R0
04F5k(41000065): MOV R1, R0, 65H
04F6k(B1000000): STR R1, R0, 0H
04F7l(40000003): MOV R0, R0, 3H
04F8l(81E00008): LDR R1, SP, 8H
04F9l(01090001): SUB R1, R0, R1
04FAl(DA1F9D1C): BLCC MT [trap=1, pos=8093]
04FBl(81E00004): LDR R1, SP, 4H
04FCl(00180000): ADD R0, R1, R0
04FDm(41000072): MOV R1, R0, 72H
04FEm(B1000000): STR R1, R0, 0H
04FFn(40000004): MOV R0, R0, 4H
0500n(81E00008): LDR R1, SP, 8H
0501n(01090001): SUB R1, R0, R1
0502n(DA1FAA1C): BLCC MT [trap=1, pos=8106]
0503n(81E00004): LDR R1, SP, 4H
0504n(00180000): ADD R0, R1, R0
0505o(4100006F): MOV R1, R0, 6FH
0506o(B1000000): STR R1, R0, 0H
0507p(40000005): MOV R0, R0, 5H
0508p(81E00008): LDR R1, SP, 8H
0509p(01090001): SUB R1, R0, R1
050Ap(DA1FB71C): BLCC MT [trap=1, pos=8119]
050Bp(81E00004): LDR R1, SP, 4H
050Cp(00180000): ADD R0, R1, R0
ENDq
050Dq(4100006E): MOV R1, R0, 6EH
050Eq(B1000000): STR R1, R0, 0H
ENDr ConvertFontname;
050Fr(8FE00000): LDR LNK, SP, 0H
0510r(4EE8000C): ADD SP, SP, CH
0511r(C700000F): B LNK
PROCEDURE ConvertLibrary*;
VAR ch: CHAR;
class, col, fno, cat, inx, libno, len, lnw, vers: BYTE;
xy, wh: INTEGER;
name: ARRAY 32 OF CHAR;
F, G: Files.File; R, Q: Files.Rider;
S: Texts.Scanner;
BEGINs Texts.OpenScanner(S,t Oberon.Par.text,u Oberon.Par.pos)v;w Texts.Scan(S)x;y
0512s .PROC 4
0512s .COMMAND ConvertLibrary
0512s(4EE900E4): SUB SP, SP, E4H
0513s(AFE00000): STR LNK, SP, 0H
0514t(40E80070): ADD R0, SP, 70H
0515t .FIXUP D
0515t(8D200076): LDR SB, MT, MOD2 [Texts]
0516t(41D80003): ADD R1, SB, VAR3
0517u .FIXUP D
0517u(8D400002): LDR SB, MT, MOD4 [Oberon]
0518u(42D8000E): ADD R2, SB, VAR14
0519u(82200008): LDR R2, R2, 8H
051Av .FIXUP D
051Av(8D400003): LDR SB, MT, MOD4 [Oberon]
051Bv(43D8000E): ADD R3, SB, VAR14
051Cv(8330000C): LDR R3, R3, CH
051Dw .FIXUP P
051Dw(F721507C): BL MOD2 [Texts] PROC21
051Ex(40E80070): ADD R0, SP, 70H
051Fx .FIXUP D
051Fx(8D200005): LDR SB, MT, MOD2 [Texts]
0520x(41D80003): ADD R1, SB, VAR3
0521y .FIXUP P
0521y(F7216004): BL MOD2 [Texts] PROC22
IF S.class = Texts.Name THENz
0522z(80E000AC): LDR R0, SP, ACH
0523z(40090001): SUB R0, R0, 1H
0524z(E90001AA): BNE 426 [06CFH]
Texts.WriteString(W,a "convert library ")b;c Texts.WriteString(W,d S.s)e;f
0525a .FIXUP D
0525a(8D000006): LDR SB, MT, MOD0 [GraphTool]
0526a(40D80000): ADD R0, SB, 0H [data]
0527a .FIXUP D
0527a(8D200002): LDR SB, MT, MOD2 [Texts]
0528a(41D80005): ADD R1, SB, VAR5
0529b .FIXUP D
0529b(8D000002): LDR SB, MT, MOD0 [GraphTool]
052Ab(42D800EC): ADD R2, SB, ECH ["convert library "]
052Bb(43000011): MOV R3, R0, 11H
052Cc .FIXUP P
052Cc(F721D00B): BL MOD2 [Texts] PROC29
052Dd .FIXUP D
052Dd(8D000004): LDR SB, MT, MOD0 [GraphTool]
052Ed(40D80000): ADD R0, SB, 0H [data]
052Fd .FIXUP D
052Fd(8D200002): LDR SB, MT, MOD2 [Texts]
0530d(41D80005): ADD R1, SB, VAR5
0531e(42E800C4): ADD R2, SP, C4H
0532e(43000020): MOV R3, R0, 20H
0533f .FIXUP P
0533f(F721D007): BL MOD2 [Texts] PROC29
F := Files.Old(S.s)g;h
0534g(40E800C4): ADD R0, SP, C4H
0535g(41000020): MOV R1, R0, 20H
0536h .FIXUP P
0536h(F7102003): BL MOD1 [Files] PROC2
0537h(A0E00038): STR R0, SP, 38H
IF F # NIL THENi
0538i(80E00038): LDR R0, SP, 38H
0539i(E1000183): BEQ 387 [06BDH]
Texts.Scan(S)j;k G := Files.New(S.s)l;m
053Aj(40E80070): ADD R0, SP, 70H
053Bj .FIXUP D
053Bj(8D20000C): LDR SB, MT, MOD2 [Texts]
053Cj(41D80003): ADD R1, SB, VAR3
053Dk .FIXUP P
053Dk(F7216007): BL MOD2 [Texts] PROC22
053El(40E800C4): ADD R0, SP, C4H
053Fl(41000020): MOV R1, R0, 20H
0540m .FIXUP P
0540m(F7103003): BL MOD1 [Files] PROC3
0541m(A0E0003C): STR R0, SP, 3CH
Texts.WriteString(W,n " => ")o;p Texts.WriteString(W,q S.s)r;s
0542n .FIXUP D
0542n(8D000007): LDR SB, MT, MOD0 [GraphTool]
0543n(40D80000): ADD R0, SB, 0H [data]
0544n .FIXUP D
0544n(8D200002): LDR SB, MT, MOD2 [Texts]
0545n(41D80005): ADD R1, SB, VAR5
0546o .FIXUP D
0546o(8D000002): LDR SB, MT, MOD0 [GraphTool]
0547o(42D80100): ADD R2, SB, 100H [" => "]
0548o(43000005): MOV R3, R0, 5H
0549p .FIXUP P
0549p(F721D009): BL MOD2 [Texts] PROC29
054Aq .FIXUP D
054Aq(8D000004): LDR SB, MT, MOD0 [GraphTool]
054Bq(40D80000): ADD R0, SB, 0H [data]
054Cq .FIXUP D
054Cq(8D200002): LDR SB, MT, MOD2 [Texts]
054Dq(41D80005): ADD R1, SB, VAR5
054Er(42E800C4): ADD R2, SP, C4H
054Fr(43000020): MOV R3, R0, 20H
0550s .FIXUP P
0550s(F721D007): BL MOD2 [Texts] PROC29
Texts.WriteLn(W)t;u Texts.Append(Oberon.Log,v W.buf)w;x
0551t .FIXUP D
0551t(8D000005): LDR SB, MT, MOD0 [GraphTool]
0552t(40D80000): ADD R0, SB, 0H [data]
0553t .FIXUP D
0553t(8D200002): LDR SB, MT, MOD2 [Texts]
0554t(41D80005): ADD R1, SB, VAR5
0555u .FIXUP P
0555u(F721C005): BL MOD2 [Texts] PROC28
0556v .FIXUP D
0556v(8D400003): LDR SB, MT, MOD4 [Oberon]
0557v(80D0000D): LDR R0, SB, VAR13
0558w .FIXUP D
0558w(8D000002): LDR SB, MT, MOD0 [GraphTool]
0559w(81D00000): LDR R1, SB, 0H [data]
055Ax .FIXUP P
055Ax(F720E005): BL MOD2 [Texts] PROC14
Files.Set(R,y F,z 0)a;b Files.Set(Q,c G,d 0)e;f Files.Read(R,g ch)h;i
055By(40E80040): ADD R0, SP, 40H
055Cy .FIXUP D
055Cy(8D100004): LDR SB, MT, MOD1 [Files]
055Dy(41D80001): ADD R1, SB, VAR1
055Ez(82E00038): LDR R2, SP, 38H
055Fa(43000000): MOV R3, R0, 0H
0560b .FIXUP P
0560b(F710B006): BL MOD1 [Files] PROC11
0561c(40E80058): ADD R0, SP, 58H
0562c .FIXUP D
0562c(8D100006): LDR SB, MT, MOD1 [Files]
0563c(41D80001): ADD R1, SB, VAR1
0564d(82E0003C): LDR R2, SP, 3CH
0565e(43000000): MOV R3, R0, 0H
0566f .FIXUP P
0566f(F710B006): BL MOD1 [Files] PROC11
0567g(40E80040): ADD R0, SP, 40H
0568g .FIXUP D
0568g(8D100006): LDR SB, MT, MOD1 [Files]
0569g(41D80001): ADD R1, SB, VAR1
056Ah(42E80004): ADD R2, SP, 4H
056Bi .FIXUP P
056Bi(F7110005): BL MOD1 [Files] PROC16
IF ch = 0FDX THENj
056Cj(90E00004): LDR R0, SP, 4H
056Dj(400900FD): SUB R0, R0, FDH
056Ej(E900013B): BNE 315 [06AAH]
Files.Write(Q,k 0FBX)l;m Files.ReadByte(R,n class)o;p
056Fk(40E80058): ADD R0, SP, 58H
0570k .FIXUP D
0570k(8D100008): LDR SB, MT, MOD1 [Files]
0571k(41D80001): ADD R1, SB, VAR1
0572l(420000FB): MOV R2, R0, FBH
0573m .FIXUP P
0573m(F7118008): BL MOD1 [Files] PROC24
0574n(40E80040): ADD R0, SP, 40H
0575n .FIXUP D
0575n(8D100005): LDR SB, MT, MOD1 [Files]
0576n(41D80001): ADD R1, SB, VAR1
0577o(42E80005): ADD R2, SP, 5H
0578p .FIXUP P
0578p(F710E005): BL MOD1 [Files] PROC14
WHILE (class < 255)q & ~rR.eof DOs
0579q(90E00005): LDR R0, SP, 5H
057Aq(400900FF): SUB R0, R0, FFH
057Br(ED00012D): BGE 301 [06A9H]
057Cs(90E00040): LDR R0, SP, 40H
057Ds(E900012B): BNE 299 [06A9H]
WHILE class < 255 DOt
057Et(90E00005): LDR R0, SP, 5H
057Ft(400900FF): SUB R0, R0, FFH
0580t(ED0000EB): BGE 235 [066CH]
Files.WriteByte(Q,u class)v;w
0581u(40E80058): ADD R0, SP, 58H
0582u .FIXUP D
0582u(8D10000D): LDR SB, MT, MOD1 [Files]
0583u(41D80001): ADD R1, SB, VAR1
0584v(92E00005): LDR R2, SP, 5H
0585w .FIXUP P
0585w(F711600D): BL MOD1 [Files] PROC22
IF class = Context THENx
0586x(90E00005): LDR R0, SP, 5H
0587x(E9000067): BNE 103 [05EFH]
Files.ReadByte(R,y cat)z;a Files.ReadByte(R,b inx)c;d Texts.WriteInt(W,e cat,f 4)g;h Texts.WriteInt(W,i inx,j 4)k;l
0588y(40E80040): ADD R0, SP, 40H
0589y .FIXUP D
0589y(8D100007): LDR SB, MT, MOD1 [Files]
058Ay(41D80001): ADD R1, SB, VAR1
058Bz(42E80008): ADD R2, SP, 8H
058Ca .FIXUP P
058Ca(F710E007): BL MOD1 [Files] PROC14
058Db(40E80040): ADD R0, SP, 40H
058Eb .FIXUP D
058Eb(8D100005): LDR SB, MT, MOD1 [Files]
058Fb(41D80001): ADD R1, SB, VAR1
0590c(42E80009): ADD R2, SP, 9H
0591d .FIXUP P
0591d(F710E005): BL MOD1 [Files] PROC14
0592e .FIXUP D
0592e(8D000004): LDR SB, MT, MOD0 [GraphTool]
0593e(40D80000): ADD R0, SB, 0H [data]
0594e .FIXUP D
0594e(8D200002): LDR SB, MT, MOD2 [Texts]
0595e(41D80005): ADD R1, SB, VAR5
0596f(92E00008): LDR R2, SP, 8H
0597g(43000004): MOV R3, R0, 4H
0598h .FIXUP P
0598h(F721E007): BL MOD2 [Texts] PROC30
0599i .FIXUP D
0599i(8D000005): LDR SB, MT, MOD0 [GraphTool]
059Ai(40D80000): ADD R0, SB, 0H [data]
059Bi .FIXUP D
059Bi(8D200002): LDR SB, MT, MOD2 [Texts]
059Ci(41D80005): ADD R1, SB, VAR5
059Dj(92E00009): LDR R2, SP, 9H
059Ek(43000004): MOV R3, R0, 4H
059Fl .FIXUP P
059Fl(F721E007): BL MOD2 [Texts] PROC30
Files.WriteByte(Q,m cat)n;o Files.WriteByte(Q,p inx)q;r
05A0m(40E80058): ADD R0, SP, 58H
05A1m .FIXUP D
05A1m(8D100006): LDR SB, MT, MOD1 [Files]
05A2m(41D80001): ADD R1, SB, VAR1
05A3n(92E00008): LDR R2, SP, 8H
05A4o .FIXUP P
05A4o(F7116005): BL MOD1 [Files] PROC22
05A5p(40E80058): ADD R0, SP, 58H
05A6p .FIXUP D
05A6p(8D100005): LDR SB, MT, MOD1 [Files]
05A7p(41D80001): ADD R1, SB, VAR1
05A8q(92E00009): LDR R2, SP, 9H
05A9r .FIXUP P
05A9r(F7116005): BL MOD1 [Files] PROC22
Files.ReadString(R,s name)t;u Texts.Write(W,v " ")w;x Texts.WriteString(W,y name)z;a
05AAs(40E80040): ADD R0, SP, 40H
05ABs .FIXUP D
05ABs(8D100005): LDR SB, MT, MOD1 [Files]
05ACs(41D80001): ADD R1, SB, VAR1
05ADt(42E80018): ADD R2, SP, 18H
05AEt(43000020): MOV R3, R0, 20H
05AFu .FIXUP P
05AFu(F7114006): BL MOD1 [Files] PROC20
05B0v .FIXUP D
05B0v(8D000005): LDR SB, MT, MOD0 [GraphTool]
05B1v(40D80000): ADD R0, SB, 0H [data]
05B2v .FIXUP D
05B2v(8D200002): LDR SB, MT, MOD2 [Texts]
05B3v(41D80005): ADD R1, SB, VAR5
05B4w(42000020): MOV R2, R0, 20H
05B5x .FIXUP P
05B5x(F721B006): BL MOD2 [Texts] PROC27
05B6y .FIXUP D
05B6y(8D000004): LDR SB, MT, MOD0 [GraphTool]
05B7y(40D80000): ADD R0, SB, 0H [data]
05B8y .FIXUP D
05B8y(8D200002): LDR SB, MT, MOD2 [Texts]
05B9y(41D80005): ADD R1, SB, VAR5
05BAz(42E80018): ADD R2, SP, 18H
05BBz(43000020): MOV R3, R0, 20H
05BCa .FIXUP P
05BCa(F721D007): BL MOD2 [Texts] PROC29
IF cat = 0 THENb (*font*) ConvertFontname(name)c ENDd ;
05BDb(90E00008): LDR R0, SP, 8H
05BEb(E9000003): BNE 3 [05C2H]
05BFc(40E80018): ADD R0, SP, 18H
05C0c(41000020): MOV R1, R0, 20H
05C1d(F7FFFEE3): BL -285 [04A5H]
Files.WriteString(Q,e name)f;g
05C2e(40E80058): ADD R0, SP, 58H
05C3e .FIXUP D
05C3e(8D10000B): LDR SB, MT, MOD1 [Files]
05C4e(41D80001): ADD R1, SB, VAR1
05C5f(42E80018): ADD R2, SP, 18H
05C6f(43000020): MOV R3, R0, 20H
05C7g .FIXUP P
05C7g(F711C00B): BL MOD1 [Files] PROC28
IF cat = 2 THENh (*class*) Files.ReadString(R,i name)j;k Texts.Write(W,l " ")m;n Texts.WriteString(W,o name)p;q Files.WriteString(Q,r name)s ENDt ;
05C8h(90E00008): LDR R0, SP, 8H
05C9h(40090002): SUB R0, R0, 2H
05CAh(E9000019): BNE 25 [05E4H]
05CBi(40E80040): ADD R0, SP, 40H
05CCi .FIXUP D
05CCi(8D100009): LDR SB, MT, MOD1 [Files]
05CDi(41D80001): ADD R1, SB, VAR1
05CEj(42E80018): ADD R2, SP, 18H
05CFj(43000020): MOV R3, R0, 20H
05D0k .FIXUP P
05D0k(F7114009): BL MOD1 [Files] PROC20
05D1l .FIXUP D
05D1l(8D000005): LDR SB, MT, MOD0 [GraphTool]
05D2l(40D80000): ADD R0, SB, 0H [data]
05D3l .FIXUP D
05D3l(8D200002): LDR SB, MT, MOD2 [Texts]
05D4l(41D80005): ADD R1, SB, VAR5
05D5m(42000020): MOV R2, R0, 20H
05D6n .FIXUP P
05D6n(F721B006): BL MOD2 [Texts] PROC27
05D7o .FIXUP D
05D7o(8D000004): LDR SB, MT, MOD0 [GraphTool]
05D8o(40D80000): ADD R0, SB, 0H [data]
05D9o .FIXUP D
05D9o(8D200002): LDR SB, MT, MOD2 [Texts]
05DAo(41D80005): ADD R1, SB, VAR5
05DBp(42E80018): ADD R2, SP, 18H
05DCp(43000020): MOV R3, R0, 20H
05DDq .FIXUP P
05DDq(F721D007): BL MOD2 [Texts] PROC29
05DEr(40E80058): ADD R0, SP, 58H
05DFr .FIXUP D
05DFr(8D100006): LDR SB, MT, MOD1 [Files]
05E0r(41D80001): ADD R1, SB, VAR1
05E1s(42E80018): ADD R2, SP, 18H
05E2s(43000020): MOV R3, R0, 20H
05E3t .FIXUP P
05E3t(F711C006): BL MOD1 [Files] PROC28
Texts.WriteLn(W)u;v Texts.Append(Oberon.Log,w W.buf)x
05E4u .FIXUP D
05E4u(8D000005): LDR SB, MT, MOD0 [GraphTool]
05E5u(40D80000): ADD R0, SB, 0H [data]
05E6u .FIXUP D
05E6u(8D200002): LDR SB, MT, MOD2 [Texts]
05E7u(41D80005): ADD R1, SB, VAR5
05E8v .FIXUP P
05E8v(F721C005): BL MOD2 [Texts] PROC28
05E9w .FIXUP D
05E9w(8D400003): LDR SB, MT, MOD4 [Oberon]
05EAw(80D0000D): LDR R0, SB, VAR13
05EBx .FIXUP D
05EBx(8D000002): LDR SB, MT, MOD0 [GraphTool]
05ECx(81D00000): LDR R1, SB, 0H [data]
ELSEy Filesz.ReadInt(R,a xy)b;c Files.WriteInt(Q,d xy)e;f Files.ReadInt(R,g wh)h;i Files.WriteInt(Q,j wh)k;l
05EDy .FIXUP P
05EDy(F720E005): BL MOD2 [Texts] PROC14
05EEz(E7000077): B 119 [0666H]
05EFa(40E80040): ADD R0, SP, 40H
05F0a .FIXUP D
05F0a(8D100005): LDR SB, MT, MOD1 [Files]
05F1a(41D80001): ADD R1, SB, VAR1
05F2b(42E80010): ADD R2, SP, 10H
05F3c .FIXUP P
05F3c(F7111006): BL MOD1 [Files] PROC17
05F4d(40E80058): ADD R0, SP, 58H
05F5d .FIXUP D
05F5d(8D100005): LDR SB, MT, MOD1 [Files]
05F6d(41D80001): ADD R1, SB, VAR1
05F7e(82E00010): LDR R2, SP, 10H
05F8f .FIXUP P
05F8f(F7119005): BL MOD1 [Files] PROC25
05F9g(40E80040): ADD R0, SP, 40H
05FAg .FIXUP D
05FAg(8D100005): LDR SB, MT, MOD1 [Files]
05FBg(41D80001): ADD R1, SB, VAR1
05FCh(42E80014): ADD R2, SP, 14H
05FDi .FIXUP P
05FDi(F7111005): BL MOD1 [Files] PROC17
05FEj(40E80058): ADD R0, SP, 58H
05FFj .FIXUP D
05FFj(8D100005): LDR SB, MT, MOD1 [Files]
0600j(41D80001): ADD R1, SB, VAR1
0601k(82E00014): LDR R2, SP, 14H
0602l .FIXUP P
0602l(F7119005): BL MOD1 [Files] PROC25
Files.ReadByte(R,m col)n;o Files.Read(R,p ch)q;r Files.WriteByte(Q,s 1)t;u
0603m(40E80040): ADD R0, SP, 40H
0604m .FIXUP D
0604m(8D100005): LDR SB, MT, MOD1 [Files]
0605m(41D80001): ADD R1, SB, VAR1
0606n(42E80006): ADD R2, SP, 6H
0607o .FIXUP P
0607o(F710E005): BL MOD1 [Files] PROC14
0608p(40E80040): ADD R0, SP, 40H
0609p .FIXUP D
0609p(8D100005): LDR SB, MT, MOD1 [Files]
060Ap(41D80001): ADD R1, SB, VAR1
060Bq(42E80004): ADD R2, SP, 4H
060Cr .FIXUP P
060Cr(F7110005): BL MOD1 [Files] PROC16
060Ds(40E80058): ADD R0, SP, 58H
060Es .FIXUP D
060Es(8D100005): LDR SB, MT, MOD1 [Files]
060Fs(41D80001): ADD R1, SB, VAR1
0610t(42000001): MOV R2, R0, 1H
0611u .FIXUP P
0611u(F7116005): BL MOD1 [Files] PROC22
IF class = Line THENv
0612v(90E00005): LDR R0, SP, 5H
0613v(40090001): SUB R0, R0, 1H
0614v(E9000001): BNE 1 [0616H]
ELSIF classw = Caption THENx
0615w(E7000050): B 80 [0666H]
0616x(90E00005): LDR R0, SP, 5H
0617x(40090002): SUB R0, R0, 2H
0618x(E9000017): BNE 23 [0630H]
Files.ReadByte(R,y fno)z;a Files.WriteByte(Q,b fno)c;d Files.ReadString(R,e name)f;g Files.WriteString(Q,h name)i
0619y(40E80040): ADD R0, SP, 40H
061Ay .FIXUP D
061Ay(8D10000C): LDR SB, MT, MOD1 [Files]
061By(41D80001): ADD R1, SB, VAR1
061Cz(42E80007): ADD R2, SP, 7H
061Da .FIXUP P
061Da(F710E00C): BL MOD1 [Files] PROC14
061Eb(40E80058): ADD R0, SP, 58H
061Fb .FIXUP D
061Fb(8D100005): LDR SB, MT, MOD1 [Files]
0620b(41D80001): ADD R1, SB, VAR1
0621c(92E00007): LDR R2, SP, 7H
0622d .FIXUP P
0622d(F7116005): BL MOD1 [Files] PROC22
0623e(40E80040): ADD R0, SP, 40H
0624e .FIXUP D
0624e(8D100005): LDR SB, MT, MOD1 [Files]
0625e(41D80001): ADD R1, SB, VAR1
0626f(42E80018): ADD R2, SP, 18H
0627f(43000020): MOV R3, R0, 20H
0628g .FIXUP P
0628g(F7114006): BL MOD1 [Files] PROC20
0629h(40E80058): ADD R0, SP, 58H
062Ah .FIXUP D
062Ah(8D100006): LDR SB, MT, MOD1 [Files]
062Bh(41D80001): ADD R1, SB, VAR1
062Ci(42E80018): ADD R2, SP, 18H
062Di(43000020): MOV R3, R0, 20H
ELSIFj classk = Rectangles THENl
062Ej .FIXUP P
062Ej(F711C006): BL MOD1 [Files] PROC28
062Fk(E7000036): B 54 [0666H]
0630l(90E00005): LDR R0, SP, 5H
0631l(40090004): SUB R0, R0, 4H
0632l(E9000024): BNE 36 [0657H]
Files.ReadByte(R,m len)n;o Files.WriteByte(Q,p len)q;r Files.ReadByte(R,s len)t;u
0633m(40E80040): ADD R0, SP, 40H
0634m .FIXUP D
0634m(8D10000A): LDR SB, MT, MOD1 [Files]
0635m(41D80001): ADD R1, SB, VAR1
0636n(42E8000B): ADD R2, SP, BH
0637o .FIXUP P
0637o(F710E009): BL MOD1 [Files] PROC14
0638p(40E80058): ADD R0, SP, 58H
0639p .FIXUP D
0639p(8D100005): LDR SB, MT, MOD1 [Files]
063Ap(41D80001): ADD R1, SB, VAR1
063Bq(92E0000B): LDR R2, SP, BH
063Cr .FIXUP P
063Cr(F7116005): BL MOD1 [Files] PROC22
063Ds(40E80040): ADD R0, SP, 40H
063Es .FIXUP D
063Es(8D100005): LDR SB, MT, MOD1 [Files]
063Fs(41D80001): ADD R1, SB, VAR1
0640t(42E8000B): ADD R2, SP, BH
0641u .FIXUP P
0641u(F710E005): BL MOD1 [Files] PROC14
Files.ReadByte(R,v lnw)w;x Files.WriteByte(Q,y lnw)z;a
0642v(40E80040): ADD R0, SP, 40H
0643v .FIXUP D
0643v(8D100005): LDR SB, MT, MOD1 [Files]
0644v(41D80001): ADD R1, SB, VAR1
0645w(42E8000C): ADD R2, SP, CH
0646x .FIXUP P
0646x(F710E005): BL MOD1 [Files] PROC14
0647y(40E80058): ADD R0, SP, 58H
0648y .FIXUP D
0648y(8D100005): LDR SB, MT, MOD1 [Files]
0649y(41D80001): ADD R1, SB, VAR1
064Az(92E0000C): LDR R2, SP, CH
064Ba .FIXUP P
064Ba(F7116005): BL MOD1 [Files] PROC22
Files.ReadByte(R,b vers)c;d Files.WriteByte(Q,e vers)f
064Cb(40E80040): ADD R0, SP, 40H
064Db .FIXUP D
064Db(8D100005): LDR SB, MT, MOD1 [Files]
064Eb(41D80001): ADD R1, SB, VAR1
064Fc(42E8000D): ADD R2, SP, DH
0650d .FIXUP P
0650d(F710E005): BL MOD1 [Files] PROC14
0651e(40E80058): ADD R0, SP, 58H
0652e .FIXUP D
0652e(8D100005): LDR SB, MT, MOD1 [Files]
0653e(41D80001): ADD R1, SB, VAR1
0654f(92E0000D): LDR R2, SP, DH
ELSEg Textsh.WriteString(W,i "alien class ")j;k Texts.WriteInt(W,l class,m 4)n
0655g .FIXUP P
0655g(F7116005): BL MOD1 [Files] PROC22
0656h(E700000F): B 15 [0666H]
0657i .FIXUP D
0657i(8D000005): LDR SB, MT, MOD0 [GraphTool]
0658i(40D80000): ADD R0, SB, 0H [data]
0659i .FIXUP D
0659i(8D200002): LDR SB, MT, MOD2 [Texts]
065Ai(41D80005): ADD R1, SB, VAR5
065Bj .FIXUP D
065Bj(8D000002): LDR SB, MT, MOD0 [GraphTool]
065Cj(42D80108): ADD R2, SB, 108H ["alien class "]
065Dj(4300000D): MOV R3, R0, DH
065Ek .FIXUP P
065Ek(F721D009): BL MOD2 [Texts] PROC29
065Fl .FIXUP D
065Fl(8D000004): LDR SB, MT, MOD0 [GraphTool]
0660l(40D80000): ADD R0, SB, 0H [data]
0661l .FIXUP D
0661l(8D200002): LDR SB, MT, MOD2 [Texts]
0662l(41D80005): ADD R1, SB, VAR5
0663m(92E00005): LDR R2, SP, 5H
0664n(43000004): MOV R3, R0, 4H
ENDo
0665o .FIXUP P
0665o(F721E007): BL MOD2 [Texts] PROC30
END ;
Files.ReadByte(R,p class)q
0666p(40E80040): ADD R0, SP, 40H
0667p .FIXUP D
0667p(8D100006): LDR SB, MT, MOD1 [Files]
0668p(41D80001): ADD R1, SB, VAR1
0669q(42E80005): ADD R2, SP, 5H
ENDr ;
066Ar .FIXUP P
066Ar(F710E005): BL MOD1 [Files] PROC14
066Br(E7FFFF12): B -238 [057EH]
Files.WriteByte(Q,s 255)t;u (*end macro*) Files.ReadInt(R,v wh)w;x Files.WriteInt(Q,y wh)z;a
066Cs(40E80058): ADD R0, SP, 58H
066Ds .FIXUP D
066Ds(8D100006): LDR SB, MT, MOD1 [Files]
066Es(41D80001): ADD R1, SB, VAR1
066Ft(420000FF): MOV R2, R0, FFH
0670u .FIXUP P
0670u(F7116006): BL MOD1 [Files] PROC22
0671v(40E80040): ADD R0, SP, 40H
0672v .FIXUP D
0672v(8D100005): LDR SB, MT, MOD1 [Files]
0673v(41D80001): ADD R1, SB, VAR1
0674w(42E80014): ADD R2, SP, 14H
0675x .FIXUP P
0675x(F7111005): BL MOD1 [Files] PROC17
0676y(40E80058): ADD R0, SP, 58H
0677y .FIXUP D
0677y(8D100005): LDR SB, MT, MOD1 [Files]
0678y(41D80001): ADD R1, SB, VAR1
0679z(82E00014): LDR R2, SP, 14H
067Aa .FIXUP P
067Aa(F7119005): BL MOD1 [Files] PROC25
Files.ReadString(R,b name)c;d Files.WriteString(Q,e name)f;g
067Bb(40E80040): ADD R0, SP, 40H
067Cb .FIXUP D
067Cb(8D100005): LDR SB, MT, MOD1 [Files]
067Db(41D80001): ADD R1, SB, VAR1
067Ec(42E80018): ADD R2, SP, 18H
067Fc(43000020): MOV R3, R0, 20H
0680d .FIXUP P
0680d(F7114006): BL MOD1 [Files] PROC20
0681e(40E80058): ADD R0, SP, 58H
0682e .FIXUP D
0682e(8D100006): LDR SB, MT, MOD1 [Files]
0683e(41D80001): ADD R1, SB, VAR1
0684f(42E80018): ADD R2, SP, 18H
0685f(43000020): MOV R3, R0, 20H
0686g .FIXUP P
0686g(F711C006): BL MOD1 [Files] PROC28
Texts.WriteString(W,h name)i;j Texts.WriteInt(W,k wh MOD 10000H,l 4)m;n Texts.WriteInt(W,o wh DIV 10000H,p 4)q;r
0687h .FIXUP D
0687h(8D000005): LDR SB, MT, MOD0 [GraphTool]
0688h(40D80000): ADD R0, SB, 0H [data]
0689h .FIXUP D
0689h(8D200002): LDR SB, MT, MOD2 [Texts]
068Ah(41D80005): ADD R1, SB, VAR5
068Bi(42E80018): ADD R2, SP, 18H
068Ci(43000020): MOV R3, R0, 20H
068Dj .FIXUP P
068Dj(F721D007): BL MOD2 [Texts] PROC29
068Ek .FIXUP D
068Ek(8D000005): LDR SB, MT, MOD0 [GraphTool]
068Fk(40D80000): ADD R0, SB, 0H [data]
0690k .FIXUP D
0690k(8D200002): LDR SB, MT, MOD2 [Texts]
0691k(41D80005): ADD R1, SB, VAR5
0692l(82E00014): LDR R2, SP, 14H
0693l(4224FFFF): AND R2, R2, FFFFFFFFH
0694m(43000004): MOV R3, R0, 4H
0695n .FIXUP P
0695n(F721E008): BL MOD2 [Texts] PROC30
0696o .FIXUP D
0696o(8D000006): LDR SB, MT, MOD0 [GraphTool]
0697o(40D80000): ADD R0, SB, 0H [data]
0698o .FIXUP D
0698o(8D200002): LDR SB, MT, MOD2 [Texts]
0699o(41D80005): ADD R1, SB, VAR5
069Ap(82E00014): LDR R2, SP, 14H
069Bp(42220010): ASR R2, R2, 10H
069Cq(43000004): MOV R3, R0, 4H
069Dr .FIXUP P
069Dr(F721E008): BL MOD2 [Texts] PROC30
Texts.WriteLn(W)s;t Files.ReadByte(R,u class)v
069Es .FIXUP D
069Es(8D000006): LDR SB, MT, MOD0 [GraphTool]
069Fs(40D80000): ADD R0, SB, 0H [data]
06A0s .FIXUP D
06A0s(8D200002): LDR SB, MT, MOD2 [Texts]
06A1s(41D80005): ADD R1, SB, VAR5
06A2t .FIXUP P
06A2t(F721C005): BL MOD2 [Texts] PROC28
06A3u(40E80040): ADD R0, SP, 40H
06A4u .FIXUP D
06A4u(8D100004): LDR SB, MT, MOD1 [Files]
06A5u(41D80001): ADD R1, SB, VAR1
06A6v(42E80005): ADD R2, SP, 5H
ENDw
06A7w .FIXUP P
06A7w(F710E005): BL MOD1 [Files] PROC14
06A8w(E7FFFED0): B -304 [0579H]
ELSE Textsx.WriteString(W,y " not a graphics library")z
06A9x(E7000008): B 8 [06B2H]
06AAy .FIXUP D
06AAy(8D000006): LDR SB, MT, MOD0 [GraphTool]
06ABy(40D80000): ADD R0, SB, 0H [data]
06ACy .FIXUP D
06ACy(8D200002): LDR SB, MT, MOD2 [Texts]
06ADy(41D80005): ADD R1, SB, VAR5
06AEz .FIXUP D
06AEz(8D000002): LDR SB, MT, MOD0 [GraphTool]
06AFz(42D80118): ADD R2, SB, 118H [" not a graphics library"]
06B0z(43000018): MOV R3, R0, 18H
ENDa ;
06B1a .FIXUP P
06B1a(F721D00A): BL MOD2 [Texts] PROC29
Files.Register(G)b;c Texts.WriteString(W,d " done")e
06B2b(80E0003C): LDR R0, SP, 3CH
06B3c .FIXUP P
06B3c(F7104002): BL MOD1 [Files] PROC4
06B4d .FIXUP D
06B4d(8D000006): LDR SB, MT, MOD0 [GraphTool]
06B5d(40D80000): ADD R0, SB, 0H [data]
06B6d .FIXUP D
06B6d(8D200002): LDR SB, MT, MOD2 [Texts]
06B7d(41D80005): ADD R1, SB, VAR5
06B8e .FIXUP D
06B8e(8D000002): LDR SB, MT, MOD0 [GraphTool]
06B9e(42D80130): ADD R2, SB, 130H [" done"]
06BAe(43000006): MOV R3, R0, 6H
ELSEf Textsg.WriteString(W,h " not found")i
06BBf .FIXUP P
06BBf(F721D008): BL MOD2 [Texts] PROC29
06BCg(E7000008): B 8 [06C5H]
06BDh .FIXUP D
06BDh(8D000005): LDR SB, MT, MOD0 [GraphTool]
06BEh(40D80000): ADD R0, SB, 0H [data]
06BFh .FIXUP D
06BFh(8D200002): LDR SB, MT, MOD2 [Texts]
06C0h(41D80005): ADD R1, SB, VAR5
06C1i .FIXUP D
06C1i(8D000002): LDR SB, MT, MOD0 [GraphTool]
06C2i(42D80138): ADD R2, SB, 138H [" not found"]
06C3i(4300000B): MOV R3, R0, BH
ENDj ;
06C4j .FIXUP P
06C4j(F721D009): BL MOD2 [Texts] PROC29
Texts.WriteLn(W)k;l Texts.Append(Oberon.Log,m W.buf)n
06C5k .FIXUP D
06C5k(8D000004): LDR SB, MT, MOD0 [GraphTool]
06C6k(40D80000): ADD R0, SB, 0H [data]
06C7k .FIXUP D
06C7k(8D200002): LDR SB, MT, MOD2 [Texts]
06C8k(41D80005): ADD R1, SB, VAR5
06C9l .FIXUP P
06C9l(F721C005): BL MOD2 [Texts] PROC28
06CAm .FIXUP D
06CAm(8D400003): LDR SB, MT, MOD4 [Oberon]
06CBm(80D0000D): LDR R0, SB, VAR13
06CCn .FIXUP D
06CCn(8D000002): LDR SB, MT, MOD0 [GraphTool]
06CDn(81D00000): LDR R1, SB, 0H [data]
ENDo
06CEo .FIXUP P
06CEo(F720E005): BL MOD2 [Texts] PROC14
ENDp ConvertLibrary;
06CFp(8FE00000): LDR LNK, SP, 0H
06D0p(4EE800E4): ADD SP, SP, E4H
06D1p(C700000F): B LNK
BEGINq Texts.OpenWriter(W)r;s Texts.WriteString(W,t "GraphTool 8.8.2013")u;v
06D2q .PROC 0
06D2q .ENTRYPOINT
06D2q(4EE90004): SUB SP, SP, 4H
06D3q(AFE00000): STR LNK, SP, 0H
06D4r .FIXUP D
06D4r(8D000008): LDR SB, MT, MOD0 [GraphTool]
06D5r(40D80000): ADD R0, SB, 0H [data]
06D6r .FIXUP D
06D6r(8D200002): LDR SB, MT, MOD2 [Texts]
06D7r(41D80005): ADD R1, SB, VAR5
06D8s .FIXUP P
06D8s(F721700A): BL MOD2 [Texts] PROC23
06D9t .FIXUP D
06D9t(8D000003): LDR SB, MT, MOD0 [GraphTool]
06DAt(40D80000): ADD R0, SB, 0H [data]
06DBt .FIXUP D
06DBt(8D200002): LDR SB, MT, MOD2 [Texts]
06DCt(41D80005): ADD R1, SB, VAR5
06DDu .FIXUP D
06DDu(8D000002): LDR SB, MT, MOD0 [GraphTool]
06DEu(42D80144): ADD R2, SB, 144H ["GraphTool 8.8.2013"]
06DFu(43000013): MOV R3, R0, 13H
06E0v .FIXUP P
06E0v(F721D008): BL MOD2 [Texts] PROC29
Texts.WriteLn(W)w;x Texts.Append(Oberon.Log,y W.buf)z;a
06E1w .FIXUP D
06E1w(8D000004): LDR SB, MT, MOD0 [GraphTool]
06E2w(40D80000): ADD R0, SB, 0H [data]
06E3w .FIXUP D
06E3w(8D200002): LDR SB, MT, MOD2 [Texts]
06E4w(41D80005): ADD R1, SB, VAR5
06E5x .FIXUP P
06E5x(F721C005): BL MOD2 [Texts] PROC28
06E6y .FIXUP D
06E6y(8D400003): LDR SB, MT, MOD4 [Oberon]
06E7y(80D0000D): LDR R0, SB, VAR13
06E8z .FIXUP D
06E8z(8D000002): LDR SB, MT, MOD0 [GraphTool]
06E9z(81D00000): LDR R1, SB, 0H [data]
06EAa .FIXUP P
06EAa(F720E005): BL MOD2 [Texts] PROC14
END GraphTool.b
06EBb(8FE00000): LDR LNK, SP, 0H
06ECb(4EE80004): ADD SP, SP, 4H
06EDb(C700000F): B LNK