Used Exports

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*)
.IMPORT Files (KEY 73F5D686)
.IMPORT Texts (KEY 0B9E9984)
.IMPORT Fonts (KEY F4C9F557)
.IMPORT Display (KEY 4C08D3EA)
.IMPORT Viewers (KEY 25ABF199)
.IMPORT ORS (KEY 76547166)
.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 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 254H "MI "
.STRING 260H "NE "
.STRING 264H "LS "
.STRING 268H "HI "
.STRING 270H "GE "
.STRING 274H "LE "
.STRING 278H "GT "
IMPORT SYSTEM, Files, Texts, Oberon, ORB;
VAR W: Texts.Writer;
Form: INTEGER; (*result of ReadType*)
mnemo0, mnemo1: ARRAY 16, 4 OF CHAR; (*mnemonics*)
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(8D200002): LDR SB, MT, MOD2 [Texts]
00ACi(41D80005): ADD R1, SB, VAR5
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(F7115004): BL MOD1 [Files] PROC21
00BCs(8D000009): LDR SB, MT, MOD0 [ORTool]
00BDs(40D80000): ADD R0, SB, 0H [data]
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(F721E007): BL MOD2 [Texts] PROC30
Texts.Write(W,z " ")a;b Texts.Write(W,c "{")d;e Read(R,f class)g;h
00CBz(8D000005): LDR SB, MT, MOD0 [ORTool]
00CCz(40D80000): ADD R0, SB, 0H [data]
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(8D000004): LDR SB, MT, MOD0 [ORTool]
00EBq(40D80000): ADD R0, SB, 0H [data]
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(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
017Fr .FIXUP P
017Fr(F721F006): BL MOD2 [Texts] PROC31
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(F721D007): BL MOD2 [Texts] PROC29
Texts.WriteLn(W)k;l Texts.Append(Oberon.Log,m W.buf)n;o
01ADk(8D000005): LDR SB, MT, MOD0 [ORTool]
01AEk(40D80000): ADD R0, SB, 0H [data]
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
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(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(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(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(8D000005): LDR SB, MT, MOD0 [ORTool]
01DBi(40D80000): ADD R0, SB, 0H [data]
01DCi(8D200002): LDR SB, MT, MOD2 [Texts]
01DDi(41D80005): ADD R1, SB, VAR5
01DEj(82E0000C): LDR R2, SP, CH
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(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(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(8D000006): LDR SB, MT, MOD0 [ORTool]
01FCz(40D80000): ADD R0, SB, 0H [data]
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
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
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
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
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]
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
(* ---------------------------------------------------*)
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(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(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(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(8D000002): LDR SB, MT, MOD0 [ORTool]
02CCu(42D80148): ADD R2, SB, 148H ["LNK"]
02CDu(43000004): MOV R3, R0, 4H
02CEv(F721D009): BL MOD2 [Texts] PROC29
ENDw WriteReg;
02CFw(8FE00000): LDR LNK, SP, 0H
02D0w(4EE80008): ADD SP, SP, 8H
02D1w(C700000F): B LNK
VAR k, op, u, a, b, c: LONGINT;
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(8D000020): LDR SB, MT, MOD0 [ORTool]
02ECj(40D80000): ADD R0, SB, 0H [data]
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(8D000008): LDR SB, MT, MOD0 [ORTool]
02FCo(40D80000): ADD R0, SB, 0H [data]
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
039Fl .FIXUP P
039Fl(F721E019): BL MOD2 [Texts] PROC30
ENDm opcode;
03A0m(8FE00000): LDR LNK, SP, 0H
03A1m(4EE80020): ADD SP, SP, 20H
03A2m(C700000F): B LNK
PROCEDURE Sync(VAR R: Files.Rider);
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(F711000B): BL MOD1 [Files] PROC16
03ABr(8D000010): LDR SB, MT, MOD0 [ORTool]
03ACr(40D80000): ADD R0, SB, 0H [data]
03ADr(8D200002): LDR SB, MT, MOD2 [Texts]
03AEr(41D80005): ADD R1, SB, VAR5
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(8D200002): LDR SB, MT, MOD2 [Texts]
03BCx(41D80005): ADD R1, SB, VAR5
ENDy Sync;
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(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(8D200005): LDR SB, MT, MOD2 [Texts]
03DBi(41D80003): ADD R1, SB, VAR3
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(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(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
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(F710B009): BL MOD1 [Files] PROC11
03FBy(40E80050): ADD R0, SP, 50H
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]
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(8D000004): LDR SB, MT, MOD0 [ORTool]
04ABc(40D80000): ADD R0, SB, 0H [data]
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(8D000002): LDR SB, MT, MOD0 [ORTool]
04BBj(42D80190): ADD R2, SB, 190H ["strings"]
04BCj(43000008): MOV R3, R0, 8H
04BDk(F721D008): BL MOD2 [Texts] PROC29
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(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]
04DDz(8D000008): LDR SB, MT, MOD0 [ORTool]
04DEz(40D80000): ADD R0, SB, 0H [data]
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(8D000004): LDR SB, MT, MOD0 [ORTool]
04EBe(40D80000): ADD R0, SB, 0H [data]
04ECe(8D200002): LDR SB, MT, MOD2 [Texts]
04EDe(41D80005): ADD R1, SB, VAR5
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(8D10000B): LDR SB, MT, MOD1 [Files]
04FCl(41D80001): ADD R1, SB, VAR1
04FDm(42E80020): ADD R2, SP, 20H
04FEn(F711100B): BL MOD1 [Files] PROC17
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]
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(F7111005): BL MOD1 [Files] PROC17
05ABq(E7FFFFF0): B -16 [059CH]
05ACr(8D000005): LDR SB, MT, MOD0 [ORTool]
05ADr(40D80000): ADD R0, SB, 0H [data]
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(8D000002): LDR SB, MT, MOD0 [ORTool]
05BBx(42D801C4): ADD R2, SB, 1C4H ["fixP = "]
05BCx(43000008): MOV R3, R0, 8H
05BDy(F721D008): BL MOD2 [Texts] PROC29
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(8D100004): LDR SB, MT, MOD1 [Files]
05CCf(41D80001): ADD R1, SB, VAR1
05CDg(42E80020): ADD R2, SP, 20H
05CEh(F7111005): BL MOD1 [Files] PROC17
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(F721E007): BL MOD2 [Texts] PROC30
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(8D200002): LDR SB, MT, MOD2 [Texts]
05EBu(41D80005): ADD R1, SB, VAR5
05ECv(8D000002): LDR SB, MT, MOD0 [ORTool]
05EDv(42D801D4): ADD R2, SB, 1D4H ["fixT = "]
05EEv(43000008): MOV R3, R0, 8H
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(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(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]
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(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