ORTool

Used Exports

BUILTINS: BYTE CHAR INC INTEGER LONGINT ODD
Files: File Old Read ReadByte ReadInt ReadNum ReadString Rider Set WriteByte
ORB: Array Const Pointer Proc Record Typ Var versionkey
Oberon: Log Par Par.pos Par.text
Texts: Append Name OpenScanner OpenWriter Scan Scanner Scanner.class Scanner.s Write WriteHex WriteInt WriteLn WriteString Writer Writer.buf

MODULE ORTool; (*NW 18.2.2013*)
.MODULE ORTool (KEY 876EEBD8, VERSION 1, SIZE 00001FB0)
.IMPORT Files (KEY 73F5D686)
.IMPORT Texts (KEY 0B9E9984)
.IMPORT Fonts (KEY F4C9F557)
.IMPORT Oberon (KEY A89CCEE2)
.IMPORT Display (KEY 4C08D3EA)
.IMPORT Viewers (KEY 25ABF199)
.IMPORT ORB (KEY 8A2CD362)
.IMPORT ORS (KEY 76547166)
.DATA ACH
.STRING ACH " form = "
.STRING B8H " len = "
.STRING C4H " size = "
.STRING D0H " exno = "
.STRING DCH " extlev = "
.STRING E8H " size = "
.STRING F4H " --"
.STRING F8H " class = "
.STRING 104H "OR-decode "
.STRING 110H " ->"
.STRING 114H " bad symfile version"
.STRING 12CH " not found"
.STRING 138H " R"
.STRING 13CH "MT"
.STRING 140H "SB"
.STRING 144H "SP"
.STRING 148H "LNK"
.STRING 14CH "STR "
.STRING 154H "LDR"
.STRING 158H "Sync "
.STRING 160H "decode "
.STRING 168H "imports:"
.STRING 174H "type descriptors"
.STRING 188H "data"
.STRING 190H "strings"
.STRING 198H "code"
.STRING 1A0H "commands:"
.STRING 1ACH "entries"
.STRING 1B4H "pointer refs"
.STRING 1C4H "fixP = "
.STRING 1CCH "fixD = "
.STRING 1D4H "fixT = "
.STRING 1DCH "entry = "
.STRING 1E8H "format eror"
.STRING 1F4H " not found"
.STRING 200H "ORTool 18.2.2013"
.STRING 214H "MOV"
.STRING 218H "LSL"
.STRING 21CH "ASR"
.STRING 220H "ROR"
.STRING 224H "AND"
.STRING 228H "ANN"
.STRING 22CH "IOR"
.STRING 230H "XOR"
.STRING 234H "ADD"
.STRING 238H "SUB"
.STRING 23CH "MUL"
.STRING 240H "DIV"
.STRING 244H "FAD"
.STRING 248H "FSB"
.STRING 24CH "FML"
.STRING 250H "FDV"
.STRING 254H "MI "
.STRING 258H "PL"
.STRING 25CH "EQ "
.STRING 260H "NE "
.STRING 264H "LS "
.STRING 268H "HI "
.STRING 26CH "LT "
.STRING 270H "GE "
.STRING 274H "LE "
.STRING 278H "GT "
.STRING 27CH "NO "
.POINTER_REFERENCES 0H 4H 24H 18H
.FIXUP T 0H
IMPORT SYSTEM, Files, Texts, Oberon, ORB;
VAR W: Texts.Writer;
Form: INTEGER; (*result of ReadType*)
mnemo0, mnemo1: ARRAY 16, 4 OF CHAR; (*mnemonics*)
PROCEDURE Read(VAR R: Files.Rider; VAR n: INTEGER);
VAR b: BYTE;
BEGINa Files.ReadByte(R,b b)c;d
0000a(4EE90014): SUB SP, SP, 14H
0001a(AFE00000): STR LNK, SP, 0H
0002a(A0E00004): STR R0, SP, 4H
0003a(A1E00008): STR R1, SP, 8H
0004a(A2E0000C): STR R2, SP, CH
0005b(80E00004): LDR R0, SP, 4H
0006b(81E00008): LDR R1, SP, 8H
0007c(42E80010): ADD R2, SP, 10H
0008d .FIXUP P
0008d(F710E008): BL MOD1 [Files] PROC14
IF b < 80H THENe n := b ELSEf ng := b - 100H ENDh
0009e(90E00010): LDR R0, SP, 10H
000Ae(40090080): SUB R0, R0, 80H
000Be(ED000004): BGE 4 [0010H]
000Cf(90E00010): LDR R0, SP, 10H
000Df(81E0000C): LDR R1, SP, CH
000Ef(A0100000): STR R0, R1, 0H
000Fg(E7000004): B 4 [0014H]
0010h(90E00010): LDR R0, SP, 10H
0011h(40090100): SUB R0, R0, 100H
0012h(81E0000C): LDR R1, SP, CH
0013h(A0100000): STR R0, R1, 0H
ENDi Read;
0014i(8FE00000): LDR LNK, SP, 0H
0015i(4EE80014): ADD SP, SP, 14H
0016i(C700000F): B LNK
PROCEDURE ReadType(VAR R: Files.Rider);
VAR key, len, lev, size, off: INTEGER;
ref, mno, class, form, readonly: INTEGER;
name, modname: ARRAY 32 OF CHAR;
BEGINj Read(R,k ref)l;m Texts.Write(W,n " ")o;p Texts.Write(W,q "[")r;s
0017j(4EE90074): SUB SP, SP, 74H
0018j(AFE00000): STR LNK, SP, 0H
0019j(A0E00004): STR R0, SP, 4H
001Aj(A1E00008): STR R1, SP, 8H
001Bk(80E00004): LDR R0, SP, 4H
001Ck(81E00008): LDR R1, SP, 8H
001Dl(42E80020): ADD R2, SP, 20H
001Em(F7FFFFE1): BL -31 [0000H]
001Fn .FIXUP D
001Fn(8D00001F): LDR SB, MT, MOD0 [ORTool]
0020n(40D80000): ADD R0, SB, 0H [data]
0021n .FIXUP D
0021n(8D200002): LDR SB, MT, MOD2 [Texts]
0022n(41D80005): ADD R1, SB, VAR5
0023o(42000020): MOV R2, R0, 20H
0024p .FIXUP P
0024p(F721B01C): BL MOD2 [Texts] PROC27
0025q .FIXUP D
0025q(8D000004): LDR SB, MT, MOD0 [ORTool]
0026q(40D80000): ADD R0, SB, 0H [data]
0027q .FIXUP D
0027q(8D200002): LDR SB, MT, MOD2 [Texts]
0028q(41D80005): ADD R1, SB, VAR5
0029r(4200005B): MOV R2, R0, 5BH
002As .FIXUP P
002As(F721B006): BL MOD2 [Texts] PROC27
IF ref < 0 THENt Texts.Write(W,u "^")v;w Texts.WriteInt(W,x -ref,y 1)z
002Bt(80E00020): LDR R0, SP, 20H
002Ct(40090000): SUB R0, R0, 0H
002Dt(ED000010): BGE 16 [003EH]
002Eu .FIXUP D
002Eu(8D000007): LDR SB, MT, MOD0 [ORTool]
002Fu(40D80000): ADD R0, SB, 0H [data]
0030u .FIXUP D
0030u(8D200002): LDR SB, MT, MOD2 [Texts]
0031u(41D80005): ADD R1, SB, VAR5
0032v(4200005E): MOV R2, R0, 5EH
0033w .FIXUP P
0033w(F721B009): BL MOD2 [Texts] PROC27
0034x .FIXUP D
0034x(8D000004): LDR SB, MT, MOD0 [ORTool]
0035x(40D80000): ADD R0, SB, 0H [data]
0036x .FIXUP D
0036x(8D200002): LDR SB, MT, MOD2 [Texts]
0037x(41D80005): ADD R1, SB, VAR5
0038y(82E00020): LDR R2, SP, 20H
0039y(43000000): MOV R3, R0, 0H
003Ay(02390002): SUB R2, R3, R2
003Bz(43000001): MOV R3, R0, 1H
ELSEa Textsb.WriteInt(W,c ref,d 1)e;f
003Ca .FIXUP P
003Ca(F721E009): BL MOD2 [Texts] PROC30
003Db(E7000142): B 322 [0180H]
003Ec .FIXUP D
003Ec(8D000008): LDR SB, MT, MOD0 [ORTool]
003Fc(40D80000): ADD R0, SB, 0H [data]
0040c .FIXUP D
0040c(8D200002): LDR SB, MT, MOD2 [Texts]
0041c(41D80005): ADD R1, SB, VAR5
0042d(82E00020): LDR R2, SP, 20H
0043e(43000001): MOV R3, R0, 1H
0044f .FIXUP P
0044f(F721E008): BL MOD2 [Texts] PROC30
Read(R,g form)h;i Texts.WriteString(W,j " form = ")k;l Texts.WriteInt(W,m form,n 1)o;p
0045g(80E00004): LDR R0, SP, 4H
0046g(81E00008): LDR R1, SP, 8H
0047h(42E8002C): ADD R2, SP, 2CH
0048i(F7FFFFB7): BL -73 [0000H]
0049j .FIXUP D
0049j(8D000009): LDR SB, MT, MOD0 [ORTool]
004Aj(40D80000): ADD R0, SB, 0H [data]
004Bj .FIXUP D
004Bj(8D200002): LDR SB, MT, MOD2 [Texts]
004Cj(41D80005): ADD R1, SB, VAR5
004Dk .FIXUP D
004Dk(8D000002): LDR SB, MT, MOD0 [ORTool]
004Ek(42D800AC): ADD R2, SB, ACH [" form = "]
004Fk(4300000A): MOV R3, R0, AH
0050l .FIXUP P
0050l(F721D00C): BL MOD2 [Texts] PROC29
0051m .FIXUP D
0051m(8D000004): LDR SB, MT, MOD0 [ORTool]
0052m(40D80000): ADD R0, SB, 0H [data]
0053m .FIXUP D
0053m(8D200002): LDR SB, MT, MOD2 [Texts]
0054m(41D80005): ADD R1, SB, VAR5
0055n(82E0002C): LDR R2, SP, 2CH
0056o(43000001): MOV R3, R0, 1H
0057p .FIXUP P
0057p(F721E007): BL MOD2 [Texts] PROC30
IF form = ORB.Pointer THENq ReadType(R)r
0058q(80E0002C): LDR R0, SP, 2CH
0059q(40090007): SUB R0, R0, 7H
005Aq(E9000004): BNE 4 [005FH]
005Br(80E00004): LDR R0, SP, 4H
005Cr(81E00008): LDR R1, SP, 8H
ELSIFs formt = ORB.Array THENu
005Ds(F7FFFFB9): BL -71 [0017H]
005Et(E70000F1): B 241 [0150H]
005Fu(80E0002C): LDR R0, SP, 2CH
0060u(4009000C): SUB R0, R0, CH
0061u(E900002A): BNE 42 [008CH]
ReadType(R)v;w Files.ReadNum(R,x len)y;z Files.ReadNum(R,a size)b;c
0062v(80E00004): LDR R0, SP, 4H
0063v(81E00008): LDR R1, SP, 8H
0064w(F7FFFFB2): BL -78 [0017H]
0065x(80E00004): LDR R0, SP, 4H
0066x(81E00008): LDR R1, SP, 8H
0067y(42E80010): ADD R2, SP, 10H
0068z .FIXUP P
0068z(F7115011): BL MOD1 [Files] PROC21
0069a(80E00004): LDR R0, SP, 4H
006Aa(81E00008): LDR R1, SP, 8H
006Bb(42E80018): ADD R2, SP, 18H
006Cc .FIXUP P
006Cc(F7115004): BL MOD1 [Files] PROC21
Texts.WriteString(W,d " len = ")e;f Texts.WriteInt(W,g len,h 1)i;j
006Dd .FIXUP D
006Dd(8D00001A): LDR SB, MT, MOD0 [ORTool]
006Ed(40D80000): ADD R0, SB, 0H [data]
006Fd .FIXUP D
006Fd(8D200002): LDR SB, MT, MOD2 [Texts]
0070d(41D80005): ADD R1, SB, VAR5
0071e .FIXUP D
0071e(8D000002): LDR SB, MT, MOD0 [ORTool]
0072e(42D800B8): ADD R2, SB, B8H [" len = "]
0073e(43000009): MOV R3, R0, 9H
0074f .FIXUP P
0074f(F721D008): BL MOD2 [Texts] PROC29
0075g .FIXUP D
0075g(8D000004): LDR SB, MT, MOD0 [ORTool]
0076g(40D80000): ADD R0, SB, 0H [data]
0077g .FIXUP D
0077g(8D200002): LDR SB, MT, MOD2 [Texts]
0078g(41D80005): ADD R1, SB, VAR5
0079h(82E00010): LDR R2, SP, 10H
007Ai(43000001): MOV R3, R0, 1H
007Bj .FIXUP P
007Bj(F721E007): BL MOD2 [Texts] PROC30
Texts.WriteString(W,k " size = ")l;m Texts.WriteInt(W,n size,o 1)p
007Ck .FIXUP D
007Ck(8D000005): LDR SB, MT, MOD0 [ORTool]
007Dk(40D80000): ADD R0, SB, 0H [data]
007Ek .FIXUP D
007Ek(8D200002): LDR SB, MT, MOD2 [Texts]
007Fk(41D80005): ADD R1, SB, VAR5
0080l .FIXUP D
0080l(8D000002): LDR SB, MT, MOD0 [ORTool]
0081l(42D800C4): ADD R2, SB, C4H [" size = "]
0082l(4300000A): MOV R3, R0, AH
0083m .FIXUP P
0083m(F721D008): BL MOD2 [Texts] PROC29
0084n .FIXUP D
0084n(8D000004): LDR SB, MT, MOD0 [ORTool]
0085n(40D80000): ADD R0, SB, 0H [data]
0086n .FIXUP D
0086n(8D200002): LDR SB, MT, MOD2 [Texts]
0087n(41D80005): ADD R1, SB, VAR5
0088o(82E00018): LDR R2, SP, 18H
0089p(43000001): MOV R3, R0, 1H
ELSIFq formr = ORB.Record THENs
008Aq .FIXUP P
008Aq(F721E007): BL MOD2 [Texts] PROC30
008Br(E70000C4): B 196 [0150H]
008Cs(80E0002C): LDR R0, SP, 2CH
008Ds(4009000D): SUB R0, R0, DH
008Es(E9000085): BNE 133 [0114H]
ReadType(R)t;u (*base type*)
008Ft(80E00004): LDR R0, SP, 4H
0090t(81E00008): LDR R1, SP, 8H
0091u(F7FFFF85): BL -123 [0017H]
Files.ReadNum(R,v off)w;x Texts.WriteString(W,y " exno = ")z;a Texts.WriteInt(W,b off,c 1)d;e
0092v(80E00004): LDR R0, SP, 4H
0093v(81E00008): LDR R1, SP, 8H
0094w(42E8001C): ADD R2, SP, 1CH
0095x .FIXUP P
0095x(F711500B): BL MOD1 [Files] PROC21
0096y .FIXUP D
0096y(8D000010): LDR SB, MT, MOD0 [ORTool]
0097y(40D80000): ADD R0, SB, 0H [data]
0098y .FIXUP D
0098y(8D200002): LDR SB, MT, MOD2 [Texts]
0099y(41D80005): ADD R1, SB, VAR5
009Az .FIXUP D
009Az(8D000002): LDR SB, MT, MOD0 [ORTool]
009Bz(42D800D0): ADD R2, SB, D0H [" exno = "]
009Cz(4300000A): MOV R3, R0, AH
009Da .FIXUP P
009Da(F721D008): BL MOD2 [Texts] PROC29
009Eb .FIXUP D
009Eb(8D000004): LDR SB, MT, MOD0 [ORTool]
009Fb(40D80000): ADD R0, SB, 0H [data]
00A0b .FIXUP D
00A0b(8D200002): LDR SB, MT, MOD2 [Texts]
00A1b(41D80005): ADD R1, SB, VAR5
00A2c(82E0001C): LDR R2, SP, 1CH
00A3d(43000001): MOV R3, R0, 1H
00A4e .FIXUP P
00A4e(F721E007): BL MOD2 [Texts] PROC30
Files.ReadNum(R,f off)g;h Texts.WriteString(W,i " extlev = ")j;k Texts.WriteInt(W,l off,m 1)n;o
00A5f(80E00004): LDR R0, SP, 4H
00A6f(81E00008): LDR R1, SP, 8H
00A7g(42E8001C): ADD R2, SP, 1CH
00A8h .FIXUP P
00A8h(F7115004): BL MOD1 [Files] PROC21
00A9i .FIXUP D
00A9i(8D000009): LDR SB, MT, MOD0 [ORTool]
00AAi(40D80000): ADD R0, SB, 0H [data]
00ABi .FIXUP D
00ABi(8D200002): LDR SB, MT, MOD2 [Texts]
00ACi(41D80005): ADD R1, SB, VAR5
00ADj .FIXUP D
00ADj(8D000002): LDR SB, MT, MOD0 [ORTool]
00AEj(42D800DC): ADD R2, SB, DCH [" extlev = "]
00AFj(4300000C): MOV R3, R0, CH
00B0k .FIXUP P
00B0k(F721D008): BL MOD2 [Texts] PROC29
00B1l .FIXUP D
00B1l(8D000004): LDR SB, MT, MOD0 [ORTool]
00B2l(40D80000): ADD R0, SB, 0H [data]
00B3l .FIXUP D
00B3l(8D200002): LDR SB, MT, MOD2 [Texts]
00B4l(41D80005): ADD R1, SB, VAR5
00B5m(82E0001C): LDR R2, SP, 1CH
00B6n(43000001): MOV R3, R0, 1H
00B7o .FIXUP P
00B7o(F721E007): BL MOD2 [Texts] PROC30
Files.ReadNum(R,p size)q;r Texts.WriteString(W,s " size = ")t;u Texts.WriteInt(W,v size,w 1)x;y
00B8p(80E00004): LDR R0, SP, 4H
00B9p(81E00008): LDR R1, SP, 8H
00BAq(42E80018): ADD R2, SP, 18H
00BBr .FIXUP P
00BBr(F7115004): BL MOD1 [Files] PROC21
00BCs .FIXUP D
00BCs(8D000009): LDR SB, MT, MOD0 [ORTool]
00BDs(40D80000): ADD R0, SB, 0H [data]
00BEs .FIXUP D
00BEs(8D200002): LDR SB, MT, MOD2 [Texts]
00BFs(41D80005): ADD R1, SB, VAR5
00C0t .FIXUP D
00C0t(8D000002): LDR SB, MT, MOD0 [ORTool]
00C1t(42D800E8): ADD R2, SB, E8H [" size = "]
00C2t(4300000A): MOV R3, R0, AH
00C3u .FIXUP P
00C3u(F721D008): BL MOD2 [Texts] PROC29
00C4v .FIXUP D
00C4v(8D000004): LDR SB, MT, MOD0 [ORTool]
00C5v(40D80000): ADD R0, SB, 0H [data]
00C6v .FIXUP D
00C6v(8D200002): LDR SB, MT, MOD2 [Texts]
00C7v(41D80005): ADD R1, SB, VAR5
00C8w(82E00018): LDR R2, SP, 18H
00C9x(43000001): MOV R3, R0, 1H
00CAy .FIXUP P
00CAy(F721E007): BL MOD2 [Texts] PROC30
Texts.Write(W,z " ")a;b Texts.Write(W,c "{")d;e Read(R,f class)g;h
00CBz .FIXUP D
00CBz(8D000005): LDR SB, MT, MOD0 [ORTool]
00CCz(40D80000): ADD R0, SB, 0H [data]
00CDz .FIXUP D
00CDz(8D200002): LDR SB, MT, MOD2 [Texts]
00CEz(41D80005): ADD R1, SB, VAR5
00CFa(42000020): MOV R2, R0, 20H
00D0b .FIXUP P
00D0b(F721B006): BL MOD2 [Texts] PROC27
00D1c .FIXUP D
00D1c(8D000004): LDR SB, MT, MOD0 [ORTool]
00D2c(40D80000): ADD R0, SB, 0H [data]
00D3c .FIXUP D
00D3c(8D200002): LDR SB, MT, MOD2 [Texts]
00D4c(41D80005): ADD R1, SB, VAR5
00D5d(4200007B): MOV R2, R0, 7BH
00D6e .FIXUP P
00D6e(F721B006): BL MOD2 [Texts] PROC27
00D7f(80E00004): LDR R0, SP, 4H
00D8f(81E00008): LDR R1, SP, 8H
00D9g(42E80028): ADD R2, SP, 28H
00DAh(F7FFFF25): BL -219 [0000H]
WHILE class # 0 DOi (*fields*)
00DBi(80E00028): LDR R0, SP, 28H
00DCi(E1000030): BEQ 48 [010DH]
Files.ReadString(R,j name)k;l
00DDj(80E00004): LDR R0, SP, 4H
00DEj(81E00008): LDR R1, SP, 8H
00DFk(42E80034): ADD R2, SP, 34H
00E0k(43000020): MOV R3, R0, 20H
00E1l .FIXUP P
00E1l(F711400B): BL MOD1 [Files] PROC20
IF name[0] # 0X THENm Texts.Write(W,n " ")o;p Texts.WriteString(W,q name)r;s ReadType(R)t
00E2m(90E00034): LDR R0, SP, 34H
00E3m(E1000011): BEQ 17 [00F5H]
00E4n .FIXUP D
00E4n(8D000011): LDR SB, MT, MOD0 [ORTool]
00E5n(40D80000): ADD R0, SB, 0H [data]
00E6n .FIXUP D
00E6n(8D200002): LDR SB, MT, MOD2 [Texts]
00E7n(41D80005): ADD R1, SB, VAR5
00E8o(42000020): MOV R2, R0, 20H
00E9p .FIXUP P
00E9p(F721B008): BL MOD2 [Texts] PROC27
00EAq .FIXUP D
00EAq(8D000004): LDR SB, MT, MOD0 [ORTool]
00EBq(40D80000): ADD R0, SB, 0H [data]
00ECq .FIXUP D
00ECq(8D200002): LDR SB, MT, MOD2 [Texts]
00EDq(41D80005): ADD R1, SB, VAR5
00EEr(42E80034): ADD R2, SP, 34H
00EFr(43000020): MOV R3, R0, 20H
00F0s .FIXUP P
00F0s(F721D007): BL MOD2 [Texts] PROC29
00F1t(80E00004): LDR R0, SP, 4H
00F2t(81E00008): LDR R1, SP, 8H
ELSEu Textsv.WriteString(W,w " --")x
00F3u(F7FFFF23): BL -221 [0017H]
00F4v(E7000008): B 8 [00FDH]
00F5w .FIXUP D
00F5w(8D000009): LDR SB, MT, MOD0 [ORTool]
00F6w(40D80000): ADD R0, SB, 0H [data]
00F7w .FIXUP D
00F7w(8D200002): LDR SB, MT, MOD2 [Texts]
00F8w(41D80005): ADD R1, SB, VAR5
00F9x .FIXUP D
00F9x(8D000002): LDR SB, MT, MOD0 [ORTool]
00FAx(42D800F4): ADD R2, SB, F4H [" --"]
00FBx(43000004): MOV R3, R0, 4H
ENDy ;
00FCy .FIXUP P
00FCy(F721D00C): BL MOD2 [Texts] PROC29
Files.ReadNum(R,z off)a;b Texts.WriteInt(W,c off,d 4)e;f Read(R,g class)h
00FDz(80E00004): LDR R0, SP, 4H
00FEz(81E00008): LDR R1, SP, 8H
00FFa(42E8001C): ADD R2, SP, 1CH
0100b .FIXUP P
0100b(F7115004): BL MOD1 [Files] PROC21
0101c .FIXUP D
0101c(8D000008): LDR SB, MT, MOD0 [ORTool]
0102c(40D80000): ADD R0, SB, 0H [data]
0103c .FIXUP D
0103c(8D200002): LDR SB, MT, MOD2 [Texts]
0104c(41D80005): ADD R1, SB, VAR5
0105d(82E0001C): LDR R2, SP, 1CH
0106e(43000004): MOV R3, R0, 4H
0107f .FIXUP P
0107f(F721E007): BL MOD2 [Texts] PROC30
0108g(80E00004): LDR R0, SP, 4H
0109g(81E00008): LDR R1, SP, 8H
010Ah(42E80028): ADD R2, SP, 28H
ENDi ;
010Bi(F7FFFEF4): BL -268 [0000H]
010Ci(E7FFFFCE): B -50 [00DBH]
Texts.Write(W,j "}")k
010Dj .FIXUP D
010Dj(8D00000A): LDR SB, MT, MOD0 [ORTool]
010Ej(40D80000): ADD R0, SB, 0H [data]
010Fj .FIXUP D
010Fj(8D200002): LDR SB, MT, MOD2 [Texts]
0110j(41D80005): ADD R1, SB, VAR5
0111k(4200007D): MOV R2, R0, 7DH
ELSIFl formm = ORB.Proc THENn
0112l .FIXUP P
0112l(F721B00B): BL MOD2 [Texts] PROC27
0113m(E700003C): B 60 [0150H]
0114n(80E0002C): LDR R0, SP, 2CH
0115n(4009000A): SUB R0, R0, AH
0116n(E9000039): BNE 57 [0150H]
ReadType(R)o;p Texts.Write(W,q "(")r;s Read(R,t class)u;v
0117o(80E00004): LDR R0, SP, 4H
0118o(81E00008): LDR R1, SP, 8H
0119p(F7FFFEFD): BL -259 [0017H]
011Aq .FIXUP D
011Aq(8D00000B): LDR SB, MT, MOD0 [ORTool]
011Bq(40D80000): ADD R0, SB, 0H [data]
011Cq .FIXUP D
011Cq(8D200002): LDR SB, MT, MOD2 [Texts]
011Dq(41D80005): ADD R1, SB, VAR5
011Er(42000028): MOV R2, R0, 28H
011Fs .FIXUP P
011Fs(F721B00D): BL MOD2 [Texts] PROC27
0120t(80E00004): LDR R0, SP, 4H
0121t(81E00008): LDR R1, SP, 8H
0122u(42E80028): ADD R2, SP, 28H
0123v(F7FFFEDC): BL -292 [0000H]
WHILE class # 0 DOw
0124w(80E00028): LDR R0, SP, 28H
0125w(E1000024): BEQ 36 [014AH]
Texts.WriteString(W,x " class = ")y;z Texts.WriteInt(W,a class,b 1)c;d Read(R,e readonly)f;g
0126x .FIXUP D
0126x(8D00000A): LDR SB, MT, MOD0 [ORTool]
0127x(40D80000): ADD R0, SB, 0H [data]
0128x .FIXUP D
0128x(8D200002): LDR SB, MT, MOD2 [Texts]
0129x(41D80005): ADD R1, SB, VAR5
012Ay .FIXUP D
012Ay(8D000002): LDR SB, MT, MOD0 [ORTool]
012By(42D800F8): ADD R2, SB, F8H [" class = "]
012Cy(4300000A): MOV R3, R0, AH
012Dz .FIXUP P
012Dz(F721D00E): BL MOD2 [Texts] PROC29
012Ea .FIXUP D
012Ea(8D000004): LDR SB, MT, MOD0 [ORTool]
012Fa(40D80000): ADD R0, SB, 0H [data]
0130a .FIXUP D
0130a(8D200002): LDR SB, MT, MOD2 [Texts]
0131a(41D80005): ADD R1, SB, VAR5
0132b(82E00028): LDR R2, SP, 28H
0133c(43000001): MOV R3, R0, 1H
0134d .FIXUP P
0134d(F721E007): BL MOD2 [Texts] PROC30
0135e(80E00004): LDR R0, SP, 4H
0136e(81E00008): LDR R1, SP, 8H
0137f(42E80030): ADD R2, SP, 30H
0138g(F7FFFEC7): BL -313 [0000H]
IF readonly = 1 THENh Texts.Write(W,i "#")j ENDk ;
0139h(80E00030): LDR R0, SP, 30H
013Ah(40090001): SUB R0, R0, 1H
013Bh(E9000006): BNE 6 [0142H]
013Ci .FIXUP D
013Ci(8D00000C): LDR SB, MT, MOD0 [ORTool]
013Di(40D80000): ADD R0, SB, 0H [data]
013Ei .FIXUP D
013Ei(8D200002): LDR SB, MT, MOD2 [Texts]
013Fi(41D80005): ADD R1, SB, VAR5
0140j(42000023): MOV R2, R0, 23H
0141k .FIXUP P
0141k(F721B00D): BL MOD2 [Texts] PROC27
ReadType(R)l;m Read(R,n class)o
0142l(80E00004): LDR R0, SP, 4H
0143l(81E00008): LDR R1, SP, 8H
0144m(F7FFFED2): BL -302 [0017H]
0145n(80E00004): LDR R0, SP, 4H
0146n(81E00008): LDR R1, SP, 8H
0147o(42E80028): ADD R2, SP, 28H
ENDp ;
0148p(F7FFFEB7): BL -329 [0000H]
0149p(E7FFFFDA): B -38 [0124H]
Texts.Write(W,q ")")r
014Aq .FIXUP D
014Aq(8D00000C): LDR SB, MT, MOD0 [ORTool]
014Bq(40D80000): ADD R0, SB, 0H [data]
014Cq .FIXUP D
014Cq(8D200002): LDR SB, MT, MOD2 [Texts]
014Dq(41D80005): ADD R1, SB, VAR5
014Er(42000029): MOV R2, R0, 29H
ENDs ;
014Fs .FIXUP P
014Fs(F721B00E): BL MOD2 [Texts] PROC27
Files.ReadString(R,t modname)u;v
0150t(80E00004): LDR R0, SP, 4H
0151t(81E00008): LDR R1, SP, 8H
0152u(42E80054): ADD R2, SP, 54H
0153u(43000020): MOV R3, R0, 20H
0154v .FIXUP P
0154v(F7114005): BL MOD1 [Files] PROC20
IF modname[0] # 0X THENw
0155w(90E00054): LDR R0, SP, 54H
0156w(E1000029): BEQ 41 [0180H]
Files.ReadInt(R,x key)y;z Files.ReadString(R,a name)b;c
0157x(80E00004): LDR R0, SP, 4H
0158x(81E00008): LDR R1, SP, 8H
0159y(42E8000C): ADD R2, SP, CH
015Az .FIXUP P
015Az(F7111006): BL MOD1 [Files] PROC17
015Ba(80E00004): LDR R0, SP, 4H
015Ca(81E00008): LDR R1, SP, 8H
015Db(42E80034): ADD R2, SP, 34H
015Eb(43000020): MOV R3, R0, 20H
015Fc .FIXUP P
015Fc(F7114005): BL MOD1 [Files] PROC20
Texts.Write(W,d " ")e;f Texts.WriteString(W,g modname)h;i Texts.Write(W,j ".")k;l Texts.WriteString(W,m name)n;o
0160d .FIXUP D
0160d(8D000014): LDR SB, MT, MOD0 [ORTool]
0161d(40D80000): ADD R0, SB, 0H [data]
0162d .FIXUP D
0162d(8D200002): LDR SB, MT, MOD2 [Texts]
0163d(41D80005): ADD R1, SB, VAR5
0164e(42000020): MOV R2, R0, 20H
0165f .FIXUP P
0165f(F721B006): BL MOD2 [Texts] PROC27
0166g .FIXUP D
0166g(8D000004): LDR SB, MT, MOD0 [ORTool]
0167g(40D80000): ADD R0, SB, 0H [data]
0168g .FIXUP D
0168g(8D200002): LDR SB, MT, MOD2 [Texts]
0169g(41D80005): ADD R1, SB, VAR5
016Ah(42E80054): ADD R2, SP, 54H
016Bh(43000020): MOV R3, R0, 20H
016Ci .FIXUP P
016Ci(F721D007): BL MOD2 [Texts] PROC29
016Dj .FIXUP D
016Dj(8D000005): LDR SB, MT, MOD0 [ORTool]
016Ej(40D80000): ADD R0, SB, 0H [data]
016Fj .FIXUP D
016Fj(8D200002): LDR SB, MT, MOD2 [Texts]
0170j(41D80005): ADD R1, SB, VAR5
0171k(4200002E): MOV R2, R0, 2EH
0172l .FIXUP P
0172l(F721B006): BL MOD2 [Texts] PROC27
0173m .FIXUP D
0173m(8D000004): LDR SB, MT, MOD0 [ORTool]
0174m(40D80000): ADD R0, SB, 0H [data]
0175m .FIXUP D
0175m(8D200002): LDR SB, MT, MOD2 [Texts]
0176m(41D80005): ADD R1, SB, VAR5
0177n(42E80034): ADD R2, SP, 34H
0178n(43000020): MOV R3, R0, 20H
0179o .FIXUP P
0179o(F721D007): BL MOD2 [Texts] PROC29
Texts.WriteHex(W,p key)q
017Ap .FIXUP D
017Ap(8D000005): LDR SB, MT, MOD0 [ORTool]
017Bp(40D80000): ADD R0, SB, 0H [data]
017Cp .FIXUP D
017Cp(8D200002): LDR SB, MT, MOD2 [Texts]
017Dp(41D80005): ADD R1, SB, VAR5
017Eq(82E0000C): LDR R2, SP, CH
ENDr
017Fr .FIXUP P
017Fr(F721F006): BL MOD2 [Texts] PROC31
END ;
Form := form;s Texts.Write(W,t "]")u
0180s(80E0002C): LDR R0, SP, 2CH
0181s .FIXUP D
0181s(8D000005): LDR SB, MT, MOD0 [ORTool]
0182s(A0D00028): STR R0, SB, 28H [data]
0183t(40D80000): ADD R0, SB, 0H
0184t .FIXUP D
0184t(8D200003): LDR SB, MT, MOD2 [Texts]
0185t(41D80005): ADD R1, SB, VAR5
0186u(4200005D): MOV R2, R0, 5DH
ENDv ReadType;
0187v .FIXUP P
0187v(F721B008): BL MOD2 [Texts] PROC27
0188v(8FE00000): LDR LNK, SP, 0H
0189v(4EE80074): ADD SP, SP, 74H
018Av(C700000F): B LNK
PROCEDURE DecSym*; (*decode symbol file*)
VAR class, typno, k: INTEGER;
name: ARRAY 32 OF CHAR;
F: Files.File; R: Files.Rider;
S: Texts.Scanner;
BEGINw Texts.OpenScanner(S,x Oberon.Par.text,y Oberon.Par.pos)z;a Texts.Scan(S)b;c
018Bw .PROC 1
018Bw .COMMAND DecSym
018Bw(4EE900C0): SUB SP, SP, C0H
018Cw(AFE00000): STR LNK, SP, 0H
018Dx(40E8004C): ADD R0, SP, 4CH
018Ex .FIXUP D
018Ex(8D20000A): LDR SB, MT, MOD2 [Texts]
018Fx(41D80003): ADD R1, SB, VAR3
0190y .FIXUP D
0190y(8D400002): LDR SB, MT, MOD4 [Oberon]
0191y(42D8000E): ADD R2, SB, VAR14
0192y(82200008): LDR R2, R2, 8H
0193z .FIXUP D
0193z(8D400003): LDR SB, MT, MOD4 [Oberon]
0194z(43D8000E): ADD R3, SB, VAR14
0195z(8330000C): LDR R3, R3, CH
0196a .FIXUP P
0196a(F721500F): BL MOD2 [Texts] PROC21
0197b(40E8004C): ADD R0, SP, 4CH
0198b .FIXUP D
0198b(8D200005): LDR SB, MT, MOD2 [Texts]
0199b(41D80003): ADD R1, SB, VAR3
019Ac .FIXUP P
019Ac(F7216004): BL MOD2 [Texts] PROC22
IF S.class = Texts.Name THENd
019Bd(80E00088): LDR R0, SP, 88H
019Cd(40090001): SUB R0, R0, 1H
019Dd(E90000E5): BNE 229 [0283H]
Texts.WriteString(W,e "OR-decode ")f;g Texts.WriteString(W,h S.s)i;j
019Ee .FIXUP D
019Ee(8D000006): LDR SB, MT, MOD0 [ORTool]
019Fe(40D80000): ADD R0, SB, 0H [data]
01A0e .FIXUP D
01A0e(8D200002): LDR SB, MT, MOD2 [Texts]
01A1e(41D80005): ADD R1, SB, VAR5
01A2f .FIXUP D
01A2f(8D000002): LDR SB, MT, MOD0 [ORTool]
01A3f(42D80104): ADD R2, SB, 104H ["OR-decode "]
01A4f(4300000B): MOV R3, R0, BH
01A5g .FIXUP P
01A5g(F721D00B): BL MOD2 [Texts] PROC29
01A6h .FIXUP D
01A6h(8D000004): LDR SB, MT, MOD0 [ORTool]
01A7h(40D80000): ADD R0, SB, 0H [data]
01A8h .FIXUP D
01A8h(8D200002): LDR SB, MT, MOD2 [Texts]
01A9h(41D80005): ADD R1, SB, VAR5
01AAi(42E800A0): ADD R2, SP, A0H
01ABi(43000020): MOV R3, R0, 20H
01ACj .FIXUP P
01ACj(F721D007): BL MOD2 [Texts] PROC29
Texts.WriteLn(W)k;l Texts.Append(Oberon.Log,m W.buf)n;o
01ADk .FIXUP D
01ADk(8D000005): LDR SB, MT, MOD0 [ORTool]
01AEk(40D80000): ADD R0, SB, 0H [data]
01AFk .FIXUP D
01AFk(8D200002): LDR SB, MT, MOD2 [Texts]
01B0k(41D80005): ADD R1, SB, VAR5
01B1l .FIXUP P
01B1l(F721C005): BL MOD2 [Texts] PROC28
01B2m .FIXUP D
01B2m(8D400003): LDR SB, MT, MOD4 [Oberon]
01B3m(80D0000D): LDR R0, SB, VAR13
01B4n .FIXUP D
01B4n(8D000002): LDR SB, MT, MOD0 [ORTool]
01B5n(81D00000): LDR R1, SB, 0H [data]
01B6o .FIXUP P
01B6o(F720E005): BL MOD2 [Texts] PROC14
F := Files.Old(S.s)p;q
01B7p(40E800A0): ADD R0, SP, A0H
01B8p(41000020): MOV R1, R0, 20H
01B9q .FIXUP P
01B9q(F7102003): BL MOD1 [Files] PROC2
01BAq(A0E00030): STR R0, SP, 30H
IF F # NIL THENr
01BBr(80E00030): LDR R0, SP, 30H
01BCr(E10000B4): BEQ 180 [0271H]
Files.Set(R,s F,t 0)u;v Files.ReadInt(R,w k)x;y Files.ReadInt(R,z k)a;b
01BDs(40E80034): ADD R0, SP, 34H
01BEs .FIXUP D
01BEs(8D10000A): LDR SB, MT, MOD1 [Files]
01BFs(41D80001): ADD R1, SB, VAR1
01C0t(82E00030): LDR R2, SP, 30H
01C1u(43000000): MOV R3, R0, 0H
01C2v .FIXUP P
01C2v(F710B009): BL MOD1 [Files] PROC11
01C3w(40E80034): ADD R0, SP, 34H
01C4w .FIXUP D
01C4w(8D100006): LDR SB, MT, MOD1 [Files]
01C5w(41D80001): ADD R1, SB, VAR1
01C6x(42E8000C): ADD R2, SP, CH
01C7y .FIXUP P
01C7y(F7111005): BL MOD1 [Files] PROC17
01C8z(40E80034): ADD R0, SP, 34H
01C9z .FIXUP D
01C9z(8D100005): LDR SB, MT, MOD1 [Files]
01CAz(41D80001): ADD R1, SB, VAR1
01CBa(42E8000C): ADD R2, SP, CH
01CCb .FIXUP P
01CCb(F7111005): BL MOD1 [Files] PROC17
Files.ReadString(R,c name)d;e Texts.WriteString(W,f name)g;h Texts.WriteHex(W,i k)j;k
01CDc(40E80034): ADD R0, SP, 34H
01CEc .FIXUP D
01CEc(8D100005): LDR SB, MT, MOD1 [Files]
01CFc(41D80001): ADD R1, SB, VAR1
01D0d(42E80010): ADD R2, SP, 10H
01D1d(43000020): MOV R3, R0, 20H
01D2e .FIXUP P
01D2e(F7114006): BL MOD1 [Files] PROC20
01D3f .FIXUP D
01D3f(8D000005): LDR SB, MT, MOD0 [ORTool]
01D4f(40D80000): ADD R0, SB, 0H [data]
01D5f .FIXUP D
01D5f(8D200002): LDR SB, MT, MOD2 [Texts]
01D6f(41D80005): ADD R1, SB, VAR5
01D7g(42E80010): ADD R2, SP, 10H
01D8g(43000020): MOV R3, R0, 20H
01D9h .FIXUP P
01D9h(F721D007): BL MOD2 [Texts] PROC29
01DAi .FIXUP D
01DAi(8D000005): LDR SB, MT, MOD0 [ORTool]
01DBi(40D80000): ADD R0, SB, 0H [data]
01DCi .FIXUP D
01DCi(8D200002): LDR SB, MT, MOD2 [Texts]
01DDi(41D80005): ADD R1, SB, VAR5
01DEj(82E0000C): LDR R2, SP, CH
01DFk .FIXUP P
01DFk(F721F006): BL MOD2 [Texts] PROC31
Read(R,l class)m;n Texts.WriteInt(W,o class,p 3)q;r (*sym file version*)
01E0l(40E80034): ADD R0, SP, 34H
01E1l .FIXUP D
01E1l(8D100005): LDR SB, MT, MOD1 [Files]
01E2l(41D80001): ADD R1, SB, VAR1
01E3m(42E80004): ADD R2, SP, 4H
01E4n(F7FFFE1B): BL -485 [0000H]
01E5o .FIXUP D
01E5o(8D000004): LDR SB, MT, MOD0 [ORTool]
01E6o(40D80000): ADD R0, SB, 0H [data]
01E7o .FIXUP D
01E7o(8D200002): LDR SB, MT, MOD2 [Texts]
01E8o(41D80005): ADD R1, SB, VAR5
01E9p(82E00004): LDR R2, SP, 4H
01EAq(43000003): MOV R3, R0, 3H
01EBr .FIXUP P
01EBr(F721E00C): BL MOD2 [Texts] PROC30
IF class = ORB.versionkey THENs
01ECs(80E00004): LDR R0, SP, 4H
01EDs(40090001): SUB R0, R0, 1H
01EEs(E9000079): BNE 121 [0268H]
Texts.WriteLn(W)t;u Read(R,v class)w;x
01EFt .FIXUP D
01EFt(8D000008): LDR SB, MT, MOD0 [ORTool]
01F0t(40D80000): ADD R0, SB, 0H [data]
01F1t .FIXUP D
01F1t(8D200002): LDR SB, MT, MOD2 [Texts]
01F2t(41D80005): ADD R1, SB, VAR5
01F3u .FIXUP P
01F3u(F721C008): BL MOD2 [Texts] PROC28
01F4v(40E80034): ADD R0, SP, 34H
01F5v .FIXUP D
01F5v(8D100004): LDR SB, MT, MOD1 [Files]
01F6v(41D80001): ADD R1, SB, VAR1
01F7w(42E80004): ADD R2, SP, 4H
01F8x(F7FFFE07): BL -505 [0000H]
WHILE class # 0 DOy
01F9y(80E00004): LDR R0, SP, 4H
01FAy(E100006C): BEQ 108 [0267H]
Texts.WriteInt(W,z class,a 4)b;c Files.ReadString(R,d name)e;f Texts.Write(W,g " ")h;i Texts.WriteString(W,j name)k;l
01FBz .FIXUP D
01FBz(8D000006): LDR SB, MT, MOD0 [ORTool]
01FCz(40D80000): ADD R0, SB, 0H [data]
01FDz .FIXUP D
01FDz(8D200002): LDR SB, MT, MOD2 [Texts]
01FEz(41D80005): ADD R1, SB, VAR5
01FFa(82E00004): LDR R2, SP, 4H
0200b(43000004): MOV R3, R0, 4H
0201c .FIXUP P
0201c(F721E00E): BL MOD2 [Texts] PROC30
0202d(40E80034): ADD R0, SP, 34H
0203d .FIXUP D
0203d(8D100006): LDR SB, MT, MOD1 [Files]
0204d(41D80001): ADD R1, SB, VAR1
0205e(42E80010): ADD R2, SP, 10H
0206e(43000020): MOV R3, R0, 20H
0207f .FIXUP P
0207f(F7114006): BL MOD1 [Files] PROC20
0208g .FIXUP D
0208g(8D000005): LDR SB, MT, MOD0 [ORTool]
0209g(40D80000): ADD R0, SB, 0H [data]
020Ag .FIXUP D
020Ag(8D200002): LDR SB, MT, MOD2 [Texts]
020Bg(41D80005): ADD R1, SB, VAR5
020Ch(42000020): MOV R2, R0, 20H
020Di .FIXUP P
020Di(F721B006): BL MOD2 [Texts] PROC27
020Ej .FIXUP D
020Ej(8D000004): LDR SB, MT, MOD0 [ORTool]
020Fj(40D80000): ADD R0, SB, 0H [data]
0210j .FIXUP D
0210j(8D200002): LDR SB, MT, MOD2 [Texts]
0211j(41D80005): ADD R1, SB, VAR5
0212k(42E80010): ADD R2, SP, 10H
0213k(43000020): MOV R3, R0, 20H
0214l .FIXUP P
0214l(F721D007): BL MOD2 [Texts] PROC29
ReadType(R)m;n
0215m(40E80034): ADD R0, SP, 34H
0216m .FIXUP D
0216m(8D100006): LDR SB, MT, MOD1 [Files]
0217m(41D80001): ADD R1, SB, VAR1
0218n(F7FFFDFE): BL -514 [0017H]
IF class = ORB.Typ THENo
0219o(80E00004): LDR R0, SP, 4H
021Ao(40090005): SUB R0, R0, 5H
021Bo(E9000029): BNE 41 [0245H]
Texts.Write(W,p "(")q;r Read(R,s class)t;u
021Cp .FIXUP D
021Cp(8D000006): LDR SB, MT, MOD0 [ORTool]
021Dp(40D80000): ADD R0, SB, 0H [data]
021Ep .FIXUP D
021Ep(8D200002): LDR SB, MT, MOD2 [Texts]
021Fp(41D80005): ADD R1, SB, VAR5
0220q(42000028): MOV R2, R0, 28H
0221r .FIXUP P
0221r(F721B00D): BL MOD2 [Texts] PROC27
0222s(40E80034): ADD R0, SP, 34H
0223s .FIXUP D
0223s(8D100005): LDR SB, MT, MOD1 [Files]
0224s(41D80001): ADD R1, SB, VAR1
0225t(42E80004): ADD R2, SP, 4H
0226u(F7FFFDD9): BL -551 [0000H]
WHILE class # 0 DOv (*pointer base fixup*)
0227v(80E00004): LDR R0, SP, 4H
0228v(E1000015): BEQ 21 [023EH]
Texts.WriteString(W,w " ->")x;y Texts.WriteInt(W,z class,a 4)b;c Read(R,d class)e
0229w .FIXUP D
0229w(8D000006): LDR SB, MT, MOD0 [ORTool]
022Aw(40D80000): ADD R0, SB, 0H [data]
022Bw .FIXUP D
022Bw(8D200002): LDR SB, MT, MOD2 [Texts]
022Cw(41D80005): ADD R1, SB, VAR5
022Dx .FIXUP D
022Dx(8D000002): LDR SB, MT, MOD0 [ORTool]
022Ex(42D80110): ADD R2, SB, 110H [" ->"]
022Fx(43000004): MOV R3, R0, 4H
0230y .FIXUP P
0230y(F721D00F): BL MOD2 [Texts] PROC29
0231z .FIXUP D
0231z(8D000004): LDR SB, MT, MOD0 [ORTool]
0232z(40D80000): ADD R0, SB, 0H [data]
0233z .FIXUP D
0233z(8D200002): LDR SB, MT, MOD2 [Texts]
0234z(41D80005): ADD R1, SB, VAR5
0235a(82E00004): LDR R2, SP, 4H
0236b(43000004): MOV R3, R0, 4H
0237c .FIXUP P
0237c(F721E007): BL MOD2 [Texts] PROC30
0238d(40E80034): ADD R0, SP, 34H
0239d .FIXUP D
0239d(8D100006): LDR SB, MT, MOD1 [Files]
023Ad(41D80001): ADD R1, SB, VAR1
023Be(42E80004): ADD R2, SP, 4H
ENDf ;
023Cf(F7FFFDC3): BL -573 [0000H]
023Df(E7FFFFE9): B -23 [0227H]
Texts.Write(W,g ")")h
023Eg .FIXUP D
023Eg(8D000005): LDR SB, MT, MOD0 [ORTool]
023Fg(40D80000): ADD R0, SB, 0H [data]
0240g .FIXUP D
0240g(8D200002): LDR SB, MT, MOD2 [Texts]
0241g(41D80005): ADD R1, SB, VAR5
0242h(42000029): MOV R2, R0, 29H
ELSIFi (jclass = ORB.Const)k OR (lclass = ORB.Var)m THENn
0243i .FIXUP P
0243i(F721B00C): BL MOD2 [Texts] PROC27
0244j(E7000012): B 18 [0257H]
0245k(80E00004): LDR R0, SP, 4H
0246k(40090001): SUB R0, R0, 1H
0247l(E1000003): BEQ 3 [024BH]
0248m(80E00004): LDR R0, SP, 4H
0249m(40090002): SUB R0, R0, 2H
024An(E900000C): BNE 12 [0257H]
Files.ReadNum(R,o k)p;q Texts.WriteInt(W,r k,s 5)t;u (*Reals, Strings!*)
024Bo(40E80034): ADD R0, SP, 34H
024Co .FIXUP D
024Co(8D10000C): LDR SB, MT, MOD1 [Files]
024Do(41D80001): ADD R1, SB, VAR1
024Ep(42E8000C): ADD R2, SP, CH
024Fq .FIXUP P
024Fq(F711500C): BL MOD1 [Files] PROC21
0250r .FIXUP D
0250r(8D000004): LDR SB, MT, MOD0 [ORTool]
0251r(40D80000): ADD R0, SB, 0H [data]
0252r .FIXUP D
0252r(8D200002): LDR SB, MT, MOD2 [Texts]
0253r(41D80005): ADD R1, SB, VAR5
0254s(82E0000C): LDR R2, SP, CH
0255t(43000005): MOV R3, R0, 5H
0256u .FIXUP P
0256u(F721E007): BL MOD2 [Texts] PROC30
END ;
Texts.WriteLn(W)v;w Texts.Append(Oberon.Log,x W.buf)y;z
0257v .FIXUP D
0257v(8D000005): LDR SB, MT, MOD0 [ORTool]
0258v(40D80000): ADD R0, SB, 0H [data]
0259v .FIXUP D
0259v(8D200002): LDR SB, MT, MOD2 [Texts]
025Av(41D80005): ADD R1, SB, VAR5
025Bw .FIXUP P
025Bw(F721C005): BL MOD2 [Texts] PROC28
025Cx .FIXUP D
025Cx(8D400003): LDR SB, MT, MOD4 [Oberon]
025Dx(80D0000D): LDR R0, SB, VAR13
025Ey .FIXUP D
025Ey(8D000002): LDR SB, MT, MOD0 [ORTool]
025Fy(81D00000): LDR R1, SB, 0H [data]
0260z .FIXUP P
0260z(F720E005): BL MOD2 [Texts] PROC14
Read(R,a class)b
0261a(40E80034): ADD R0, SP, 34H
0262a .FIXUP D
0262a(8D100004): LDR SB, MT, MOD1 [Files]
0263a(41D80001): ADD R1, SB, VAR1
0264b(42E80004): ADD R2, SP, 4H
ENDc
0265c(F7FFFD9A): BL -614 [0000H]
0266c(E7FFFF92): B -110 [01F9H]
ELSE Textsd.WriteString(W,e " bad symfile version")f
0267d(E7000008): B 8 [0270H]
0268e .FIXUP D
0268e(8D000006): LDR SB, MT, MOD0 [ORTool]
0269e(40D80000): ADD R0, SB, 0H [data]
026Ae .FIXUP D
026Ae(8D200002): LDR SB, MT, MOD2 [Texts]
026Be(41D80005): ADD R1, SB, VAR5
026Cf .FIXUP D
026Cf(8D000002): LDR SB, MT, MOD0 [ORTool]
026Df(42D80114): ADD R2, SB, 114H [" bad symfile version"]
026Ef(43000015): MOV R3, R0, 15H
ENDg
026Fg .FIXUP P
026Fg(F721D00F): BL MOD2 [Texts] PROC29
ELSE Textsh.WriteString(W,i " not found")j
0270h(E7000008): B 8 [0279H]
0271i .FIXUP D
0271i(8D000005): LDR SB, MT, MOD0 [ORTool]
0272i(40D80000): ADD R0, SB, 0H [data]
0273i .FIXUP D
0273i(8D200002): LDR SB, MT, MOD2 [Texts]
0274i(41D80005): ADD R1, SB, VAR5
0275j .FIXUP D
0275j(8D000002): LDR SB, MT, MOD0 [ORTool]
0276j(42D8012C): ADD R2, SB, 12CH [" not found"]
0277j(4300000B): MOV R3, R0, BH
ENDk ;
0278k .FIXUP P
0278k(F721D009): BL MOD2 [Texts] PROC29
Texts.WriteLn(W)l;m Texts.Append(Oberon.Log,n W.buf)o
0279l .FIXUP D
0279l(8D000004): LDR SB, MT, MOD0 [ORTool]
027Al(40D80000): ADD R0, SB, 0H [data]
027Bl .FIXUP D
027Bl(8D200002): LDR SB, MT, MOD2 [Texts]
027Cl(41D80005): ADD R1, SB, VAR5
027Dm .FIXUP P
027Dm(F721C005): BL MOD2 [Texts] PROC28
027En .FIXUP D
027En(8D400003): LDR SB, MT, MOD4 [Oberon]
027Fn(80D0000D): LDR R0, SB, VAR13
0280o .FIXUP D
0280o(8D000002): LDR SB, MT, MOD0 [ORTool]
0281o(81D00000): LDR R1, SB, 0H [data]
ENDp
0282p .FIXUP P
0282p(F720E005): BL MOD2 [Texts] PROC14
ENDq DecSym;
0283q(8FE00000): LDR LNK, SP, 0H
0284q(4EE800C0): ADD SP, SP, C0H
0285q(C700000F): B LNK
(* ---------------------------------------------------*)
PROCEDURE WriteReg(r: LONGINT);
BEGINr Texts.Write(W,s " ")t;u
0286r(4EE90008): SUB SP, SP, 8H
0287r(AFE00000): STR LNK, SP, 0H
0288r(A0E00004): STR R0, SP, 4H
0289s .FIXUP D
0289s(8D000009): LDR SB, MT, MOD0 [ORTool]
028As(40D80000): ADD R0, SB, 0H [data]
028Bs .FIXUP D
028Bs(8D200002): LDR SB, MT, MOD2 [Texts]
028Cs(41D80005): ADD R1, SB, VAR5
028Dt(42000020): MOV R2, R0, 20H
028Eu .FIXUP P
028Eu(F721B00C): BL MOD2 [Texts] PROC27
IF r < 12 THENv Texts.WriteString(W,w " R")x;y Texts.WriteInt(W,z r MOD 10H,a 1)b
028Fv(80E00004): LDR R0, SP, 4H
0290v(4009000C): SUB R0, R0, CH
0291v(ED000011): BGE 17 [02A3H]
0292w .FIXUP D
0292w(8D000007): LDR SB, MT, MOD0 [ORTool]
0293w(40D80000): ADD R0, SB, 0H [data]
0294w .FIXUP D
0294w(8D200002): LDR SB, MT, MOD2 [Texts]
0295w(41D80005): ADD R1, SB, VAR5
0296x .FIXUP D
0296x(8D000002): LDR SB, MT, MOD0 [ORTool]
0297x(42D80138): ADD R2, SB, 138H [" R"]
0298x(43000003): MOV R3, R0, 3H
0299y .FIXUP P
0299y(F721D00B): BL MOD2 [Texts] PROC29
029Az .FIXUP D
029Az(8D000004): LDR SB, MT, MOD0 [ORTool]
029Bz(40D80000): ADD R0, SB, 0H [data]
029Cz .FIXUP D
029Cz(8D200002): LDR SB, MT, MOD2 [Texts]
029Dz(41D80005): ADD R1, SB, VAR5
029Ea(82E00004): LDR R2, SP, 4H
029Fa(4224000F): AND R2, R2, FH
02A0b(43000001): MOV R3, R0, 1H
ELSIFc rd = 12 THENe Texts.WriteString(W,f "MT")g
02A1c .FIXUP P
02A1c(F721E008): BL MOD2 [Texts] PROC30
02A2d(E700002C): B 44 [02CFH]
02A3e(80E00004): LDR R0, SP, 4H
02A4e(4009000C): SUB R0, R0, CH
02A5e(E9000009): BNE 9 [02AFH]
02A6f .FIXUP D
02A6f(8D00000A): LDR SB, MT, MOD0 [ORTool]
02A7f(40D80000): ADD R0, SB, 0H [data]
02A8f .FIXUP D
02A8f(8D200002): LDR SB, MT, MOD2 [Texts]
02A9f(41D80005): ADD R1, SB, VAR5
02AAg .FIXUP D
02AAg(8D000002): LDR SB, MT, MOD0 [ORTool]
02ABg(42D8013C): ADD R2, SB, 13CH ["MT"]
02ACg(43000003): MOV R3, R0, 3H
ELSIFh ri = 13 THENj Texts.WriteString(W,k "SB")l
02ADh .FIXUP P
02ADh(F721D00C): BL MOD2 [Texts] PROC29
02AEi(E7000020): B 32 [02CFH]
02AFj(80E00004): LDR R0, SP, 4H
02B0j(4009000D): SUB R0, R0, DH
02B1j(E9000009): BNE 9 [02BBH]
02B2k .FIXUP D
02B2k(8D000008): LDR SB, MT, MOD0 [ORTool]
02B3k(40D80000): ADD R0, SB, 0H [data]
02B4k .FIXUP D
02B4k(8D200002): LDR SB, MT, MOD2 [Texts]
02B5k(41D80005): ADD R1, SB, VAR5
02B6l .FIXUP D
02B6l(8D000002): LDR SB, MT, MOD0 [ORTool]
02B7l(42D80140): ADD R2, SB, 140H ["SB"]
02B8l(43000003): MOV R3, R0, 3H
ELSIFm rn = 14 THENo Texts.WriteString(W,p "SP")q
02B9m .FIXUP P
02B9m(F721D00C): BL MOD2 [Texts] PROC29
02BAn(E7000014): B 20 [02CFH]
02BBo(80E00004): LDR R0, SP, 4H
02BCo(4009000E): SUB R0, R0, EH
02BDo(E9000009): BNE 9 [02C7H]
02BEp .FIXUP D
02BEp(8D000008): LDR SB, MT, MOD0 [ORTool]
02BFp(40D80000): ADD R0, SB, 0H [data]
02C0p .FIXUP D
02C0p(8D200002): LDR SB, MT, MOD2 [Texts]
02C1p(41D80005): ADD R1, SB, VAR5
02C2q .FIXUP D
02C2q(8D000002): LDR SB, MT, MOD0 [ORTool]
02C3q(42D80144): ADD R2, SB, 144H ["SP"]
02C4q(43000003): MOV R3, R0, 3H
ELSEr Textss.WriteString(W,t "LNK")u
02C5r .FIXUP P
02C5r(F721D00C): BL MOD2 [Texts] PROC29
02C6s(E7000008): B 8 [02CFH]
02C7t .FIXUP D
02C7t(8D000005): LDR SB, MT, MOD0 [ORTool]
02C8t(40D80000): ADD R0, SB, 0H [data]
02C9t .FIXUP D
02C9t(8D200002): LDR SB, MT, MOD2 [Texts]
02CAt(41D80005): ADD R1, SB, VAR5
02CBu .FIXUP D
02CBu(8D000002): LDR SB, MT, MOD0 [ORTool]
02CCu(42D80148): ADD R2, SB, 148H ["LNK"]
02CDu(43000004): MOV R3, R0, 4H
ENDv
02CEv .FIXUP P
02CEv(F721D009): BL MOD2 [Texts] PROC29
ENDw WriteReg;
02CFw(8FE00000): LDR LNK, SP, 0H
02D0w(4EE80008): ADD SP, SP, 8H
02D1w(C700000F): B LNK
PROCEDURE opcode(w: LONGINT);
VAR k, op, u, a, b, c: LONGINT;
BEGINx
02D2x(4EE90020): SUB SP, SP, 20H
02D3x(AFE00000): STR LNK, SP, 0H
02D4x(A0E00004): STR R0, SP, 4H
k := w DIV 40000000H MODy 4;z
02D5y(80E00004): LDR R0, SP, 4H
02D6y(4002001E): ASR R0, R0, 1EH
02D7z(40040003): AND R0, R0, 3H
02D8z(A0E00008): STR R0, SP, 8H
a := w DIV 1000000H MODa 10H;b
02D9a(80E00004): LDR R0, SP, 4H
02DAa(40020018): ASR R0, R0, 18H
02DBb(4004000F): AND R0, R0, FH
02DCb(A0E00014): STR R0, SP, 14H
b := w DIV 100000H MODc 10H;d
02DDc(80E00004): LDR R0, SP, 4H
02DEc(40020014): ASR R0, R0, 14H
02DFd(4004000F): AND R0, R0, FH
02E0d(A0E00018): STR R0, SP, 18H
op := w DIV 10000H MODe 10H;f
02E1e(80E00004): LDR R0, SP, 4H
02E2e(40020010): ASR R0, R0, 10H
02E3f(4004000F): AND R0, R0, FH
02E4f(A0E0000C): STR R0, SP, CH
u := w DIV 20000000H MODg 2;h
02E5g(80E00004): LDR R0, SP, 4H
02E6g(4002001D): ASR R0, R0, 1DH
02E7h(40040001): AND R0, R0, 1H
02E8h(A0E00010): STR R0, SP, 10H
IF k = 0 THENi
02E9i(80E00008): LDR R0, SP, 8H
02EAi(E900001E): BNE 30 [0309H]
Texts.WriteString(W,j mnemo0[op]k)l;m
02EBj .FIXUP D
02EBj(8D000020): LDR SB, MT, MOD0 [ORTool]
02ECj(40D80000): ADD R0, SB, 0H [data]
02EDj .FIXUP D
02EDj(8D200002): LDR SB, MT, MOD2 [Texts]
02EEj(41D80005): ADD R1, SB, VAR5
02EFk(82E0000C): LDR R2, SP, CH
02F0k(43290010): SUB R3, R2, 10H
02F1k(DA135A1C): BLCC MT [trap=1, pos=4954]
02F2k(42210002): LSL R2, R2, 2H
02F3k .FIXUP D
02F3k(8D000006): LDR SB, MT, MOD0 [ORTool]
02F4k(02D80002): ADD R2, SB, R2 [global array]
02F5l(4228002C): ADD R2, R2, 2CH
02F6l(43000004): MOV R3, R0, 4H
02F7m .FIXUP P
02F7m(F721D029): BL MOD2 [Texts] PROC29
IF u = 1 THENn Texts.Write(W,o "'")p ENDq ;
02F8n(80E00010): LDR R0, SP, 10H
02F9n(40090001): SUB R0, R0, 1H
02FAn(E9000006): BNE 6 [0301H]
02FBo .FIXUP D
02FBo(8D000008): LDR SB, MT, MOD0 [ORTool]
02FCo(40D80000): ADD R0, SB, 0H [data]
02FDo .FIXUP D
02FDo(8D200002): LDR SB, MT, MOD2 [Texts]
02FEo(41D80005): ADD R1, SB, VAR5
02FFp(42000027): MOV R2, R0, 27H
0300q .FIXUP P
0300q(F721B009): BL MOD2 [Texts] PROC27
WriteReg(a)r;s WriteReg(b)t;u WriteReg(w MOD 10H)v
0301r(80E00014): LDR R0, SP, 14H
0302s(F7FFFF83): BL -125 [0286H]
0303t(80E00018): LDR R0, SP, 18H
0304u(F7FFFF81): BL -127 [0286H]
0305v(80E00004): LDR R0, SP, 4H
0306v(4004000F): AND R0, R0, FH
ELSIFw kx = 1 THENy
0307w(F7FFFF7E): BL -130 [0286H]
0308x(E7000097): B 151 [03A0H]
0309y(80E00008): LDR R0, SP, 8H
030Ay(40090001): SUB R0, R0, 1H
030By(E900002C): BNE 44 [0338H]
Texts.WriteString(W,z mnemo0[op]a)b;c
030Cz .FIXUP D
030Cz(8D00000F): LDR SB, MT, MOD0 [ORTool]
030Dz(40D80000): ADD R0, SB, 0H [data]
030Ez .FIXUP D
030Ez(8D200002): LDR SB, MT, MOD2 [Texts]
030Fz(41D80005): ADD R1, SB, VAR5
0310a(82E0000C): LDR R2, SP, CH
0311a(43290010): SUB R3, R2, 10H
0312a(DA14011C): BLCC MT [trap=1, pos=5121]
0313a(42210002): LSL R2, R2, 2H
0314a .FIXUP D
0314a(8D000006): LDR SB, MT, MOD0 [ORTool]
0315a(02D80002): ADD R2, SB, R2 [global array]
0316b(4228002C): ADD R2, R2, 2CH
0317b(43000004): MOV R3, R0, 4H
0318c .FIXUP P
0318c(F721D018): BL MOD2 [Texts] PROC29
IF u = 1 THENd Texts.Write(W,e "'")f ENDg ;
0319d(80E00010): LDR R0, SP, 10H
031Ad(40090001): SUB R0, R0, 1H
031Bd(E9000006): BNE 6 [0322H]
031Ce .FIXUP D
031Ce(8D000008): LDR SB, MT, MOD0 [ORTool]
031De(40D80000): ADD R0, SB, 0H [data]
031Ee .FIXUP D
031Ee(8D200002): LDR SB, MT, MOD2 [Texts]
031Fe(41D80005): ADD R1, SB, VAR5
0320f(42000027): MOV R2, R0, 27H
0321g .FIXUP P
0321g(F721B009): BL MOD2 [Texts] PROC27
WriteReg(a)h;i WriteReg(b)j;k w := w MOD 10000H;l
0322h(80E00014): LDR R0, SP, 14H
0323i(F7FFFF62): BL -158 [0286H]
0324j(80E00018): LDR R0, SP, 18H
0325k(F7FFFF60): BL -160 [0286H]
0326l(80E00004): LDR R0, SP, 4H
0327l(4004FFFF): AND R0, R0, FFFFFFFFH
0328l(A0E00004): STR R0, SP, 4H
IF w >= 8000H THENm w := w - 10000H ENDn ;
0329m(80E00004): LDR R0, SP, 4H
032Am(40098000): SUB R0, R0, FFFF8000H
032Bm(E5000004): BLT 4 [0330H]
032Cn(80E00004): LDR R0, SP, 4H
032Dn(61000001): MOV' R1, R0, 1H
032En(00090001): SUB R0, R0, R1
032Fn(A0E00004): STR R0, SP, 4H
Texts.WriteInt(W,o w,p 7)q
0330o .FIXUP D
0330o(8D000012): LDR SB, MT, MOD0 [ORTool]
0331o(40D80000): ADD R0, SB, 0H [data]
0332o .FIXUP D
0332o(8D200002): LDR SB, MT, MOD2 [Texts]
0333o(41D80005): ADD R1, SB, VAR5
0334p(82E00004): LDR R2, SP, 4H
0335q(43000007): MOV R3, R0, 7H
ELSIFr ks = 2 THENt (*LDR/STR*)
0336r .FIXUP P
0336r(F721E015): BL MOD2 [Texts] PROC30
0337s(E7000068): B 104 [03A0H]
0338t(80E00008): LDR R0, SP, 8H
0339t(40090002): SUB R0, R0, 2H
033At(E900002C): BNE 44 [0367H]
IF u = 1 THENu Texts.WriteString(W,v "STR ")w ELSEx Textsy.WriteString(W,z "LDR")a ENDb ;
033Bu(80E00010): LDR R0, SP, 10H
033Cu(40090001): SUB R0, R0, 1H
033Du(E9000009): BNE 9 [0347H]
033Ev .FIXUP D
033Ev(8D00000C): LDR SB, MT, MOD0 [ORTool]
033Fv(40D80000): ADD R0, SB, 0H [data]
0340v .FIXUP D
0340v(8D200002): LDR SB, MT, MOD2 [Texts]
0341v(41D80005): ADD R1, SB, VAR5
0342w .FIXUP D
0342w(8D000002): LDR SB, MT, MOD0 [ORTool]
0343w(42D8014C): ADD R2, SB, 14CH ["STR "]
0344w(43000005): MOV R3, R0, 5H
0345x .FIXUP P
0345x(F721D00F): BL MOD2 [Texts] PROC29
0346y(E7000008): B 8 [034FH]
0347z .FIXUP D
0347z(8D000005): LDR SB, MT, MOD0 [ORTool]
0348z(40D80000): ADD R0, SB, 0H [data]
0349z .FIXUP D
0349z(8D200002): LDR SB, MT, MOD2 [Texts]
034Az(41D80005): ADD R1, SB, VAR5
034Ba .FIXUP D
034Ba(8D000002): LDR SB, MT, MOD0 [ORTool]
034Ca(42D80154): ADD R2, SB, 154H ["LDR"]
034Da(43000004): MOV R3, R0, 4H
034Eb .FIXUP P
034Eb(F721D009): BL MOD2 [Texts] PROC29
WriteReg(a)c;d WriteReg(b)e;f w := w MOD 100000H;g
034Fc(80E00014): LDR R0, SP, 14H
0350d(F7FFFF35): BL -203 [0286H]
0351e(80E00018): LDR R0, SP, 18H
0352f(F7FFFF33): BL -205 [0286H]
0353g(80E00004): LDR R0, SP, 4H
0354g(4001000C): LSL R0, R0, CH
0355g(4003000C): ROR R0, R0, CH
0356g(A0E00004): STR R0, SP, 4H
IF w >= 80000H THENh w := w - 100000H ENDi ;
0357h(80E00004): LDR R0, SP, 4H
0358h(61000008): MOV' R1, R0, 8H
0359h(00090001): SUB R0, R0, R1
035Ah(E5000004): BLT 4 [035FH]
035Bi(80E00004): LDR R0, SP, 4H
035Ci(61000010): MOV' R1, R0, 10H
035Di(00090001): SUB R0, R0, R1
035Ei(A0E00004): STR R0, SP, 4H
Texts.WriteInt(W,j w,k 8)l
035Fj .FIXUP D
035Fj(8D000014): LDR SB, MT, MOD0 [ORTool]
0360j(40D80000): ADD R0, SB, 0H [data]
0361j .FIXUP D
0361j(8D200002): LDR SB, MT, MOD2 [Texts]
0362j(41D80005): ADD R1, SB, VAR5
0363k(82E00004): LDR R2, SP, 4H
0364l(43000008): MOV R3, R0, 8H
ELSIFm kn = 3 THENo (*Branch instr*)
0365m .FIXUP P
0365m(F721E017): BL MOD2 [Texts] PROC30
0366n(E7000039): B 57 [03A0H]
0367o(80E00008): LDR R0, SP, 8H
0368o(40090003): SUB R0, R0, 3H
0369o(E9000036): BNE 54 [03A0H]
Texts.Write(W,p "B")q;r
036Ap .FIXUP D
036Ap(8D000009): LDR SB, MT, MOD0 [ORTool]
036Bp(40D80000): ADD R0, SB, 0H [data]
036Cp .FIXUP D
036Cp(8D200002): LDR SB, MT, MOD2 [Texts]
036Dp(41D80005): ADD R1, SB, VAR5
036Eq(42000042): MOV R2, R0, 42H
036Fr .FIXUP P
036Fr(F721B00A): BL MOD2 [Texts] PROC27
IF ODD(w DIV 10000000H)s THENt Texts.Write(W,u "L")v ENDw ;
0370s(80E00004): LDR R0, SP, 4H
0371s(4002001C): ASR R0, R0, 1CH
0372t(40040001): AND R0, R0, 1H
0373t(E1000006): BEQ 6 [037AH]
0374u .FIXUP D
0374u(8D000008): LDR SB, MT, MOD0 [ORTool]
0375u(40D80000): ADD R0, SB, 0H [data]
0376u .FIXUP D
0376u(8D200002): LDR SB, MT, MOD2 [Texts]
0377u(41D80005): ADD R1, SB, VAR5
0378v(4200004C): MOV R2, R0, 4CH
0379w .FIXUP P
0379w(F721B00A): BL MOD2 [Texts] PROC27
Texts.WriteString(W,x mnemo1[a]y)z;a
037Ax .FIXUP D
037Ax(8D000004): LDR SB, MT, MOD0 [ORTool]
037Bx(40D80000): ADD R0, SB, 0H [data]
037Cx .FIXUP D
037Cx(8D200002): LDR SB, MT, MOD2 [Texts]
037Dx(41D80005): ADD R1, SB, VAR5
037Ey(82E00014): LDR R2, SP, 14H
037Fy(43290010): SUB R3, R2, 10H
0380y(DA166C1C): BLCC MT [trap=1, pos=5740]
0381y(42210002): LSL R2, R2, 2H
0382y .FIXUP D
0382y(8D000006): LDR SB, MT, MOD0 [ORTool]
0383y(02D80002): ADD R2, SB, R2 [global array]
0384z(4228006C): ADD R2, R2, 6CH
0385z(43000004): MOV R3, R0, 4H
0386a .FIXUP P
0386a(F721D00D): BL MOD2 [Texts] PROC29
IF u = 0 THENb WriteReg(w MOD 10H)c ELSEd
0387b(80E00010): LDR R0, SP, 10H
0388b(E9000004): BNE 4 [038DH]
0389c(80E00004): LDR R0, SP, 4H
038Ac(4004000F): AND R0, R0, FH
038Bd(F7FFFEFA): BL -262 [0286H]
we := w MOD 100000H;f
038Ce(E7000013): B 19 [03A0H]
038Df(80E00004): LDR R0, SP, 4H
038Ef(4001000C): LSL R0, R0, CH
038Ff(4003000C): ROR R0, R0, CH
0390f(A0E00004): STR R0, SP, 4H
IF w >= 80000H THENg w := w - 100000H ENDh ;
0391g(80E00004): LDR R0, SP, 4H
0392g(61000008): MOV' R1, R0, 8H
0393g(00090001): SUB R0, R0, R1
0394g(E5000004): BLT 4 [0399H]
0395h(80E00004): LDR R0, SP, 4H
0396h(61000010): MOV' R1, R0, 10H
0397h(00090001): SUB R0, R0, R1
0398h(A0E00004): STR R0, SP, 4H
Texts.WriteInt(W,i w,j 8)k
0399i .FIXUP D
0399i(8D000017): LDR SB, MT, MOD0 [ORTool]
039Ai(40D80000): ADD R0, SB, 0H [data]
039Bi .FIXUP D
039Bi(8D200002): LDR SB, MT, MOD2 [Texts]
039Ci(41D80005): ADD R1, SB, VAR5
039Dj(82E00004): LDR R2, SP, 4H
039Ek(43000008): MOV R3, R0, 8H
ENDl
039Fl .FIXUP P
039Fl(F721E019): BL MOD2 [Texts] PROC30
END
ENDm opcode;
03A0m(8FE00000): LDR LNK, SP, 0H
03A1m(4EE80020): ADD SP, SP, 20H
03A2m(C700000F): B LNK
PROCEDURE Sync(VAR R: Files.Rider);
VAR ch: CHAR;
BEGINn Files.Read(R,o ch)p;q Texts.WriteString(W,r "Sync ")s;t Texts.Write(W,u ch)v;w Texts.WriteLn(W)x
03A3n(4EE90010): SUB SP, SP, 10H
03A4n(AFE00000): STR LNK, SP, 0H
03A5n(A0E00004): STR R0, SP, 4H
03A6n(A1E00008): STR R1, SP, 8H
03A7o(80E00004): LDR R0, SP, 4H
03A8o(81E00008): LDR R1, SP, 8H
03A9p(42E8000C): ADD R2, SP, CH
03AAq .FIXUP P
03AAq(F711000B): BL MOD1 [Files] PROC16
03ABr .FIXUP D
03ABr(8D000010): LDR SB, MT, MOD0 [ORTool]
03ACr(40D80000): ADD R0, SB, 0H [data]
03ADr .FIXUP D
03ADr(8D200002): LDR SB, MT, MOD2 [Texts]
03AEr(41D80005): ADD R1, SB, VAR5
03AFs .FIXUP D
03AFs(8D000002): LDR SB, MT, MOD0 [ORTool]
03B0s(42D80158): ADD R2, SB, 158H ["Sync "]
03B1s(43000006): MOV R3, R0, 6H
03B2t .FIXUP P
03B2t(F721D008): BL MOD2 [Texts] PROC29
03B3u .FIXUP D
03B3u(8D000004): LDR SB, MT, MOD0 [ORTool]
03B4u(40D80000): ADD R0, SB, 0H [data]
03B5u .FIXUP D
03B5u(8D200002): LDR SB, MT, MOD2 [Texts]
03B6u(41D80005): ADD R1, SB, VAR5
03B7v(92E0000C): LDR R2, SP, CH
03B8w .FIXUP P
03B8w(F721B006): BL MOD2 [Texts] PROC27
03B9x .FIXUP D
03B9x(8D000004): LDR SB, MT, MOD0 [ORTool]
03BAx(40D80000): ADD R0, SB, 0H [data]
03BBx .FIXUP D
03BBx(8D200002): LDR SB, MT, MOD2 [Texts]
03BCx(41D80005): ADD R1, SB, VAR5
ENDy Sync;
03BDy .FIXUP P
03BDy(F721C005): BL MOD2 [Texts] PROC28
03BEy(8FE00000): LDR LNK, SP, 0H
03BFy(4EE80010): ADD SP, SP, 10H
03C0y(C700000F): B LNK
PROCEDURE Write(VAR R: Files.Rider; x: INTEGER);
BEGINz Files.WriteByte(R,a x)b (* -128 <= x < 128 *)
03C1z(4EE90010): SUB SP, SP, 10H
03C2z(AFE00000): STR LNK, SP, 0H
03C3z(A0E00004): STR R0, SP, 4H
03C4z(A1E00008): STR R1, SP, 8H
03C5z(A2E0000C): STR R2, SP, CH
03C6a(80E00004): LDR R0, SP, 4H
03C7a(81E00008): LDR R1, SP, 8H
03C8b(82E0000C): LDR R2, SP, CH
ENDc Write;
03C9c .FIXUP P
03C9c(F711600C): BL MOD1 [Files] PROC22
03CAc(8FE00000): LDR LNK, SP, 0H
03CBc(4EE80010): ADD SP, SP, 10H
03CCc(C700000F): B LNK
PROCEDURE DecObj*; (*decode object file*)
VAR class, i, n, key, size, fix, adr, data, len: INTEGER;
ch: CHAR;
name: ARRAY 32 OF CHAR;
F: Files.File; R: Files.Rider;
S: Texts.Scanner;
BEGINd Texts.OpenScanner(S,e Oberon.Par.text,f Oberon.Par.pos)g;h Texts.Scan(S)i;j
03CDd .PROC 2
03CDd .COMMAND DecObj
03CDd(4EE900DC): SUB SP, SP, DCH
03CEd(AFE00000): STR LNK, SP, 0H
03CFe(40E80068): ADD R0, SP, 68H
03D0e .FIXUP D
03D0e(8D200015): LDR SB, MT, MOD2 [Texts]
03D1e(41D80003): ADD R1, SB, VAR3
03D2f .FIXUP D
03D2f(8D400002): LDR SB, MT, MOD4 [Oberon]
03D3f(42D8000E): ADD R2, SB, VAR14
03D4f(82200008): LDR R2, R2, 8H
03D5g .FIXUP D
03D5g(8D400003): LDR SB, MT, MOD4 [Oberon]
03D6g(43D8000E): ADD R3, SB, VAR14
03D7g(8330000C): LDR R3, R3, CH
03D8h .FIXUP P
03D8h(F721500F): BL MOD2 [Texts] PROC21
03D9i(40E80068): ADD R0, SP, 68H
03DAi .FIXUP D
03DAi(8D200005): LDR SB, MT, MOD2 [Texts]
03DBi(41D80003): ADD R1, SB, VAR3
03DCj .FIXUP P
03DCj(F7216004): BL MOD2 [Texts] PROC22
IF S.class = Texts.Name THENk
03DDk(80E000A4): LDR R0, SP, A4H
03DEk(40090001): SUB R0, R0, 1H
03DFk(E900025D): BNE 605 [063DH]
Texts.WriteString(W,l "decode ")m;n Texts.WriteString(W,o S.s)p;q F := Files.Old(S.s)r;s
03E0l .FIXUP D
03E0l(8D000006): LDR SB, MT, MOD0 [ORTool]
03E1l(40D80000): ADD R0, SB, 0H [data]
03E2l .FIXUP D
03E2l(8D200002): LDR SB, MT, MOD2 [Texts]
03E3l(41D80005): ADD R1, SB, VAR5
03E4m .FIXUP D
03E4m(8D000002): LDR SB, MT, MOD0 [ORTool]
03E5m(42D80160): ADD R2, SB, 160H ["decode "]
03E6m(43000008): MOV R3, R0, 8H
03E7n .FIXUP P
03E7n(F721D00B): BL MOD2 [Texts] PROC29
03E8o .FIXUP D
03E8o(8D000004): LDR SB, MT, MOD0 [ORTool]
03E9o(40D80000): ADD R0, SB, 0H [data]
03EAo .FIXUP D
03EAo(8D200002): LDR SB, MT, MOD2 [Texts]
03EBo(41D80005): ADD R1, SB, VAR5
03ECp(42E800BC): ADD R2, SP, BCH
03EDp(43000020): MOV R3, R0, 20H
03EEq .FIXUP P
03EEq(F721D007): BL MOD2 [Texts] PROC29
03EFr(40E800BC): ADD R0, SP, BCH
03F0r(41000020): MOV R1, R0, 20H
03F1s .FIXUP P
03F1s(F7102003): BL MOD1 [Files] PROC2
03F2s(A0E0004C): STR R0, SP, 4CH
IF F # NIL THENt
03F3t(80E0004C): LDR R0, SP, 4CH
03F4t(E1000236): BEQ 566 [062BH]
Files.Set(R,u F,v 0)w;x Files.ReadString(R,y name)z;a Texts.WriteLn(W)b;c Texts.WriteString(W,d name)e;f
03F5u(40E80050): ADD R0, SP, 50H
03F6u .FIXUP D
03F6u(8D10000C): LDR SB, MT, MOD1 [Files]
03F7u(41D80001): ADD R1, SB, VAR1
03F8v(82E0004C): LDR R2, SP, 4CH
03F9w(43000000): MOV R3, R0, 0H
03FAx .FIXUP P
03FAx(F710B009): BL MOD1 [Files] PROC11
03FBy(40E80050): ADD R0, SP, 50H
03FCy .FIXUP D
03FCy(8D100006): LDR SB, MT, MOD1 [Files]
03FDy(41D80001): ADD R1, SB, VAR1
03FEz(42E8002C): ADD R2, SP, 2CH
03FFz(43000020): MOV R3, R0, 20H
0400a .FIXUP P
0400a(F7114006): BL MOD1 [Files] PROC20
0401b .FIXUP D
0401b(8D000005): LDR SB, MT, MOD0 [ORTool]
0402b(40D80000): ADD R0, SB, 0H [data]
0403b .FIXUP D
0403b(8D200002): LDR SB, MT, MOD2 [Texts]
0404b(41D80005): ADD R1, SB, VAR5
0405c .FIXUP P
0405c(F721C005): BL MOD2 [Texts] PROC28
0406d .FIXUP D
0406d(8D000003): LDR SB, MT, MOD0 [ORTool]
0407d(40D80000): ADD R0, SB, 0H [data]
0408d .FIXUP D
0408d(8D200002): LDR SB, MT, MOD2 [Texts]
0409d(41D80005): ADD R1, SB, VAR5
040Ae(42E8002C): ADD R2, SP, 2CH
040Be(43000020): MOV R3, R0, 20H
040Cf .FIXUP P
040Cf(F721D007): BL MOD2 [Texts] PROC29
Files.ReadInt(R,g key)h;i Texts.WriteHex(W,j key)k;l Read(R,m class)n;o Texts.WriteInt(W,p class,q 4)r;s (*version*)
040Dg(40E80050): ADD R0, SP, 50H
040Eg .FIXUP D
040Eg(8D100006): LDR SB, MT, MOD1 [Files]
040Fg(41D80001): ADD R1, SB, VAR1
0410h(42E80010): ADD R2, SP, 10H
0411i .FIXUP P
0411i(F7111005): BL MOD1 [Files] PROC17
0412j .FIXUP D
0412j(8D000004): LDR SB, MT, MOD0 [ORTool]
0413j(40D80000): ADD R0, SB, 0H [data]
0414j .FIXUP D
0414j(8D200002): LDR SB, MT, MOD2 [Texts]
0415j(41D80005): ADD R1, SB, VAR5
0416k(82E00010): LDR R2, SP, 10H
0417l .FIXUP P
0417l(F721F006): BL MOD2 [Texts] PROC31
0418m(40E80050): ADD R0, SP, 50H
0419m .FIXUP D
0419m(8D100005): LDR SB, MT, MOD1 [Files]
041Am(41D80001): ADD R1, SB, VAR1
041Bn(42E80004): ADD R2, SP, 4H
041Co(F7FFFBE3): BL -1053 [0000H]
041Dp .FIXUP D
041Dp(8D000004): LDR SB, MT, MOD0 [ORTool]
041Ep(40D80000): ADD R0, SB, 0H [data]
041Fp .FIXUP D
041Fp(8D200002): LDR SB, MT, MOD2 [Texts]
0420p(41D80005): ADD R1, SB, VAR5
0421q(82E00004): LDR R2, SP, 4H
0422r(43000004): MOV R3, R0, 4H
0423s .FIXUP P
0423s(F721E00C): BL MOD2 [Texts] PROC30
Files.ReadInt(R,t size)u;v Texts.WriteInt(W,w size,x 6)y;z Texts.WriteLn(W)a;b
0424t(40E80050): ADD R0, SP, 50H
0425t .FIXUP D
0425t(8D100006): LDR SB, MT, MOD1 [Files]
0426t(41D80001): ADD R1, SB, VAR1
0427u(42E80014): ADD R2, SP, 14H
0428v .FIXUP P
0428v(F7111005): BL MOD1 [Files] PROC17
0429w .FIXUP D
0429w(8D000004): LDR SB, MT, MOD0 [ORTool]
042Aw(40D80000): ADD R0, SB, 0H [data]
042Bw .FIXUP D
042Bw(8D200002): LDR SB, MT, MOD2 [Texts]
042Cw(41D80005): ADD R1, SB, VAR5
042Dx(82E00014): LDR R2, SP, 14H
042Ey(43000006): MOV R3, R0, 6H
042Fz .FIXUP P
042Fz(F721E007): BL MOD2 [Texts] PROC30
0430a .FIXUP D
0430a(8D000005): LDR SB, MT, MOD0 [ORTool]
0431a(40D80000): ADD R0, SB, 0H [data]
0432a .FIXUP D
0432a(8D200002): LDR SB, MT, MOD2 [Texts]
0433a(41D80005): ADD R1, SB, VAR5
0434b .FIXUP P
0434b(F721C005): BL MOD2 [Texts] PROC28
Texts.WriteString(W,c "imports:")d;e Texts.WriteLn(W)f;g Files.ReadString(R,h name)i;j
0435c .FIXUP D
0435c(8D000003): LDR SB, MT, MOD0 [ORTool]
0436c(40D80000): ADD R0, SB, 0H [data]
0437c .FIXUP D
0437c(8D200002): LDR SB, MT, MOD2 [Texts]
0438c(41D80005): ADD R1, SB, VAR5
0439d .FIXUP D
0439d(8D000002): LDR SB, MT, MOD0 [ORTool]
043Ad(42D80168): ADD R2, SB, 168H ["imports:"]
043Bd(43000009): MOV R3, R0, 9H
043Ce .FIXUP P
043Ce(F721D008): BL MOD2 [Texts] PROC29
043Df .FIXUP D
043Df(8D000004): LDR SB, MT, MOD0 [ORTool]
043Ef(40D80000): ADD R0, SB, 0H [data]
043Ff .FIXUP D
043Ff(8D200002): LDR SB, MT, MOD2 [Texts]
0440f(41D80005): ADD R1, SB, VAR5
0441g .FIXUP P
0441g(F721C005): BL MOD2 [Texts] PROC28
0442h(40E80050): ADD R0, SP, 50H
0443h .FIXUP D
0443h(8D100004): LDR SB, MT, MOD1 [Files]
0444h(41D80001): ADD R1, SB, VAR1
0445i(42E8002C): ADD R2, SP, 2CH
0446i(43000020): MOV R3, R0, 20H
0447j .FIXUP P
0447j(F7114006): BL MOD1 [Files] PROC20
WHILE name[0] # 0X DOk
0448k(90E0002C): LDR R0, SP, 2CH
0449k(E1000024): BEQ 36 [046EH]
Texts.Write(W,l 9X)m;n Texts.WriteString(W,o name)p;q
044Al .FIXUP D
044Al(8D000007): LDR SB, MT, MOD0 [ORTool]
044Bl(40D80000): ADD R0, SB, 0H [data]
044Cl .FIXUP D
044Cl(8D200002): LDR SB, MT, MOD2 [Texts]
044Dl(41D80005): ADD R1, SB, VAR5
044Em(42000009): MOV R2, R0, 9H
044Fn .FIXUP P
044Fn(F721B008): BL MOD2 [Texts] PROC27
0450o .FIXUP D
0450o(8D000004): LDR SB, MT, MOD0 [ORTool]
0451o(40D80000): ADD R0, SB, 0H [data]
0452o .FIXUP D
0452o(8D200002): LDR SB, MT, MOD2 [Texts]
0453o(41D80005): ADD R1, SB, VAR5
0454p(42E8002C): ADD R2, SP, 2CH
0455p(43000020): MOV R3, R0, 20H
0456q .FIXUP P
0456q(F721D007): BL MOD2 [Texts] PROC29
Files.ReadInt(R,r key)s;t Texts.WriteHex(W,u key)v;w Texts.WriteLn(W)x;y
0457r(40E80050): ADD R0, SP, 50H
0458r .FIXUP D
0458r(8D100006): LDR SB, MT, MOD1 [Files]
0459r(41D80001): ADD R1, SB, VAR1
045As(42E80010): ADD R2, SP, 10H
045Bt .FIXUP P
045Bt(F7111005): BL MOD1 [Files] PROC17
045Cu .FIXUP D
045Cu(8D000004): LDR SB, MT, MOD0 [ORTool]
045Du(40D80000): ADD R0, SB, 0H [data]
045Eu .FIXUP D
045Eu(8D200002): LDR SB, MT, MOD2 [Texts]
045Fu(41D80005): ADD R1, SB, VAR5
0460v(82E00010): LDR R2, SP, 10H
0461w .FIXUP P
0461w(F721F006): BL MOD2 [Texts] PROC31
0462x .FIXUP D
0462x(8D000004): LDR SB, MT, MOD0 [ORTool]
0463x(40D80000): ADD R0, SB, 0H [data]
0464x .FIXUP D
0464x(8D200002): LDR SB, MT, MOD2 [Texts]
0465x(41D80005): ADD R1, SB, VAR5
0466y .FIXUP P
0466y(F721C005): BL MOD2 [Texts] PROC28
Files.ReadString(R,z name)a
0467z(40E80050): ADD R0, SP, 50H
0468z .FIXUP D
0468z(8D100004): LDR SB, MT, MOD1 [Files]
0469z(41D80001): ADD R1, SB, VAR1
046Aa(42E8002C): ADD R2, SP, 2CH
046Ba(43000020): MOV R3, R0, 20H
ENDb ;
046Cb .FIXUP P
046Cb(F7114006): BL MOD1 [Files] PROC20
046Db(E7FFFFDA): B -38 [0448H]
(* Sync(R); *)
Texts.WriteString(W,c "type descriptors")d;e Texts.WriteLn(W)f;g
046Ec .FIXUP D
046Ec(8D000006): LDR SB, MT, MOD0 [ORTool]
046Fc(40D80000): ADD R0, SB, 0H [data]
0470c .FIXUP D
0470c(8D200002): LDR SB, MT, MOD2 [Texts]
0471c(41D80005): ADD R1, SB, VAR5
0472d .FIXUP D
0472d(8D000002): LDR SB, MT, MOD0 [ORTool]
0473d(42D80174): ADD R2, SB, 174H ["type descriptors"]
0474d(43000011): MOV R3, R0, 11H
0475e .FIXUP P
0475e(F721D009): BL MOD2 [Texts] PROC29
0476f .FIXUP D
0476f(8D000004): LDR SB, MT, MOD0 [ORTool]
0477f(40D80000): ADD R0, SB, 0H [data]
0478f .FIXUP D
0478f(8D200002): LDR SB, MT, MOD2 [Texts]
0479f(41D80005): ADD R1, SB, VAR5
047Ag .FIXUP P
047Ag(F721C005): BL MOD2 [Texts] PROC28
Files.ReadInt(R,h n)i;j n := n DIV 4;k i := 0;l
047Bh(40E80050): ADD R0, SP, 50H
047Ch .FIXUP D
047Ch(8D100004): LDR SB, MT, MOD1 [Files]
047Dh(41D80001): ADD R1, SB, VAR1
047Ei(42E8000C): ADD R2, SP, CH
047Fj .FIXUP P
047Fj(F7111005): BL MOD1 [Files] PROC17
0480k(80E0000C): LDR R0, SP, CH
0481k(40020002): ASR R0, R0, 2H
0482k(A0E0000C): STR R0, SP, CH
0483l(40000000): MOV R0, R0, 0H
0484l(A0E00008): STR R0, SP, 8H
WHILE i < n DOm Files.ReadInt(R,n data)o;p Texts.WriteHex(W,q data)r;s INC(i) ENDt ;
0485m(80E00008): LDR R0, SP, 8H
0486m(81E0000C): LDR R1, SP, CH
0487m(00090001): SUB R0, R0, R1
0488m(ED00000F): BGE 15 [0498H]
0489n(40E80050): ADD R0, SP, 50H
048An .FIXUP D
048An(8D10000E): LDR SB, MT, MOD1 [Files]
048Bn(41D80001): ADD R1, SB, VAR1
048Co(42E80020): ADD R2, SP, 20H
048Dp .FIXUP P
048Dp(F711100E): BL MOD1 [Files] PROC17
048Eq .FIXUP D
048Eq(8D000004): LDR SB, MT, MOD0 [ORTool]
048Fq(40D80000): ADD R0, SB, 0H [data]
0490q .FIXUP D
0490q(8D200002): LDR SB, MT, MOD2 [Texts]
0491q(41D80005): ADD R1, SB, VAR5
0492r(82E00020): LDR R2, SP, 20H
0493s .FIXUP P
0493s(F721F006): BL MOD2 [Texts] PROC31
0494t(80E00008): LDR R0, SP, 8H
0495t(40080001): ADD R0, R0, 1H
0496t(A0E00008): STR R0, SP, 8H
0497t(E7FFFFED): B -19 [0485H]
Texts.WriteLn(W)u;v
0498u .FIXUP D
0498u(8D000008): LDR SB, MT, MOD0 [ORTool]
0499u(40D80000): ADD R0, SB, 0H [data]
049Au .FIXUP D
049Au(8D200002): LDR SB, MT, MOD2 [Texts]
049Bu(41D80005): ADD R1, SB, VAR5
049Cv .FIXUP P
049Cv(F721C009): BL MOD2 [Texts] PROC28
Texts.WriteString(W,w "data")x;y Files.ReadInt(R,z data)a;b Texts.WriteInt(W,c data,d 6)e;f Texts.WriteLn(W)g;h
049Dw .FIXUP D
049Dw(8D000003): LDR SB, MT, MOD0 [ORTool]
049Ew(40D80000): ADD R0, SB, 0H [data]
049Fw .FIXUP D
049Fw(8D200002): LDR SB, MT, MOD2 [Texts]
04A0w(41D80005): ADD R1, SB, VAR5
04A1x .FIXUP D
04A1x(8D000002): LDR SB, MT, MOD0 [ORTool]
04A2x(42D80188): ADD R2, SB, 188H ["data"]
04A3x(43000005): MOV R3, R0, 5H
04A4y .FIXUP P
04A4y(F721D008): BL MOD2 [Texts] PROC29
04A5z(40E80050): ADD R0, SP, 50H
04A6z .FIXUP D
04A6z(8D100005): LDR SB, MT, MOD1 [Files]
04A7z(41D80001): ADD R1, SB, VAR1
04A8a(42E80020): ADD R2, SP, 20H
04A9b .FIXUP P
04A9b(F7111005): BL MOD1 [Files] PROC17
04AAc .FIXUP D
04AAc(8D000004): LDR SB, MT, MOD0 [ORTool]
04ABc(40D80000): ADD R0, SB, 0H [data]
04ACc .FIXUP D
04ACc(8D200002): LDR SB, MT, MOD2 [Texts]
04ADc(41D80005): ADD R1, SB, VAR5
04AEd(82E00020): LDR R2, SP, 20H
04AFe(43000006): MOV R3, R0, 6H
04B0f .FIXUP P
04B0f(F721E007): BL MOD2 [Texts] PROC30
04B1g .FIXUP D
04B1g(8D000005): LDR SB, MT, MOD0 [ORTool]
04B2g(40D80000): ADD R0, SB, 0H [data]
04B3g .FIXUP D
04B3g(8D200002): LDR SB, MT, MOD2 [Texts]
04B4g(41D80005): ADD R1, SB, VAR5
04B5h .FIXUP P
04B5h(F721C005): BL MOD2 [Texts] PROC28
Texts.WriteString(W,i "strings")j;k Texts.WriteLn(W)l;m
04B6i .FIXUP D
04B6i(8D000003): LDR SB, MT, MOD0 [ORTool]
04B7i(40D80000): ADD R0, SB, 0H [data]
04B8i .FIXUP D
04B8i(8D200002): LDR SB, MT, MOD2 [Texts]
04B9i(41D80005): ADD R1, SB, VAR5
04BAj .FIXUP D
04BAj(8D000002): LDR SB, MT, MOD0 [ORTool]
04BBj(42D80190): ADD R2, SB, 190H ["strings"]
04BCj(43000008): MOV R3, R0, 8H
04BDk .FIXUP P
04BDk(F721D008): BL MOD2 [Texts] PROC29
04BEl .FIXUP D
04BEl(8D000004): LDR SB, MT, MOD0 [ORTool]
04BFl(40D80000): ADD R0, SB, 0H [data]
04C0l .FIXUP D
04C0l(8D200002): LDR SB, MT, MOD2 [Texts]
04C1l(41D80005): ADD R1, SB, VAR5
04C2m .FIXUP P
04C2m(F721C005): BL MOD2 [Texts] PROC28
Files.ReadInt(R,n n)o;p i := 0;q
04C3n(40E80050): ADD R0, SP, 50H
04C4n .FIXUP D
04C4n(8D100004): LDR SB, MT, MOD1 [Files]
04C5n(41D80001): ADD R1, SB, VAR1
04C6o(42E8000C): ADD R2, SP, CH
04C7p .FIXUP P
04C7p(F7111005): BL MOD1 [Files] PROC17
04C8q(40000000): MOV R0, R0, 0H
04C9q(A0E00008): STR R0, SP, 8H
WHILE i < n DOr Files.Read(R,s ch)t;u Texts.Write(W,v ch)w;x INC(i) ENDy ;
04CAr(80E00008): LDR R0, SP, 8H
04CBr(81E0000C): LDR R1, SP, CH
04CCr(00090001): SUB R0, R0, R1
04CDr(ED00000F): BGE 15 [04DDH]
04CEs(40E80050): ADD R0, SP, 50H
04CFs .FIXUP D
04CFs(8D10000B): LDR SB, MT, MOD1 [Files]
04D0s(41D80001): ADD R1, SB, VAR1
04D1t(42E80028): ADD R2, SP, 28H
04D2u .FIXUP P
04D2u(F711000B): BL MOD1 [Files] PROC16
04D3v .FIXUP D
04D3v(8D000004): LDR SB, MT, MOD0 [ORTool]
04D4v(40D80000): ADD R0, SB, 0H [data]
04D5v .FIXUP D
04D5v(8D200002): LDR SB, MT, MOD2 [Texts]
04D6v(41D80005): ADD R1, SB, VAR5
04D7w(92E00028): LDR R2, SP, 28H
04D8x .FIXUP P
04D8x(F721B006): BL MOD2 [Texts] PROC27
04D9y(80E00008): LDR R0, SP, 8H
04DAy(40080001): ADD R0, R0, 1H
04DBy(A0E00008): STR R0, SP, 8H
04DCy(E7FFFFED): B -19 [04CAH]
Texts.WriteLn(W)z;a
04DDz .FIXUP D
04DDz(8D000008): LDR SB, MT, MOD0 [ORTool]
04DEz(40D80000): ADD R0, SB, 0H [data]
04DFz .FIXUP D
04DFz(8D200002): LDR SB, MT, MOD2 [Texts]
04E0z(41D80005): ADD R1, SB, VAR5
04E1a .FIXUP P
04E1a(F721C009): BL MOD2 [Texts] PROC28
Texts.WriteString(W,b "code")c;d Texts.WriteLn(W)e;f
04E2b .FIXUP D
04E2b(8D000003): LDR SB, MT, MOD0 [ORTool]
04E3b(40D80000): ADD R0, SB, 0H [data]
04E4b .FIXUP D
04E4b(8D200002): LDR SB, MT, MOD2 [Texts]
04E5b(41D80005): ADD R1, SB, VAR5
04E6c .FIXUP D
04E6c(8D000002): LDR SB, MT, MOD0 [ORTool]
04E7c(42D80198): ADD R2, SB, 198H ["code"]
04E8c(43000005): MOV R3, R0, 5H
04E9d .FIXUP P
04E9d(F721D008): BL MOD2 [Texts] PROC29
04EAe .FIXUP D
04EAe(8D000004): LDR SB, MT, MOD0 [ORTool]
04EBe(40D80000): ADD R0, SB, 0H [data]
04ECe .FIXUP D
04ECe(8D200002): LDR SB, MT, MOD2 [Texts]
04EDe(41D80005): ADD R1, SB, VAR5
04EEf .FIXUP P
04EEf(F721C005): BL MOD2 [Texts] PROC28
Files.ReadInt(R,g n)h;i i := 0;j
04EFg(40E80050): ADD R0, SP, 50H
04F0g .FIXUP D
04F0g(8D100004): LDR SB, MT, MOD1 [Files]
04F1g(41D80001): ADD R1, SB, VAR1
04F2h(42E8000C): ADD R2, SP, CH
04F3i .FIXUP P
04F3i(F7111005): BL MOD1 [Files] PROC17
04F4j(40000000): MOV R0, R0, 0H
04F5j(A0E00008): STR R0, SP, 8H
WHILE i < n DOk
04F6k(80E00008): LDR R0, SP, 8H
04F7k(81E0000C): LDR R1, SP, CH
04F8k(00090001): SUB R0, R0, R1
04F9k(ED000029): BGE 41 [0523H]
Files.ReadInt(R,l data)m;n Texts.WriteInt(W,o i,p 4)q;r Texts.Write(W,s 9X)t;u Texts.WriteHex(W,v data)w;x
04FAl(40E80050): ADD R0, SP, 50H
04FBl .FIXUP D
04FBl(8D10000B): LDR SB, MT, MOD1 [Files]
04FCl(41D80001): ADD R1, SB, VAR1
04FDm(42E80020): ADD R2, SP, 20H
04FEn .FIXUP P
04FEn(F711100B): BL MOD1 [Files] PROC17
04FFo .FIXUP D
04FFo(8D000004): LDR SB, MT, MOD0 [ORTool]
0500o(40D80000): ADD R0, SB, 0H [data]
0501o .FIXUP D
0501o(8D200002): LDR SB, MT, MOD2 [Texts]
0502o(41D80005): ADD R1, SB, VAR5
0503p(82E00008): LDR R2, SP, 8H
0504q(43000004): MOV R3, R0, 4H
0505r .FIXUP P
0505r(F721E007): BL MOD2 [Texts] PROC30
0506s .FIXUP D
0506s(8D000005): LDR SB, MT, MOD0 [ORTool]
0507s(40D80000): ADD R0, SB, 0H [data]
0508s .FIXUP D
0508s(8D200002): LDR SB, MT, MOD2 [Texts]
0509s(41D80005): ADD R1, SB, VAR5
050At(42000009): MOV R2, R0, 9H
050Bu .FIXUP P
050Bu(F721B006): BL MOD2 [Texts] PROC27
050Cv .FIXUP D
050Cv(8D000004): LDR SB, MT, MOD0 [ORTool]
050Dv(40D80000): ADD R0, SB, 0H [data]
050Ev .FIXUP D
050Ev(8D200002): LDR SB, MT, MOD2 [Texts]
050Fv(41D80005): ADD R1, SB, VAR5
0510w(82E00020): LDR R2, SP, 20H
0511x .FIXUP P
0511x(F721F006): BL MOD2 [Texts] PROC31
Texts.Write(W,y 9X)z;a opcode(data)b;c Texts.WriteLn(W)d;e INC(i)
0512y .FIXUP D
0512y(8D000004): LDR SB, MT, MOD0 [ORTool]
0513y(40D80000): ADD R0, SB, 0H [data]
0514y .FIXUP D
0514y(8D200002): LDR SB, MT, MOD2 [Texts]
0515y(41D80005): ADD R1, SB, VAR5
0516z(42000009): MOV R2, R0, 9H
0517a .FIXUP P
0517a(F721B006): BL MOD2 [Texts] PROC27
0518b(80E00020): LDR R0, SP, 20H
0519c(F7FFFDB8): BL -584 [02D2H]
051Ad .FIXUP D
051Ad(8D000006): LDR SB, MT, MOD0 [ORTool]
051Bd(40D80000): ADD R0, SB, 0H [data]
051Cd .FIXUP D
051Cd(8D200002): LDR SB, MT, MOD2 [Texts]
051Dd(41D80005): ADD R1, SB, VAR5
051Ee .FIXUP P
051Ee(F721C007): BL MOD2 [Texts] PROC28
ENDf ;
051Ff(80E00008): LDR R0, SP, 8H
0520f(40080001): ADD R0, R0, 1H
0521f(A0E00008): STR R0, SP, 8H
0522f(E7FFFFD3): B -45 [04F6H]
(* Sync(R); *)
Texts.WriteString(W,g "commands:")h;i Texts.WriteLn(W)j;k
0523g .FIXUP D
0523g(8D000007): LDR SB, MT, MOD0 [ORTool]
0524g(40D80000): ADD R0, SB, 0H [data]
0525g .FIXUP D
0525g(8D200002): LDR SB, MT, MOD2 [Texts]
0526g(41D80005): ADD R1, SB, VAR5
0527h .FIXUP D
0527h(8D000002): LDR SB, MT, MOD0 [ORTool]
0528h(42D801A0): ADD R2, SB, 1A0H ["commands:"]
0529h(4300000A): MOV R3, R0, AH
052Ai .FIXUP P
052Ai(F721D00C): BL MOD2 [Texts] PROC29
052Bj .FIXUP D
052Bj(8D000004): LDR SB, MT, MOD0 [ORTool]
052Cj(40D80000): ADD R0, SB, 0H [data]
052Dj .FIXUP D
052Dj(8D200002): LDR SB, MT, MOD2 [Texts]
052Ej(41D80005): ADD R1, SB, VAR5
052Fk .FIXUP P
052Fk(F721C005): BL MOD2 [Texts] PROC28
Files.ReadString(R,l name)m;n
0530l(40E80050): ADD R0, SP, 50H
0531l .FIXUP D
0531l(8D100004): LDR SB, MT, MOD1 [Files]
0532l(41D80001): ADD R1, SB, VAR1
0533m(42E8002C): ADD R2, SP, 2CH
0534m(43000020): MOV R3, R0, 20H
0535n .FIXUP P
0535n(F7114006): BL MOD1 [Files] PROC20
WHILE name[0] # 0X DOo
0536o(90E0002C): LDR R0, SP, 2CH
0537o(E1000025): BEQ 37 [055DH]
Texts.Write(W,p 9X)q;r Texts.WriteString(W,s name)t;u
0538p .FIXUP D
0538p(8D000007): LDR SB, MT, MOD0 [ORTool]
0539p(40D80000): ADD R0, SB, 0H [data]
053Ap .FIXUP D
053Ap(8D200002): LDR SB, MT, MOD2 [Texts]
053Bp(41D80005): ADD R1, SB, VAR5
053Cq(42000009): MOV R2, R0, 9H
053Dr .FIXUP P
053Dr(F721B008): BL MOD2 [Texts] PROC27
053Es .FIXUP D
053Es(8D000004): LDR SB, MT, MOD0 [ORTool]
053Fs(40D80000): ADD R0, SB, 0H [data]
0540s .FIXUP D
0540s(8D200002): LDR SB, MT, MOD2 [Texts]
0541s(41D80005): ADD R1, SB, VAR5
0542t(42E8002C): ADD R2, SP, 2CH
0543t(43000020): MOV R3, R0, 20H
0544u .FIXUP P
0544u(F721D007): BL MOD2 [Texts] PROC29
Files.ReadInt(R,v adr)w;x Texts.WriteInt(W,y adr,z 5)a;b Texts.WriteLn(W)c;d
0545v(40E80050): ADD R0, SP, 50H
0546v .FIXUP D
0546v(8D100006): LDR SB, MT, MOD1 [Files]
0547v(41D80001): ADD R1, SB, VAR1
0548w(42E8001C): ADD R2, SP, 1CH
0549x .FIXUP P
0549x(F7111005): BL MOD1 [Files] PROC17
054Ay .FIXUP D
054Ay(8D000004): LDR SB, MT, MOD0 [ORTool]
054By(40D80000): ADD R0, SB, 0H [data]
054Cy .FIXUP D
054Cy(8D200002): LDR SB, MT, MOD2 [Texts]
054Dy(41D80005): ADD R1, SB, VAR5
054Ez(82E0001C): LDR R2, SP, 1CH
054Fa(43000005): MOV R3, R0, 5H
0550b .FIXUP P
0550b(F721E007): BL MOD2 [Texts] PROC30
0551c .FIXUP D
0551c(8D000005): LDR SB, MT, MOD0 [ORTool]
0552c(40D80000): ADD R0, SB, 0H [data]
0553c .FIXUP D
0553c(8D200002): LDR SB, MT, MOD2 [Texts]
0554c(41D80005): ADD R1, SB, VAR5
0555d .FIXUP P
0555d(F721C005): BL MOD2 [Texts] PROC28
Files.ReadString(R,e name)f
0556e(40E80050): ADD R0, SP, 50H
0557e .FIXUP D
0557e(8D100004): LDR SB, MT, MOD1 [Files]
0558e(41D80001): ADD R1, SB, VAR1
0559f(42E8002C): ADD R2, SP, 2CH
055Af(43000020): MOV R3, R0, 20H
ENDg ;
055Bg .FIXUP P
055Bg(F7114006): BL MOD1 [Files] PROC20
055Cg(E7FFFFD9): B -39 [0536H]
(* Sync(R); *)
Texts.WriteString(W,h "entries")i;j Texts.WriteLn(W)k;l
055Dh .FIXUP D
055Dh(8D000006): LDR SB, MT, MOD0 [ORTool]
055Eh(40D80000): ADD R0, SB, 0H [data]
055Fh .FIXUP D
055Fh(8D200002): LDR SB, MT, MOD2 [Texts]
0560h(41D80005): ADD R1, SB, VAR5
0561i .FIXUP D
0561i(8D000002): LDR SB, MT, MOD0 [ORTool]
0562i(42D801AC): ADD R2, SB, 1ACH ["entries"]
0563i(43000008): MOV R3, R0, 8H
0564j .FIXUP P
0564j(F721D009): BL MOD2 [Texts] PROC29
0565k .FIXUP D
0565k(8D000004): LDR SB, MT, MOD0 [ORTool]
0566k(40D80000): ADD R0, SB, 0H [data]
0567k .FIXUP D
0567k(8D200002): LDR SB, MT, MOD2 [Texts]
0568k(41D80005): ADD R1, SB, VAR5
0569l .FIXUP P
0569l(F721C005): BL MOD2 [Texts] PROC28
Files.ReadInt(R,m n)n;o i := 0;p
056Am(40E80050): ADD R0, SP, 50H
056Bm .FIXUP D
056Bm(8D100004): LDR SB, MT, MOD1 [Files]
056Cm(41D80001): ADD R1, SB, VAR1
056Dn(42E8000C): ADD R2, SP, CH
056Eo .FIXUP P
056Eo(F7111005): BL MOD1 [Files] PROC17
056Fp(40000000): MOV R0, R0, 0H
0570p(A0E00008): STR R0, SP, 8H
WHILE i < n DOq
0571q(80E00008): LDR R0, SP, 8H
0572q(81E0000C): LDR R1, SP, CH
0573q(00090001): SUB R0, R0, R1
0574q(ED000010): BGE 16 [0585H]
Files.ReadInt(R,r adr)s;t Texts.WriteInt(W,u adr,v 6)w;x INC(i)
0575r(40E80050): ADD R0, SP, 50H
0576r .FIXUP D
0576r(8D10000B): LDR SB, MT, MOD1 [Files]
0577r(41D80001): ADD R1, SB, VAR1
0578s(42E8001C): ADD R2, SP, 1CH
0579t .FIXUP P
0579t(F711100B): BL MOD1 [Files] PROC17
057Au .FIXUP D
057Au(8D000004): LDR SB, MT, MOD0 [ORTool]
057Bu(40D80000): ADD R0, SB, 0H [data]
057Cu .FIXUP D
057Cu(8D200002): LDR SB, MT, MOD2 [Texts]
057Du(41D80005): ADD R1, SB, VAR5
057Ev(82E0001C): LDR R2, SP, 1CH
057Fw(43000006): MOV R3, R0, 6H
0580x .FIXUP P
0580x(F721E007): BL MOD2 [Texts] PROC30
ENDy ;
0581y(80E00008): LDR R0, SP, 8H
0582y(40080001): ADD R0, R0, 1H
0583y(A0E00008): STR R0, SP, 8H
0584y(E7FFFFEC): B -20 [0571H]
Texts.WriteLn(W)z;a
0585z .FIXUP D
0585z(8D000009): LDR SB, MT, MOD0 [ORTool]
0586z(40D80000): ADD R0, SB, 0H [data]
0587z .FIXUP D
0587z(8D200002): LDR SB, MT, MOD2 [Texts]
0588z(41D80005): ADD R1, SB, VAR5
0589a .FIXUP P
0589a(F721C009): BL MOD2 [Texts] PROC28
(* Sync(R); *)
Texts.WriteString(W,b "pointer refs")c;d Texts.WriteLn(W)e;f Files.ReadInt(R,g adr)h;i
058Ab .FIXUP D
058Ab(8D000003): LDR SB, MT, MOD0 [ORTool]
058Bb(40D80000): ADD R0, SB, 0H [data]
058Cb .FIXUP D
058Cb(8D200002): LDR SB, MT, MOD2 [Texts]
058Db(41D80005): ADD R1, SB, VAR5
058Ec .FIXUP D
058Ec(8D000002): LDR SB, MT, MOD0 [ORTool]
058Fc(42D801B4): ADD R2, SB, 1B4H ["pointer refs"]
0590c(4300000D): MOV R3, R0, DH
0591d .FIXUP P
0591d(F721D008): BL MOD2 [Texts] PROC29
0592e .FIXUP D
0592e(8D000004): LDR SB, MT, MOD0 [ORTool]
0593e(40D80000): ADD R0, SB, 0H [data]
0594e .FIXUP D
0594e(8D200002): LDR SB, MT, MOD2 [Texts]
0595e(41D80005): ADD R1, SB, VAR5
0596f .FIXUP P
0596f(F721C005): BL MOD2 [Texts] PROC28
0597g(40E80050): ADD R0, SP, 50H
0598g .FIXUP D
0598g(8D100004): LDR SB, MT, MOD1 [Files]
0599g(41D80001): ADD R1, SB, VAR1
059Ah(42E8001C): ADD R2, SP, 1CH
059Bi .FIXUP P
059Bi(F7111005): BL MOD1 [Files] PROC17
WHILE adr # -1 DOj Texts.WriteInt(W,k adr,l 6)m;n Files.ReadInt(R,o adr)p ENDq ;
059Cj(80E0001C): LDR R0, SP, 1CH
059Dj(5009FFFF): SUB R0, R0, FFFFFFFFH
059Ej(E100000D): BEQ 13 [05ACH]
059Fk .FIXUP D
059Fk(8D000007): LDR SB, MT, MOD0 [ORTool]
05A0k(40D80000): ADD R0, SB, 0H [data]
05A1k .FIXUP D
05A1k(8D200002): LDR SB, MT, MOD2 [Texts]
05A2k(41D80005): ADD R1, SB, VAR5
05A3l(82E0001C): LDR R2, SP, 1CH
05A4m(43000006): MOV R3, R0, 6H
05A5n .FIXUP P
05A5n(F721E00A): BL MOD2 [Texts] PROC30
05A6o(40E80050): ADD R0, SP, 50H
05A7o .FIXUP D
05A7o(8D100006): LDR SB, MT, MOD1 [Files]
05A8o(41D80001): ADD R1, SB, VAR1
05A9p(42E8001C): ADD R2, SP, 1CH
05AAq .FIXUP P
05AAq(F7111005): BL MOD1 [Files] PROC17
05ABq(E7FFFFF0): B -16 [059CH]
Texts.WriteLn(W)r;s
05ACr .FIXUP D
05ACr(8D000005): LDR SB, MT, MOD0 [ORTool]
05ADr(40D80000): ADD R0, SB, 0H [data]
05AEr .FIXUP D
05AEr(8D200002): LDR SB, MT, MOD2 [Texts]
05AFr(41D80005): ADD R1, SB, VAR5
05B0s .FIXUP P
05B0s(F721C006): BL MOD2 [Texts] PROC28
(* Sync(R); *)
Files.ReadInt(R,t data)u;v Texts.WriteString(W,w "fixP = ")x;y Texts.WriteInt(W,z data,a 8)b;c Texts.WriteLn(W)d;e
05B1t(40E80050): ADD R0, SP, 50H
05B2t .FIXUP D
05B2t(8D100004): LDR SB, MT, MOD1 [Files]
05B3t(41D80001): ADD R1, SB, VAR1
05B4u(42E80020): ADD R2, SP, 20H
05B5v .FIXUP P
05B5v(F7111005): BL MOD1 [Files] PROC17
05B6w .FIXUP D
05B6w(8D000004): LDR SB, MT, MOD0 [ORTool]
05B7w(40D80000): ADD R0, SB, 0H [data]
05B8w .FIXUP D
05B8w(8D200002): LDR SB, MT, MOD2 [Texts]
05B9w(41D80005): ADD R1, SB, VAR5
05BAx .FIXUP D
05BAx(8D000002): LDR SB, MT, MOD0 [ORTool]
05BBx(42D801C4): ADD R2, SB, 1C4H ["fixP = "]
05BCx(43000008): MOV R3, R0, 8H
05BDy .FIXUP P
05BDy(F721D008): BL MOD2 [Texts] PROC29
05BEz .FIXUP D
05BEz(8D000004): LDR SB, MT, MOD0 [ORTool]
05BFz(40D80000): ADD R0, SB, 0H [data]
05C0z .FIXUP D
05C0z(8D200002): LDR SB, MT, MOD2 [Texts]
05C1z(41D80005): ADD R1, SB, VAR5
05C2a(82E00020): LDR R2, SP, 20H
05C3b(43000008): MOV R3, R0, 8H
05C4c .FIXUP P
05C4c(F721E007): BL MOD2 [Texts] PROC30
05C5d .FIXUP D
05C5d(8D000005): LDR SB, MT, MOD0 [ORTool]
05C6d(40D80000): ADD R0, SB, 0H [data]
05C7d .FIXUP D
05C7d(8D200002): LDR SB, MT, MOD2 [Texts]
05C8d(41D80005): ADD R1, SB, VAR5
05C9e .FIXUP P
05C9e(F721C005): BL MOD2 [Texts] PROC28
Files.ReadInt(R,f data)g;h Texts.WriteString(W,i "fixD = ")j;k Texts.WriteInt(W,l data,m 8)n;o Texts.WriteLn(W)p;q
05CAf(40E80050): ADD R0, SP, 50H
05CBf .FIXUP D
05CBf(8D100004): LDR SB, MT, MOD1 [Files]
05CCf(41D80001): ADD R1, SB, VAR1
05CDg(42E80020): ADD R2, SP, 20H
05CEh .FIXUP P
05CEh(F7111005): BL MOD1 [Files] PROC17
05CFi .FIXUP D
05CFi(8D000004): LDR SB, MT, MOD0 [ORTool]
05D0i(40D80000): ADD R0, SB, 0H [data]
05D1i .FIXUP D
05D1i(8D200002): LDR SB, MT, MOD2 [Texts]
05D2i(41D80005): ADD R1, SB, VAR5
05D3j .FIXUP D
05D3j(8D000002): LDR SB, MT, MOD0 [ORTool]
05D4j(42D801CC): ADD R2, SB, 1CCH ["fixD = "]
05D5j(43000008): MOV R3, R0, 8H
05D6k .FIXUP P
05D6k(F721D008): BL MOD2 [Texts] PROC29
05D7l .FIXUP D
05D7l(8D000004): LDR SB, MT, MOD0 [ORTool]
05D8l(40D80000): ADD R0, SB, 0H [data]
05D9l .FIXUP D
05D9l(8D200002): LDR SB, MT, MOD2 [Texts]
05DAl(41D80005): ADD R1, SB, VAR5
05DBm(82E00020): LDR R2, SP, 20H
05DCn(43000008): MOV R3, R0, 8H
05DDo .FIXUP P
05DDo(F721E007): BL MOD2 [Texts] PROC30
05DEp .FIXUP D
05DEp(8D000005): LDR SB, MT, MOD0 [ORTool]
05DFp(40D80000): ADD R0, SB, 0H [data]
05E0p .FIXUP D
05E0p(8D200002): LDR SB, MT, MOD2 [Texts]
05E1p(41D80005): ADD R1, SB, VAR5
05E2q .FIXUP P
05E2q(F721C005): BL MOD2 [Texts] PROC28
Files.ReadInt(R,r data)s;t Texts.WriteString(W,u "fixT = ")v;w Texts.WriteInt(W,x data,y 8)z;a Texts.WriteLn(W)b;c
05E3r(40E80050): ADD R0, SP, 50H
05E4r .FIXUP D
05E4r(8D100004): LDR SB, MT, MOD1 [Files]
05E5r(41D80001): ADD R1, SB, VAR1
05E6s(42E80020): ADD R2, SP, 20H
05E7t .FIXUP P
05E7t(F7111005): BL MOD1 [Files] PROC17
05E8u .FIXUP D
05E8u(8D000004): LDR SB, MT, MOD0 [ORTool]
05E9u(40D80000): ADD R0, SB, 0H [data]
05EAu .FIXUP D
05EAu(8D200002): LDR SB, MT, MOD2 [Texts]
05EBu(41D80005): ADD R1, SB, VAR5
05ECv .FIXUP D
05ECv(8D000002): LDR SB, MT, MOD0 [ORTool]
05EDv(42D801D4): ADD R2, SB, 1D4H ["fixT = "]
05EEv(43000008): MOV R3, R0, 8H
05EFw .FIXUP P
05EFw(F721D008): BL MOD2 [Texts] PROC29
05F0x .FIXUP D
05F0x(8D000004): LDR SB, MT, MOD0 [ORTool]
05F1x(40D80000): ADD R0, SB, 0H [data]
05F2x .FIXUP D
05F2x(8D200002): LDR SB, MT, MOD2 [Texts]
05F3x(41D80005): ADD R1, SB, VAR5
05F4y(82E00020): LDR R2, SP, 20H
05F5z(43000008): MOV R3, R0, 8H
05F6a .FIXUP P
05F6a(F721E007): BL MOD2 [Texts] PROC30
05F7b .FIXUP D
05F7b(8D000005): LDR SB, MT, MOD0 [ORTool]
05F8b(40D80000): ADD R0, SB, 0H [data]
05F9b .FIXUP D
05F9b(8D200002): LDR SB, MT, MOD2 [Texts]
05FAb(41D80005): ADD R1, SB, VAR5
05FBc .FIXUP P
05FBc(F721C005): BL MOD2 [Texts] PROC28
Files.ReadInt(R,d data)e;f Texts.WriteString(W,g "entry = ")h;i Texts.WriteInt(W,j data,k 8)l;m Texts.WriteLn(W)n;o
05FCd(40E80050): ADD R0, SP, 50H
05FDd .FIXUP D
05FDd(8D100004): LDR SB, MT, MOD1 [Files]
05FEd(41D80001): ADD R1, SB, VAR1
05FFe(42E80020): ADD R2, SP, 20H
0600f .FIXUP P
0600f(F7111005): BL MOD1 [Files] PROC17
0601g .FIXUP D
0601g(8D000004): LDR SB, MT, MOD0 [ORTool]
0602g(40D80000): ADD R0, SB, 0H [data]
0603g .FIXUP D
0603g(8D200002): LDR SB, MT, MOD2 [Texts]
0604g(41D80005): ADD R1, SB, VAR5
0605h .FIXUP D
0605h(8D000002): LDR SB, MT, MOD0 [ORTool]
0606h(42D801DC): ADD R2, SB, 1DCH ["entry = "]
0607h(43000009): MOV R3, R0, 9H
0608i .FIXUP P
0608i(F721D008): BL MOD2 [Texts] PROC29
0609j .FIXUP D
0609j(8D000004): LDR SB, MT, MOD0 [ORTool]
060Aj(40D80000): ADD R0, SB, 0H [data]
060Bj .FIXUP D
060Bj(8D200002): LDR SB, MT, MOD2 [Texts]
060Cj(41D80005): ADD R1, SB, VAR5
060Dk(82E00020): LDR R2, SP, 20H
060El(43000008): MOV R3, R0, 8H
060Fm .FIXUP P
060Fm(F721E007): BL MOD2 [Texts] PROC30
0610n .FIXUP D
0610n(8D000005): LDR SB, MT, MOD0 [ORTool]
0611n(40D80000): ADD R0, SB, 0H [data]
0612n .FIXUP D
0612n(8D200002): LDR SB, MT, MOD2 [Texts]
0613n(41D80005): ADD R1, SB, VAR5
0614o .FIXUP P
0614o(F721C005): BL MOD2 [Texts] PROC28
Files.Read(R,p ch)q;r
0615p(40E80050): ADD R0, SP, 50H
0616p .FIXUP D
0616p(8D100004): LDR SB, MT, MOD1 [Files]
0617p(41D80001): ADD R1, SB, VAR1
0618q(42E80028): ADD R2, SP, 28H
0619r .FIXUP P
0619r(F7110005): BL MOD1 [Files] PROC16
IF ch # "O" THENs Texts.WriteString(W,t "format eror")u;v Texts.WriteLn(W)w ENDx
061As(90E00028): LDR R0, SP, 28H
061Bs(4009004F): SUB R0, R0, 4FH
061Cs(E100000D): BEQ 13 [062AH]
061Dt .FIXUP D
061Dt(8D000007): LDR SB, MT, MOD0 [ORTool]
061Et(40D80000): ADD R0, SB, 0H [data]
061Ft .FIXUP D
061Ft(8D200002): LDR SB, MT, MOD2 [Texts]
0620t(41D80005): ADD R1, SB, VAR5
0621u .FIXUP D
0621u(8D000002): LDR SB, MT, MOD0 [ORTool]
0622u(42D801E8): ADD R2, SB, 1E8H ["format eror"]
0623u(4300000C): MOV R3, R0, CH
0624v .FIXUP P
0624v(F721D00B): BL MOD2 [Texts] PROC29
0625w .FIXUP D
0625w(8D000004): LDR SB, MT, MOD0 [ORTool]
0626w(40D80000): ADD R0, SB, 0H [data]
0627w .FIXUP D
0627w(8D200002): LDR SB, MT, MOD2 [Texts]
0628w(41D80005): ADD R1, SB, VAR5
0629x .FIXUP P
0629x(F721C005): BL MOD2 [Texts] PROC28
(* Sync(R); *)
ELSE Textsy.WriteString(W,z " not found")a;b Texts.WriteLn(W)c
062Ay(E700000D): B 13 [0638H]
062Bz .FIXUP D
062Bz(8D000004): LDR SB, MT, MOD0 [ORTool]
062Cz(40D80000): ADD R0, SB, 0H [data]
062Dz .FIXUP D
062Dz(8D200002): LDR SB, MT, MOD2 [Texts]
062Ez(41D80005): ADD R1, SB, VAR5
062Fa .FIXUP D
062Fa(8D000002): LDR SB, MT, MOD0 [ORTool]
0630a(42D801F4): ADD R2, SB, 1F4H [" not found"]
0631a(4300000B): MOV R3, R0, BH
0632b .FIXUP P
0632b(F721D009): BL MOD2 [Texts] PROC29
0633c .FIXUP D
0633c(8D000004): LDR SB, MT, MOD0 [ORTool]
0634c(40D80000): ADD R0, SB, 0H [data]
0635c .FIXUP D
0635c(8D200002): LDR SB, MT, MOD2 [Texts]
0636c(41D80005): ADD R1, SB, VAR5
ENDd ;
0637d .FIXUP P
0637d(F721C005): BL MOD2 [Texts] PROC28
Texts.Append(Oberon.Log,e W.buf)f
0638e .FIXUP D
0638e(8D400003): LDR SB, MT, MOD4 [Oberon]
0639e(80D0000D): LDR R0, SB, VAR13
063Af .FIXUP D
063Af(8D000002): LDR SB, MT, MOD0 [ORTool]
063Bf(81D00000): LDR R1, SB, 0H [data]
ENDg
063Cg .FIXUP P
063Cg(F720E005): BL MOD2 [Texts] PROC14
ENDh DecObj;
063Dh(8FE00000): LDR LNK, SP, 0H
063Eh(4EE800DC): ADD SP, SP, DCH
063Fh(C700000F): B LNK
BEGINi Texts.OpenWriter(W)j;k Texts.WriteString(W,l "ORTool 18.2.2013")m;n
0640i .PROC 0
0640i .ENTRYPOINT
0640i(4EE90004): SUB SP, SP, 4H
0641i(AFE00000): STR LNK, SP, 0H
0642j .FIXUP D
0642j(8D000008): LDR SB, MT, MOD0 [ORTool]
0643j(40D80000): ADD R0, SB, 0H [data]
0644j .FIXUP D
0644j(8D200002): LDR SB, MT, MOD2 [Texts]
0645j(41D80005): ADD R1, SB, VAR5
0646k .FIXUP P
0646k(F721700A): BL MOD2 [Texts] PROC23
0647l .FIXUP D
0647l(8D000003): LDR SB, MT, MOD0 [ORTool]
0648l(40D80000): ADD R0, SB, 0H [data]
0649l .FIXUP D
0649l(8D200002): LDR SB, MT, MOD2 [Texts]
064Al(41D80005): ADD R1, SB, VAR5
064Bm .FIXUP D
064Bm(8D000002): LDR SB, MT, MOD0 [ORTool]
064Cm(42D80200): ADD R2, SB, 200H ["ORTool 18.2.2013"]
064Dm(43000011): MOV R3, R0, 11H
064En .FIXUP P
064En(F721D008): BL MOD2 [Texts] PROC29
Texts.WriteLn(W)o;p Texts.Append(Oberon.Log,q W.buf)r;s
064Fo .FIXUP D
064Fo(8D000004): LDR SB, MT, MOD0 [ORTool]
0650o(40D80000): ADD R0, SB, 0H [data]
0651o .FIXUP D
0651o(8D200002): LDR SB, MT, MOD2 [Texts]
0652o(41D80005): ADD R1, SB, VAR5
0653p .FIXUP P
0653p(F721C005): BL MOD2 [Texts] PROC28
0654q .FIXUP D
0654q(8D400003): LDR SB, MT, MOD4 [Oberon]
0655q(80D0000D): LDR R0, SB, VAR13
0656r .FIXUP D
0656r(8D000002): LDR SB, MT, MOD0 [ORTool]
0657r(81D00000): LDR R1, SB, 0H [data]
0658s .FIXUP P
0658s(F720E005): BL MOD2 [Texts] PROC14
mnemo0[0] := "MOV";t
0659t .FIXUP D
0659t(8D000003): LDR SB, MT, MOD0 [ORTool]
065At(40D8002C): ADD R0, SB, 2CH [data]
065Bt(41D80214): ADD R1, SB, 214H
065Ct(82100000): LDR R2, R1, 0H
065Dt(41180004): ADD R1, R1, 4H
065Et(A2000000): STR R2, R0, 0H
065Ft(40080004): ADD R0, R0, 4H
0660t(42220018): ASR R2, R2, 18H
0661t(E9FFFFFA): BNE -6 [065CH]
mnemo0[1] := "LSL";u
0662u(40D80030): ADD R0, SB, 30H
0663u(41D80218): ADD R1, SB, 218H
0664u(82100000): LDR R2, R1, 0H
0665u(41180004): ADD R1, R1, 4H
0666u(A2000000): STR R2, R0, 0H
0667u(40080004): ADD R0, R0, 4H
0668u(42220018): ASR R2, R2, 18H
0669u(E9FFFFFA): BNE -6 [0664H]
mnemo0[2] := "ASR";v
066Av(40D80034): ADD R0, SB, 34H
066Bv(41D8021C): ADD R1, SB, 21CH
066Cv(82100000): LDR R2, R1, 0H
066Dv(41180004): ADD R1, R1, 4H
066Ev(A2000000): STR R2, R0, 0H
066Fv(40080004): ADD R0, R0, 4H
0670v(42220018): ASR R2, R2, 18H
0671v(E9FFFFFA): BNE -6 [066CH]
mnemo0[3] := "ROR";w
0672w(40D80038): ADD R0, SB, 38H
0673w(41D80220): ADD R1, SB, 220H
0674w(82100000): LDR R2, R1, 0H
0675w(41180004): ADD R1, R1, 4H
0676w(A2000000): STR R2, R0, 0H
0677w(40080004): ADD R0, R0, 4H
0678w(42220018): ASR R2, R2, 18H
0679w(E9FFFFFA): BNE -6 [0674H]
mnemo0[4] := "AND";x
067Ax(40D8003C): ADD R0, SB, 3CH
067Bx(41D80224): ADD R1, SB, 224H
067Cx(82100000): LDR R2, R1, 0H
067Dx(41180004): ADD R1, R1, 4H
067Ex(A2000000): STR R2, R0, 0H
067Fx(40080004): ADD R0, R0, 4H
0680x(42220018): ASR R2, R2, 18H
0681x(E9FFFFFA): BNE -6 [067CH]
mnemo0[5] := "ANN";y
0682y(40D80040): ADD R0, SB, 40H
0683y(41D80228): ADD R1, SB, 228H
0684y(82100000): LDR R2, R1, 0H
0685y(41180004): ADD R1, R1, 4H
0686y(A2000000): STR R2, R0, 0H
0687y(40080004): ADD R0, R0, 4H
0688y(42220018): ASR R2, R2, 18H
0689y(E9FFFFFA): BNE -6 [0684H]
mnemo0[6] := "IOR";z
068Az(40D80044): ADD R0, SB, 44H
068Bz(41D8022C): ADD R1, SB, 22CH
068Cz(82100000): LDR R2, R1, 0H
068Dz(41180004): ADD R1, R1, 4H
068Ez(A2000000): STR R2, R0, 0H
068Fz(40080004): ADD R0, R0, 4H
0690z(42220018): ASR R2, R2, 18H
0691z(E9FFFFFA): BNE -6 [068CH]
mnemo0[7] := "XOR";a
0692a(40D80048): ADD R0, SB, 48H
0693a(41D80230): ADD R1, SB, 230H
0694a(82100000): LDR R2, R1, 0H
0695a(41180004): ADD R1, R1, 4H
0696a(A2000000): STR R2, R0, 0H
0697a(40080004): ADD R0, R0, 4H
0698a(42220018): ASR R2, R2, 18H
0699a(E9FFFFFA): BNE -6 [0694H]
mnemo0[8] := "ADD";b
069Ab(40D8004C): ADD R0, SB, 4CH
069Bb(41D80234): ADD R1, SB, 234H
069Cb(82100000): LDR R2, R1, 0H
069Db(41180004): ADD R1, R1, 4H
069Eb(A2000000): STR R2, R0, 0H
069Fb(40080004): ADD R0, R0, 4H
06A0b(42220018): ASR R2, R2, 18H
06A1b(E9FFFFFA): BNE -6 [069CH]
mnemo0[9] := "SUB";c
06A2c(40D80050): ADD R0, SB, 50H
06A3c(41D80238): ADD R1, SB, 238H
06A4c(82100000): LDR R2, R1, 0H
06A5c(41180004): ADD R1, R1, 4H
06A6c(A2000000): STR R2, R0, 0H
06A7c(40080004): ADD R0, R0, 4H
06A8c(42220018): ASR R2, R2, 18H
06A9c(E9FFFFFA): BNE -6 [06A4H]
mnemo0[10] := "MUL";d
06AAd(40D80054): ADD R0, SB, 54H
06ABd(41D8023C): ADD R1, SB, 23CH
06ACd(82100000): LDR R2, R1, 0H
06ADd(41180004): ADD R1, R1, 4H
06AEd(A2000000): STR R2, R0, 0H
06AFd(40080004): ADD R0, R0, 4H
06B0d(42220018): ASR R2, R2, 18H
06B1d(E9FFFFFA): BNE -6 [06ACH]
mnemo0[11] := "DIV";e
06B2e(40D80058): ADD R0, SB, 58H
06B3e(41D80240): ADD R1, SB, 240H
06B4e(82100000): LDR R2, R1, 0H
06B5e(41180004): ADD R1, R1, 4H
06B6e(A2000000): STR R2, R0, 0H
06B7e(40080004): ADD R0, R0, 4H
06B8e(42220018): ASR R2, R2, 18H
06B9e(E9FFFFFA): BNE -6 [06B4H]
mnemo0[12] := "FAD";f
06BAf(40D8005C): ADD R0, SB, 5CH
06BBf(41D80244): ADD R1, SB, 244H
06BCf(82100000): LDR R2, R1, 0H
06BDf(41180004): ADD R1, R1, 4H
06BEf(A2000000): STR R2, R0, 0H
06BFf(40080004): ADD R0, R0, 4H
06C0f(42220018): ASR R2, R2, 18H
06C1f(E9FFFFFA): BNE -6 [06BCH]
mnemo0[13] := "FSB";g
06C2g(40D80060): ADD R0, SB, 60H
06C3g(41D80248): ADD R1, SB, 248H
06C4g(82100000): LDR R2, R1, 0H
06C5g(41180004): ADD R1, R1, 4H
06C6g(A2000000): STR R2, R0, 0H
06C7g(40080004): ADD R0, R0, 4H
06C8g(42220018): ASR R2, R2, 18H
06C9g(E9FFFFFA): BNE -6 [06C4H]
mnemo0[14] := "FML";h
06CAh(40D80064): ADD R0, SB, 64H
06CBh(41D8024C): ADD R1, SB, 24CH
06CCh(82100000): LDR R2, R1, 0H
06CDh(41180004): ADD R1, R1, 4H
06CEh(A2000000): STR R2, R0, 0H
06CFh(40080004): ADD R0, R0, 4H
06D0h(42220018): ASR R2, R2, 18H
06D1h(E9FFFFFA): BNE -6 [06CCH]
mnemo0[15] := "FDV";i
06D2i(40D80068): ADD R0, SB, 68H
06D3i(41D80250): ADD R1, SB, 250H
06D4i(82100000): LDR R2, R1, 0H
06D5i(41180004): ADD R1, R1, 4H
06D6i(A2000000): STR R2, R0, 0H
06D7i(40080004): ADD R0, R0, 4H
06D8i(42220018): ASR R2, R2, 18H
06D9i(E9FFFFFA): BNE -6 [06D4H]
mnemo1[0] := "MI ";j
06DAj(40D8006C): ADD R0, SB, 6CH
06DBj(41D80254): ADD R1, SB, 254H
06DCj(82100000): LDR R2, R1, 0H
06DDj(41180004): ADD R1, R1, 4H
06DEj(A2000000): STR R2, R0, 0H
06DFj(40080004): ADD R0, R0, 4H
06E0j(42220018): ASR R2, R2, 18H
06E1j(E9FFFFFA): BNE -6 [06DCH]
mnemo1[8] := "PL";k
06E2k(40D8008C): ADD R0, SB, 8CH
06E3k(41D80258): ADD R1, SB, 258H
06E4k(82100000): LDR R2, R1, 0H
06E5k(41180004): ADD R1, R1, 4H
06E6k(A2000000): STR R2, R0, 0H
06E7k(40080004): ADD R0, R0, 4H
06E8k(42220018): ASR R2, R2, 18H
06E9k(E9FFFFFA): BNE -6 [06E4H]
mnemo1[1] := "EQ ";l
06EAl(40D80070): ADD R0, SB, 70H
06EBl(41D8025C): ADD R1, SB, 25CH
06ECl(82100000): LDR R2, R1, 0H
06EDl(41180004): ADD R1, R1, 4H
06EEl(A2000000): STR R2, R0, 0H
06EFl(40080004): ADD R0, R0, 4H
06F0l(42220018): ASR R2, R2, 18H
06F1l(E9FFFFFA): BNE -6 [06ECH]
mnemo1[9] := "NE ";m
06F2m(40D80090): ADD R0, SB, 90H
06F3m(41D80260): ADD R1, SB, 260H
06F4m(82100000): LDR R2, R1, 0H
06F5m(41180004): ADD R1, R1, 4H
06F6m(A2000000): STR R2, R0, 0H
06F7m(40080004): ADD R0, R0, 4H
06F8m(42220018): ASR R2, R2, 18H
06F9m(E9FFFFFA): BNE -6 [06F4H]
mnemo1[2] := "LS ";n
06FAn(40D80074): ADD R0, SB, 74H
06FBn(41D80264): ADD R1, SB, 264H
06FCn(82100000): LDR R2, R1, 0H
06FDn(41180004): ADD R1, R1, 4H
06FEn(A2000000): STR R2, R0, 0H
06FFn(40080004): ADD R0, R0, 4H
0700n(42220018): ASR R2, R2, 18H
0701n(E9FFFFFA): BNE -6 [06FCH]
mnemo1[10] := "HI ";o
0702o(40D80094): ADD R0, SB, 94H
0703o(41D80268): ADD R1, SB, 268H
0704o(82100000): LDR R2, R1, 0H
0705o(41180004): ADD R1, R1, 4H
0706o(A2000000): STR R2, R0, 0H
0707o(40080004): ADD R0, R0, 4H
0708o(42220018): ASR R2, R2, 18H
0709o(E9FFFFFA): BNE -6 [0704H]
mnemo1[5] := "LT ";p
070Ap(40D80080): ADD R0, SB, 80H
070Bp(41D8026C): ADD R1, SB, 26CH
070Cp(82100000): LDR R2, R1, 0H
070Dp(41180004): ADD R1, R1, 4H
070Ep(A2000000): STR R2, R0, 0H
070Fp(40080004): ADD R0, R0, 4H
0710p(42220018): ASR R2, R2, 18H
0711p(E9FFFFFA): BNE -6 [070CH]
mnemo1[13] := "GE ";q
0712q(40D800A0): ADD R0, SB, A0H
0713q(41D80270): ADD R1, SB, 270H
0714q(82100000): LDR R2, R1, 0H
0715q(41180004): ADD R1, R1, 4H
0716q(A2000000): STR R2, R0, 0H
0717q(40080004): ADD R0, R0, 4H
0718q(42220018): ASR R2, R2, 18H
0719q(E9FFFFFA): BNE -6 [0714H]
mnemo1[6] := "LE ";r
071Ar(40D80084): ADD R0, SB, 84H
071Br(41D80274): ADD R1, SB, 274H
071Cr(82100000): LDR R2, R1, 0H
071Dr(41180004): ADD R1, R1, 4H
071Er(A2000000): STR R2, R0, 0H
071Fr(40080004): ADD R0, R0, 4H
0720r(42220018): ASR R2, R2, 18H
0721r(E9FFFFFA): BNE -6 [071CH]
mnemo1[14] := "GT ";s
0722s(40D800A4): ADD R0, SB, A4H
0723s(41D80278): ADD R1, SB, 278H
0724s(82100000): LDR R2, R1, 0H
0725s(41180004): ADD R1, R1, 4H
0726s(A2000000): STR R2, R0, 0H
0727s(40080004): ADD R0, R0, 4H
0728s(42220018): ASR R2, R2, 18H
0729s(E9FFFFFA): BNE -6 [0724H]
mnemo1[15] := "NO ";t
072At(40D800A8): ADD R0, SB, A8H
072Bt(41D8027C): ADD R1, SB, 27CH
072Ct(82100000): LDR R2, R1, 0H
072Dt(41180004): ADD R1, R1, 4H
072Et(A2000000): STR R2, R0, 0H
072Ft(40080004): ADD R0, R0, 4H
0730t(42220018): ASR R2, R2, 18H
0731t(E9FFFFFA): BNE -6 [072CH]
END ORTool.u
0732u(8FE00000): LDR LNK, SP, 0H
0733u(4EE80004): ADD SP, SP, 4H
0734u(C700000F): B LNK