| 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 |
0000 | a(4EE90014): SUB SP, SP, 14H |
0001 | a(AFE00000): STR LNK, SP, 0H |
0002 | a(A0E00004): STR R0, SP, 4H |
0003 | a(A1E00008): STR R1, SP, 8H |
0004 | a(A2E0000C): STR R2, SP, CH |
0005 | b(80E00004): LDR R0, SP, 4H |
0006 | b(81E00008): LDR R1, SP, 8H |
0007 | c(42E80010): ADD R2, SP, 10H |
0008 | d .FIXUP P |
0008 | d(F710E008): BL MOD1 [Files] PROC14 |
| IF b < 80H THENe n := b ELSEf ng := b - 100H ENDh |
0009 | e(90E00010): LDR R0, SP, 10H |
000A | e(40090080): SUB R0, R0, 80H |
000B | e(ED000004): BGE 4 [0010H] |
000C | f(90E00010): LDR R0, SP, 10H |
000D | f(81E0000C): LDR R1, SP, CH |
000E | f(A0100000): STR R0, R1, 0H |
000F | g(E7000004): B 4 [0014H] |
0010 | h(90E00010): LDR R0, SP, 10H |
0011 | h(40090100): SUB R0, R0, 100H |
0012 | h(81E0000C): LDR R1, SP, CH |
0013 | h(A0100000): STR R0, R1, 0H |
| ENDi Read; |
0014 | i(8FE00000): LDR LNK, SP, 0H |
0015 | i(4EE80014): ADD SP, SP, 14H |
0016 | i(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 |
0017 | j(4EE90074): SUB SP, SP, 74H |
0018 | j(AFE00000): STR LNK, SP, 0H |
0019 | j(A0E00004): STR R0, SP, 4H |
001A | j(A1E00008): STR R1, SP, 8H |
001B | k(80E00004): LDR R0, SP, 4H |
001C | k(81E00008): LDR R1, SP, 8H |
001D | l(42E80020): ADD R2, SP, 20H |
001E | m(F7FFFFE1): BL -31 [0000H] |
001F | n .FIXUP D |
001F | n(8D00001F): LDR SB, MT, MOD0 [ORTool] |
0020 | n(40D80000): ADD R0, SB, 0H [data] |
0021 | n .FIXUP D |
0021 | n(8D200002): LDR SB, MT, MOD2 [Texts] |
0022 | n(41D80005): ADD R1, SB, VAR5 |
0023 | o(42000020): MOV R2, R0, 20H |
0024 | p .FIXUP P |
0024 | p(F721B01C): BL MOD2 [Texts] PROC27 |
0025 | q .FIXUP D |
0025 | q(8D000004): LDR SB, MT, MOD0 [ORTool] |
0026 | q(40D80000): ADD R0, SB, 0H [data] |
0027 | q .FIXUP D |
0027 | q(8D200002): LDR SB, MT, MOD2 [Texts] |
0028 | q(41D80005): ADD R1, SB, VAR5 |
0029 | r(4200005B): MOV R2, R0, 5BH |
002A | s .FIXUP P |
002A | s(F721B006): BL MOD2 [Texts] PROC27 |
| IF ref < 0 THENt Texts.Write(W,u "^")v;w Texts.WriteInt(W,x -ref,y 1)z |
002B | t(80E00020): LDR R0, SP, 20H |
002C | t(40090000): SUB R0, R0, 0H |
002D | t(ED000010): BGE 16 [003EH] |
002E | u .FIXUP D |
002E | u(8D000007): LDR SB, MT, MOD0 [ORTool] |
002F | u(40D80000): ADD R0, SB, 0H [data] |
0030 | u .FIXUP D |
0030 | u(8D200002): LDR SB, MT, MOD2 [Texts] |
0031 | u(41D80005): ADD R1, SB, VAR5 |
0032 | v(4200005E): MOV R2, R0, 5EH |
0033 | w .FIXUP P |
0033 | w(F721B009): BL MOD2 [Texts] PROC27 |
0034 | x .FIXUP D |
0034 | x(8D000004): LDR SB, MT, MOD0 [ORTool] |
0035 | x(40D80000): ADD R0, SB, 0H [data] |
0036 | x .FIXUP D |
0036 | x(8D200002): LDR SB, MT, MOD2 [Texts] |
0037 | x(41D80005): ADD R1, SB, VAR5 |
0038 | y(82E00020): LDR R2, SP, 20H |
0039 | y(43000000): MOV R3, R0, 0H |
003A | y(02390002): SUB R2, R3, R2 |
003B | z(43000001): MOV R3, R0, 1H |
| ELSEa Textsb.WriteInt(W,c ref,d 1)e;f |
003C | a .FIXUP P |
003C | a(F721E009): BL MOD2 [Texts] PROC30 |
003D | b(E7000142): B 322 [0180H] |
003E | c .FIXUP D |
003E | c(8D000008): LDR SB, MT, MOD0 [ORTool] |
003F | c(40D80000): ADD R0, SB, 0H [data] |
0040 | c .FIXUP D |
0040 | c(8D200002): LDR SB, MT, MOD2 [Texts] |
0041 | c(41D80005): ADD R1, SB, VAR5 |
0042 | d(82E00020): LDR R2, SP, 20H |
0043 | e(43000001): MOV R3, R0, 1H |
0044 | f .FIXUP P |
0044 | f(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 |
0045 | g(80E00004): LDR R0, SP, 4H |
0046 | g(81E00008): LDR R1, SP, 8H |
0047 | h(42E8002C): ADD R2, SP, 2CH |
0048 | i(F7FFFFB7): BL -73 [0000H] |
0049 | j .FIXUP D |
0049 | j(8D000009): LDR SB, MT, MOD0 [ORTool] |
004A | j(40D80000): ADD R0, SB, 0H [data] |
004B | j .FIXUP D |
004B | j(8D200002): LDR SB, MT, MOD2 [Texts] |
004C | j(41D80005): ADD R1, SB, VAR5 |
004D | k .FIXUP D |
004D | k(8D000002): LDR SB, MT, MOD0 [ORTool] |
004E | k(42D800AC): ADD R2, SB, ACH [" form = "] |
004F | k(4300000A): MOV R3, R0, AH |
0050 | l .FIXUP P |
0050 | l(F721D00C): BL MOD2 [Texts] PROC29 |
0051 | m .FIXUP D |
0051 | m(8D000004): LDR SB, MT, MOD0 [ORTool] |
0052 | m(40D80000): ADD R0, SB, 0H [data] |
0053 | m .FIXUP D |
0053 | m(8D200002): LDR SB, MT, MOD2 [Texts] |
0054 | m(41D80005): ADD R1, SB, VAR5 |
0055 | n(82E0002C): LDR R2, SP, 2CH |
0056 | o(43000001): MOV R3, R0, 1H |
0057 | p .FIXUP P |
0057 | p(F721E007): BL MOD2 [Texts] PROC30 |
| IF form = ORB.Pointer THENq ReadType(R)r |
0058 | q(80E0002C): LDR R0, SP, 2CH |
0059 | q(40090007): SUB R0, R0, 7H |
005A | q(E9000004): BNE 4 [005FH] |
005B | r(80E00004): LDR R0, SP, 4H |
005C | r(81E00008): LDR R1, SP, 8H |
| ELSIFs formt = ORB.Array THENu |
005D | s(F7FFFFB9): BL -71 [0017H] |
005E | t(E70000F1): B 241 [0150H] |
005F | u(80E0002C): LDR R0, SP, 2CH |
0060 | u(4009000C): SUB R0, R0, CH |
0061 | u(E900002A): BNE 42 [008CH] |
| ReadType(R)v;w Files.ReadNum(R,x len)y;z Files.ReadNum(R,a size)b;c |
0062 | v(80E00004): LDR R0, SP, 4H |
0063 | v(81E00008): LDR R1, SP, 8H |
0064 | w(F7FFFFB2): BL -78 [0017H] |
0065 | x(80E00004): LDR R0, SP, 4H |
0066 | x(81E00008): LDR R1, SP, 8H |
0067 | y(42E80010): ADD R2, SP, 10H |
0068 | z .FIXUP P |
0068 | z(F7115011): BL MOD1 [Files] PROC21 |
0069 | a(80E00004): LDR R0, SP, 4H |
006A | a(81E00008): LDR R1, SP, 8H |
006B | b(42E80018): ADD R2, SP, 18H |
006C | c .FIXUP P |
006C | c(F7115004): BL MOD1 [Files] PROC21 |
| Texts.WriteString(W,d " len = ")e;f Texts.WriteInt(W,g len,h 1)i;j |
006D | d .FIXUP D |
006D | d(8D00001A): LDR SB, MT, MOD0 [ORTool] |
006E | d(40D80000): ADD R0, SB, 0H [data] |
006F | d .FIXUP D |
006F | d(8D200002): LDR SB, MT, MOD2 [Texts] |
0070 | d(41D80005): ADD R1, SB, VAR5 |
0071 | e .FIXUP D |
0071 | e(8D000002): LDR SB, MT, MOD0 [ORTool] |
0072 | e(42D800B8): ADD R2, SB, B8H [" len = "] |
0073 | e(43000009): MOV R3, R0, 9H |
0074 | f .FIXUP P |
0074 | f(F721D008): BL MOD2 [Texts] PROC29 |
0075 | g .FIXUP D |
0075 | g(8D000004): LDR SB, MT, MOD0 [ORTool] |
0076 | g(40D80000): ADD R0, SB, 0H [data] |
0077 | g .FIXUP D |
0077 | g(8D200002): LDR SB, MT, MOD2 [Texts] |
0078 | g(41D80005): ADD R1, SB, VAR5 |
0079 | h(82E00010): LDR R2, SP, 10H |
007A | i(43000001): MOV R3, R0, 1H |
007B | j .FIXUP P |
007B | j(F721E007): BL MOD2 [Texts] PROC30 |
| Texts.WriteString(W,k " size = ")l;m Texts.WriteInt(W,n size,o 1)p |
007C | k .FIXUP D |
007C | k(8D000005): LDR SB, MT, MOD0 [ORTool] |
007D | k(40D80000): ADD R0, SB, 0H [data] |
007E | k .FIXUP D |
007E | k(8D200002): LDR SB, MT, MOD2 [Texts] |
007F | k(41D80005): ADD R1, SB, VAR5 |
0080 | l .FIXUP D |
0080 | l(8D000002): LDR SB, MT, MOD0 [ORTool] |
0081 | l(42D800C4): ADD R2, SB, C4H [" size = "] |
0082 | l(4300000A): MOV R3, R0, AH |
0083 | m .FIXUP P |
0083 | m(F721D008): BL MOD2 [Texts] PROC29 |
0084 | n .FIXUP D |
0084 | n(8D000004): LDR SB, MT, MOD0 [ORTool] |
0085 | n(40D80000): ADD R0, SB, 0H [data] |
0086 | n .FIXUP D |
0086 | n(8D200002): LDR SB, MT, MOD2 [Texts] |
0087 | n(41D80005): ADD R1, SB, VAR5 |
0088 | o(82E00018): LDR R2, SP, 18H |
0089 | p(43000001): MOV R3, R0, 1H |
| ELSIFq formr = ORB.Record THENs |
008A | q .FIXUP P |
008A | q(F721E007): BL MOD2 [Texts] PROC30 |
008B | r(E70000C4): B 196 [0150H] |
008C | s(80E0002C): LDR R0, SP, 2CH |
008D | s(4009000D): SUB R0, R0, DH |
008E | s(E9000085): BNE 133 [0114H] |
| ReadType(R)t;u (*base type*) |
008F | t(80E00004): LDR R0, SP, 4H |
0090 | t(81E00008): LDR R1, SP, 8H |
0091 | u(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 |
0092 | v(80E00004): LDR R0, SP, 4H |
0093 | v(81E00008): LDR R1, SP, 8H |
0094 | w(42E8001C): ADD R2, SP, 1CH |
0095 | x .FIXUP P |
0095 | x(F711500B): BL MOD1 [Files] PROC21 |
0096 | y .FIXUP D |
0096 | y(8D000010): LDR SB, MT, MOD0 [ORTool] |
0097 | y(40D80000): ADD R0, SB, 0H [data] |
0098 | y .FIXUP D |
0098 | y(8D200002): LDR SB, MT, MOD2 [Texts] |
0099 | y(41D80005): ADD R1, SB, VAR5 |
009A | z .FIXUP D |
009A | z(8D000002): LDR SB, MT, MOD0 [ORTool] |
009B | z(42D800D0): ADD R2, SB, D0H [" exno = "] |
009C | z(4300000A): MOV R3, R0, AH |
009D | a .FIXUP P |
009D | a(F721D008): BL MOD2 [Texts] PROC29 |
009E | b .FIXUP D |
009E | b(8D000004): LDR SB, MT, MOD0 [ORTool] |
009F | b(40D80000): ADD R0, SB, 0H [data] |
00A0 | b .FIXUP D |
00A0 | b(8D200002): LDR SB, MT, MOD2 [Texts] |
00A1 | b(41D80005): ADD R1, SB, VAR5 |
00A2 | c(82E0001C): LDR R2, SP, 1CH |
00A3 | d(43000001): MOV R3, R0, 1H |
00A4 | e .FIXUP P |
00A4 | e(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 |
00A5 | f(80E00004): LDR R0, SP, 4H |
00A6 | f(81E00008): LDR R1, SP, 8H |
00A7 | g(42E8001C): ADD R2, SP, 1CH |
00A8 | h .FIXUP P |
00A8 | h(F7115004): BL MOD1 [Files] PROC21 |
00A9 | i .FIXUP D |
00A9 | i(8D000009): LDR SB, MT, MOD0 [ORTool] |
00AA | i(40D80000): ADD R0, SB, 0H [data] |
00AB | i .FIXUP D |
00AB | i(8D200002): LDR SB, MT, MOD2 [Texts] |
00AC | i(41D80005): ADD R1, SB, VAR5 |
00AD | j .FIXUP D |
00AD | j(8D000002): LDR SB, MT, MOD0 [ORTool] |
00AE | j(42D800DC): ADD R2, SB, DCH [" extlev = "] |
00AF | j(4300000C): MOV R3, R0, CH |
00B0 | k .FIXUP P |
00B0 | k(F721D008): BL MOD2 [Texts] PROC29 |
00B1 | l .FIXUP D |
00B1 | l(8D000004): LDR SB, MT, MOD0 [ORTool] |
00B2 | l(40D80000): ADD R0, SB, 0H [data] |
00B3 | l .FIXUP D |
00B3 | l(8D200002): LDR SB, MT, MOD2 [Texts] |
00B4 | l(41D80005): ADD R1, SB, VAR5 |
00B5 | m(82E0001C): LDR R2, SP, 1CH |
00B6 | n(43000001): MOV R3, R0, 1H |
00B7 | o .FIXUP P |
00B7 | o(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 |
00B8 | p(80E00004): LDR R0, SP, 4H |
00B9 | p(81E00008): LDR R1, SP, 8H |
00BA | q(42E80018): ADD R2, SP, 18H |
00BB | r .FIXUP P |
00BB | r(F7115004): BL MOD1 [Files] PROC21 |
00BC | s .FIXUP D |
00BC | s(8D000009): LDR SB, MT, MOD0 [ORTool] |
00BD | s(40D80000): ADD R0, SB, 0H [data] |
00BE | s .FIXUP D |
00BE | s(8D200002): LDR SB, MT, MOD2 [Texts] |
00BF | s(41D80005): ADD R1, SB, VAR5 |
00C0 | t .FIXUP D |
00C0 | t(8D000002): LDR SB, MT, MOD0 [ORTool] |
00C1 | t(42D800E8): ADD R2, SB, E8H [" size = "] |
00C2 | t(4300000A): MOV R3, R0, AH |
00C3 | u .FIXUP P |
00C3 | u(F721D008): BL MOD2 [Texts] PROC29 |
00C4 | v .FIXUP D |
00C4 | v(8D000004): LDR SB, MT, MOD0 [ORTool] |
00C5 | v(40D80000): ADD R0, SB, 0H [data] |
00C6 | v .FIXUP D |
00C6 | v(8D200002): LDR SB, MT, MOD2 [Texts] |
00C7 | v(41D80005): ADD R1, SB, VAR5 |
00C8 | w(82E00018): LDR R2, SP, 18H |
00C9 | x(43000001): MOV R3, R0, 1H |
00CA | y .FIXUP P |
00CA | y(F721E007): BL MOD2 [Texts] PROC30 |
| Texts.Write(W,z " ")a;b Texts.Write(W,c "{")d;e Read(R,f class)g;h |
00CB | z .FIXUP D |
00CB | z(8D000005): LDR SB, MT, MOD0 [ORTool] |
00CC | z(40D80000): ADD R0, SB, 0H [data] |
00CD | z .FIXUP D |
00CD | z(8D200002): LDR SB, MT, MOD2 [Texts] |
00CE | z(41D80005): ADD R1, SB, VAR5 |
00CF | a(42000020): MOV R2, R0, 20H |
00D0 | b .FIXUP P |
00D0 | b(F721B006): BL MOD2 [Texts] PROC27 |
00D1 | c .FIXUP D |
00D1 | c(8D000004): LDR SB, MT, MOD0 [ORTool] |
00D2 | c(40D80000): ADD R0, SB, 0H [data] |
00D3 | c .FIXUP D |
00D3 | c(8D200002): LDR SB, MT, MOD2 [Texts] |
00D4 | c(41D80005): ADD R1, SB, VAR5 |
00D5 | d(4200007B): MOV R2, R0, 7BH |
00D6 | e .FIXUP P |
00D6 | e(F721B006): BL MOD2 [Texts] PROC27 |
00D7 | f(80E00004): LDR R0, SP, 4H |
00D8 | f(81E00008): LDR R1, SP, 8H |
00D9 | g(42E80028): ADD R2, SP, 28H |
00DA | h(F7FFFF25): BL -219 [0000H] |
| WHILE class # 0 DOi (*fields*) |
00DB | i(80E00028): LDR R0, SP, 28H |
00DC | i(E1000030): BEQ 48 [010DH] |
| Files.ReadString(R,j name)k;l |
00DD | j(80E00004): LDR R0, SP, 4H |
00DE | j(81E00008): LDR R1, SP, 8H |
00DF | k(42E80034): ADD R2, SP, 34H |
00E0 | k(43000020): MOV R3, R0, 20H |
00E1 | l .FIXUP P |
00E1 | l(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 |
00E2 | m(90E00034): LDR R0, SP, 34H |
00E3 | m(E1000011): BEQ 17 [00F5H] |
00E4 | n .FIXUP D |
00E4 | n(8D000011): LDR SB, MT, MOD0 [ORTool] |
00E5 | n(40D80000): ADD R0, SB, 0H [data] |
00E6 | n .FIXUP D |
00E6 | n(8D200002): LDR SB, MT, MOD2 [Texts] |
00E7 | n(41D80005): ADD R1, SB, VAR5 |
00E8 | o(42000020): MOV R2, R0, 20H |
00E9 | p .FIXUP P |
00E9 | p(F721B008): BL MOD2 [Texts] PROC27 |
00EA | q .FIXUP D |
00EA | q(8D000004): LDR SB, MT, MOD0 [ORTool] |
00EB | q(40D80000): ADD R0, SB, 0H [data] |
00EC | q .FIXUP D |
00EC | q(8D200002): LDR SB, MT, MOD2 [Texts] |
00ED | q(41D80005): ADD R1, SB, VAR5 |
00EE | r(42E80034): ADD R2, SP, 34H |
00EF | r(43000020): MOV R3, R0, 20H |
00F0 | s .FIXUP P |
00F0 | s(F721D007): BL MOD2 [Texts] PROC29 |
00F1 | t(80E00004): LDR R0, SP, 4H |
00F2 | t(81E00008): LDR R1, SP, 8H |
| ELSEu Textsv.WriteString(W,w " --")x |
00F3 | u(F7FFFF23): BL -221 [0017H] |
00F4 | v(E7000008): B 8 [00FDH] |
00F5 | w .FIXUP D |
00F5 | w(8D000009): LDR SB, MT, MOD0 [ORTool] |
00F6 | w(40D80000): ADD R0, SB, 0H [data] |
00F7 | w .FIXUP D |
00F7 | w(8D200002): LDR SB, MT, MOD2 [Texts] |
00F8 | w(41D80005): ADD R1, SB, VAR5 |
00F9 | x .FIXUP D |
00F9 | x(8D000002): LDR SB, MT, MOD0 [ORTool] |
00FA | x(42D800F4): ADD R2, SB, F4H [" --"] |
00FB | x(43000004): MOV R3, R0, 4H |
| ENDy ; |
00FC | y .FIXUP P |
00FC | y(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 |
00FD | z(80E00004): LDR R0, SP, 4H |
00FE | z(81E00008): LDR R1, SP, 8H |
00FF | a(42E8001C): ADD R2, SP, 1CH |
0100 | b .FIXUP P |
0100 | b(F7115004): BL MOD1 [Files] PROC21 |
0101 | c .FIXUP D |
0101 | c(8D000008): LDR SB, MT, MOD0 [ORTool] |
0102 | c(40D80000): ADD R0, SB, 0H [data] |
0103 | c .FIXUP D |
0103 | c(8D200002): LDR SB, MT, MOD2 [Texts] |
0104 | c(41D80005): ADD R1, SB, VAR5 |
0105 | d(82E0001C): LDR R2, SP, 1CH |
0106 | e(43000004): MOV R3, R0, 4H |
0107 | f .FIXUP P |
0107 | f(F721E007): BL MOD2 [Texts] PROC30 |
0108 | g(80E00004): LDR R0, SP, 4H |
0109 | g(81E00008): LDR R1, SP, 8H |
010A | h(42E80028): ADD R2, SP, 28H |
| ENDi ; |
010B | i(F7FFFEF4): BL -268 [0000H] |
010C | i(E7FFFFCE): B -50 [00DBH] |
| Texts.Write(W,j "}")k |
010D | j .FIXUP D |
010D | j(8D00000A): LDR SB, MT, MOD0 [ORTool] |
010E | j(40D80000): ADD R0, SB, 0H [data] |
010F | j .FIXUP D |
010F | j(8D200002): LDR SB, MT, MOD2 [Texts] |
0110 | j(41D80005): ADD R1, SB, VAR5 |
0111 | k(4200007D): MOV R2, R0, 7DH |
| ELSIFl formm = ORB.Proc THENn |
0112 | l .FIXUP P |
0112 | l(F721B00B): BL MOD2 [Texts] PROC27 |
0113 | m(E700003C): B 60 [0150H] |
0114 | n(80E0002C): LDR R0, SP, 2CH |
0115 | n(4009000A): SUB R0, R0, AH |
0116 | n(E9000039): BNE 57 [0150H] |
| ReadType(R)o;p Texts.Write(W,q "(")r;s Read(R,t class)u;v |
0117 | o(80E00004): LDR R0, SP, 4H |
0118 | o(81E00008): LDR R1, SP, 8H |
0119 | p(F7FFFEFD): BL -259 [0017H] |
011A | q .FIXUP D |
011A | q(8D00000B): LDR SB, MT, MOD0 [ORTool] |
011B | q(40D80000): ADD R0, SB, 0H [data] |
011C | q .FIXUP D |
011C | q(8D200002): LDR SB, MT, MOD2 [Texts] |
011D | q(41D80005): ADD R1, SB, VAR5 |
011E | r(42000028): MOV R2, R0, 28H |
011F | s .FIXUP P |
011F | s(F721B00D): BL MOD2 [Texts] PROC27 |
0120 | t(80E00004): LDR R0, SP, 4H |
0121 | t(81E00008): LDR R1, SP, 8H |
0122 | u(42E80028): ADD R2, SP, 28H |
0123 | v(F7FFFEDC): BL -292 [0000H] |
| WHILE class # 0 DOw |
0124 | w(80E00028): LDR R0, SP, 28H |
0125 | w(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 |
0126 | x .FIXUP D |
0126 | x(8D00000A): LDR SB, MT, MOD0 [ORTool] |
0127 | x(40D80000): ADD R0, SB, 0H [data] |
0128 | x .FIXUP D |
0128 | x(8D200002): LDR SB, MT, MOD2 [Texts] |
0129 | x(41D80005): ADD R1, SB, VAR5 |
012A | y .FIXUP D |
012A | y(8D000002): LDR SB, MT, MOD0 [ORTool] |
012B | y(42D800F8): ADD R2, SB, F8H [" class = "] |
012C | y(4300000A): MOV R3, R0, AH |
012D | z .FIXUP P |
012D | z(F721D00E): BL MOD2 [Texts] PROC29 |
012E | a .FIXUP D |
012E | a(8D000004): LDR SB, MT, MOD0 [ORTool] |
012F | a(40D80000): ADD R0, SB, 0H [data] |
0130 | a .FIXUP D |
0130 | a(8D200002): LDR SB, MT, MOD2 [Texts] |
0131 | a(41D80005): ADD R1, SB, VAR5 |
0132 | b(82E00028): LDR R2, SP, 28H |
0133 | c(43000001): MOV R3, R0, 1H |
0134 | d .FIXUP P |
0134 | d(F721E007): BL MOD2 [Texts] PROC30 |
0135 | e(80E00004): LDR R0, SP, 4H |
0136 | e(81E00008): LDR R1, SP, 8H |
0137 | f(42E80030): ADD R2, SP, 30H |
0138 | g(F7FFFEC7): BL -313 [0000H] |
| IF readonly = 1 THENh Texts.Write(W,i "#")j ENDk ; |
0139 | h(80E00030): LDR R0, SP, 30H |
013A | h(40090001): SUB R0, R0, 1H |
013B | h(E9000006): BNE 6 [0142H] |
013C | i .FIXUP D |
013C | i(8D00000C): LDR SB, MT, MOD0 [ORTool] |
013D | i(40D80000): ADD R0, SB, 0H [data] |
013E | i .FIXUP D |
013E | i(8D200002): LDR SB, MT, MOD2 [Texts] |
013F | i(41D80005): ADD R1, SB, VAR5 |
0140 | j(42000023): MOV R2, R0, 23H |
0141 | k .FIXUP P |
0141 | k(F721B00D): BL MOD2 [Texts] PROC27 |
| ReadType(R)l;m Read(R,n class)o |
0142 | l(80E00004): LDR R0, SP, 4H |
0143 | l(81E00008): LDR R1, SP, 8H |
0144 | m(F7FFFED2): BL -302 [0017H] |
0145 | n(80E00004): LDR R0, SP, 4H |
0146 | n(81E00008): LDR R1, SP, 8H |
0147 | o(42E80028): ADD R2, SP, 28H |
| ENDp ; |
0148 | p(F7FFFEB7): BL -329 [0000H] |
0149 | p(E7FFFFDA): B -38 [0124H] |
| Texts.Write(W,q ")")r |
014A | q .FIXUP D |
014A | q(8D00000C): LDR SB, MT, MOD0 [ORTool] |
014B | q(40D80000): ADD R0, SB, 0H [data] |
014C | q .FIXUP D |
014C | q(8D200002): LDR SB, MT, MOD2 [Texts] |
014D | q(41D80005): ADD R1, SB, VAR5 |
014E | r(42000029): MOV R2, R0, 29H |
| ENDs ; |
014F | s .FIXUP P |
014F | s(F721B00E): BL MOD2 [Texts] PROC27 |
| Files.ReadString(R,t modname)u;v |
0150 | t(80E00004): LDR R0, SP, 4H |
0151 | t(81E00008): LDR R1, SP, 8H |
0152 | u(42E80054): ADD R2, SP, 54H |
0153 | u(43000020): MOV R3, R0, 20H |
0154 | v .FIXUP P |
0154 | v(F7114005): BL MOD1 [Files] PROC20 |
| IF modname[0] # 0X THENw |
0155 | w(90E00054): LDR R0, SP, 54H |
0156 | w(E1000029): BEQ 41 [0180H] |
| Files.ReadInt(R,x key)y;z Files.ReadString(R,a name)b;c |
0157 | x(80E00004): LDR R0, SP, 4H |
0158 | x(81E00008): LDR R1, SP, 8H |
0159 | y(42E8000C): ADD R2, SP, CH |
015A | z .FIXUP P |
015A | z(F7111006): BL MOD1 [Files] PROC17 |
015B | a(80E00004): LDR R0, SP, 4H |
015C | a(81E00008): LDR R1, SP, 8H |
015D | b(42E80034): ADD R2, SP, 34H |
015E | b(43000020): MOV R3, R0, 20H |
015F | c .FIXUP P |
015F | c(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 |
0160 | d .FIXUP D |
0160 | d(8D000014): LDR SB, MT, MOD0 [ORTool] |
0161 | d(40D80000): ADD R0, SB, 0H [data] |
0162 | d .FIXUP D |
0162 | d(8D200002): LDR SB, MT, MOD2 [Texts] |
0163 | d(41D80005): ADD R1, SB, VAR5 |
0164 | e(42000020): MOV R2, R0, 20H |
0165 | f .FIXUP P |
0165 | f(F721B006): BL MOD2 [Texts] PROC27 |
0166 | g .FIXUP D |
0166 | g(8D000004): LDR SB, MT, MOD0 [ORTool] |
0167 | g(40D80000): ADD R0, SB, 0H [data] |
0168 | g .FIXUP D |
0168 | g(8D200002): LDR SB, MT, MOD2 [Texts] |
0169 | g(41D80005): ADD R1, SB, VAR5 |
016A | h(42E80054): ADD R2, SP, 54H |
016B | h(43000020): MOV R3, R0, 20H |
016C | i .FIXUP P |
016C | i(F721D007): BL MOD2 [Texts] PROC29 |
016D | j .FIXUP D |
016D | j(8D000005): LDR SB, MT, MOD0 [ORTool] |
016E | j(40D80000): ADD R0, SB, 0H [data] |
016F | j .FIXUP D |
016F | j(8D200002): LDR SB, MT, MOD2 [Texts] |
0170 | j(41D80005): ADD R1, SB, VAR5 |
0171 | k(4200002E): MOV R2, R0, 2EH |
0172 | l .FIXUP P |
0172 | l(F721B006): BL MOD2 [Texts] PROC27 |
0173 | m .FIXUP D |
0173 | m(8D000004): LDR SB, MT, MOD0 [ORTool] |
0174 | m(40D80000): ADD R0, SB, 0H [data] |
0175 | m .FIXUP D |
0175 | m(8D200002): LDR SB, MT, MOD2 [Texts] |
0176 | m(41D80005): ADD R1, SB, VAR5 |
0177 | n(42E80034): ADD R2, SP, 34H |
0178 | n(43000020): MOV R3, R0, 20H |
0179 | o .FIXUP P |
0179 | o(F721D007): BL MOD2 [Texts] PROC29 |
| Texts.WriteHex(W,p key)q |
017A | p .FIXUP D |
017A | p(8D000005): LDR SB, MT, MOD0 [ORTool] |
017B | p(40D80000): ADD R0, SB, 0H [data] |
017C | p .FIXUP D |
017C | p(8D200002): LDR SB, MT, MOD2 [Texts] |
017D | p(41D80005): ADD R1, SB, VAR5 |
017E | q(82E0000C): LDR R2, SP, CH |
| ENDr |
017F | r .FIXUP P |
017F | r(F721F006): BL MOD2 [Texts] PROC31 |
| END ; |
| Form := form;s Texts.Write(W,t "]")u |
0180 | s(80E0002C): LDR R0, SP, 2CH |
0181 | s .FIXUP D |
0181 | s(8D000005): LDR SB, MT, MOD0 [ORTool] |
0182 | s(A0D00028): STR R0, SB, 28H [data] |
0183 | t(40D80000): ADD R0, SB, 0H |
0184 | t .FIXUP D |
0184 | t(8D200003): LDR SB, MT, MOD2 [Texts] |
0185 | t(41D80005): ADD R1, SB, VAR5 |
0186 | u(4200005D): MOV R2, R0, 5DH |
| ENDv ReadType; |
0187 | v .FIXUP P |
0187 | v(F721B008): BL MOD2 [Texts] PROC27 |
0188 | v(8FE00000): LDR LNK, SP, 0H |
0189 | v(4EE80074): ADD SP, SP, 74H |
018A | v(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 |
018B | w .PROC 1 |
018B | w .COMMAND DecSym |
018B | w(4EE900C0): SUB SP, SP, C0H |
018C | w(AFE00000): STR LNK, SP, 0H |
018D | x(40E8004C): ADD R0, SP, 4CH |
018E | x .FIXUP D |
018E | x(8D20000A): LDR SB, MT, MOD2 [Texts] |
018F | x(41D80003): ADD R1, SB, VAR3 |
0190 | y .FIXUP D |
0190 | y(8D400002): LDR SB, MT, MOD4 [Oberon] |
0191 | y(42D8000E): ADD R2, SB, VAR14 |
0192 | y(82200008): LDR R2, R2, 8H |
0193 | z .FIXUP D |
0193 | z(8D400003): LDR SB, MT, MOD4 [Oberon] |
0194 | z(43D8000E): ADD R3, SB, VAR14 |
0195 | z(8330000C): LDR R3, R3, CH |
0196 | a .FIXUP P |
0196 | a(F721500F): BL MOD2 [Texts] PROC21 |
0197 | b(40E8004C): ADD R0, SP, 4CH |
0198 | b .FIXUP D |
0198 | b(8D200005): LDR SB, MT, MOD2 [Texts] |
0199 | b(41D80003): ADD R1, SB, VAR3 |
019A | c .FIXUP P |
019A | c(F7216004): BL MOD2 [Texts] PROC22 |
| IF S.class = Texts.Name THENd |
019B | d(80E00088): LDR R0, SP, 88H |
019C | d(40090001): SUB R0, R0, 1H |
019D | d(E90000E5): BNE 229 [0283H] |
| Texts.WriteString(W,e "OR-decode ")f;g Texts.WriteString(W,h S.s)i;j |
019E | e .FIXUP D |
019E | e(8D000006): LDR SB, MT, MOD0 [ORTool] |
019F | e(40D80000): ADD R0, SB, 0H [data] |
01A0 | e .FIXUP D |
01A0 | e(8D200002): LDR SB, MT, MOD2 [Texts] |
01A1 | e(41D80005): ADD R1, SB, VAR5 |
01A2 | f .FIXUP D |
01A2 | f(8D000002): LDR SB, MT, MOD0 [ORTool] |
01A3 | f(42D80104): ADD R2, SB, 104H ["OR-decode "] |
01A4 | f(4300000B): MOV R3, R0, BH |
01A5 | g .FIXUP P |
01A5 | g(F721D00B): BL MOD2 [Texts] PROC29 |
01A6 | h .FIXUP D |
01A6 | h(8D000004): LDR SB, MT, MOD0 [ORTool] |
01A7 | h(40D80000): ADD R0, SB, 0H [data] |
01A8 | h .FIXUP D |
01A8 | h(8D200002): LDR SB, MT, MOD2 [Texts] |
01A9 | h(41D80005): ADD R1, SB, VAR5 |
01AA | i(42E800A0): ADD R2, SP, A0H |
01AB | i(43000020): MOV R3, R0, 20H |
01AC | j .FIXUP P |
01AC | j(F721D007): BL MOD2 [Texts] PROC29 |
| Texts.WriteLn(W)k;l Texts.Append(Oberon.Log,m W.buf)n;o |
01AD | k .FIXUP D |
01AD | k(8D000005): LDR SB, MT, MOD0 [ORTool] |
01AE | k(40D80000): ADD R0, SB, 0H [data] |
01AF | k .FIXUP D |
01AF | k(8D200002): LDR SB, MT, MOD2 [Texts] |
01B0 | k(41D80005): ADD R1, SB, VAR5 |
01B1 | l .FIXUP P |
01B1 | l(F721C005): BL MOD2 [Texts] PROC28 |
01B2 | m .FIXUP D |
01B2 | m(8D400003): LDR SB, MT, MOD4 [Oberon] |
01B3 | m(80D0000D): LDR R0, SB, VAR13 |
01B4 | n .FIXUP D |
01B4 | n(8D000002): LDR SB, MT, MOD0 [ORTool] |
01B5 | n(81D00000): LDR R1, SB, 0H [data] |
01B6 | o .FIXUP P |
01B6 | o(F720E005): BL MOD2 [Texts] PROC14 |
| F := Files.Old(S.s)p;q |
01B7 | p(40E800A0): ADD R0, SP, A0H |
01B8 | p(41000020): MOV R1, R0, 20H |
01B9 | q .FIXUP P |
01B9 | q(F7102003): BL MOD1 [Files] PROC2 |
01BA | q(A0E00030): STR R0, SP, 30H |
| IF F # NIL THENr |
01BB | r(80E00030): LDR R0, SP, 30H |
01BC | r(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 |
01BD | s(40E80034): ADD R0, SP, 34H |
01BE | s .FIXUP D |
01BE | s(8D10000A): LDR SB, MT, MOD1 [Files] |
01BF | s(41D80001): ADD R1, SB, VAR1 |
01C0 | t(82E00030): LDR R2, SP, 30H |
01C1 | u(43000000): MOV R3, R0, 0H |
01C2 | v .FIXUP P |
01C2 | v(F710B009): BL MOD1 [Files] PROC11 |
01C3 | w(40E80034): ADD R0, SP, 34H |
01C4 | w .FIXUP D |
01C4 | w(8D100006): LDR SB, MT, MOD1 [Files] |
01C5 | w(41D80001): ADD R1, SB, VAR1 |
01C6 | x(42E8000C): ADD R2, SP, CH |
01C7 | y .FIXUP P |
01C7 | y(F7111005): BL MOD1 [Files] PROC17 |
01C8 | z(40E80034): ADD R0, SP, 34H |
01C9 | z .FIXUP D |
01C9 | z(8D100005): LDR SB, MT, MOD1 [Files] |
01CA | z(41D80001): ADD R1, SB, VAR1 |
01CB | a(42E8000C): ADD R2, SP, CH |
01CC | b .FIXUP P |
01CC | b(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 |
01CD | c(40E80034): ADD R0, SP, 34H |
01CE | c .FIXUP D |
01CE | c(8D100005): LDR SB, MT, MOD1 [Files] |
01CF | c(41D80001): ADD R1, SB, VAR1 |
01D0 | d(42E80010): ADD R2, SP, 10H |
01D1 | d(43000020): MOV R3, R0, 20H |
01D2 | e .FIXUP P |
01D2 | e(F7114006): BL MOD1 [Files] PROC20 |
01D3 | f .FIXUP D |
01D3 | f(8D000005): LDR SB, MT, MOD0 [ORTool] |
01D4 | f(40D80000): ADD R0, SB, 0H [data] |
01D5 | f .FIXUP D |
01D5 | f(8D200002): LDR SB, MT, MOD2 [Texts] |
01D6 | f(41D80005): ADD R1, SB, VAR5 |
01D7 | g(42E80010): ADD R2, SP, 10H |
01D8 | g(43000020): MOV R3, R0, 20H |
01D9 | h .FIXUP P |
01D9 | h(F721D007): BL MOD2 [Texts] PROC29 |
01DA | i .FIXUP D |
01DA | i(8D000005): LDR SB, MT, MOD0 [ORTool] |
01DB | i(40D80000): ADD R0, SB, 0H [data] |
01DC | i .FIXUP D |
01DC | i(8D200002): LDR SB, MT, MOD2 [Texts] |
01DD | i(41D80005): ADD R1, SB, VAR5 |
01DE | j(82E0000C): LDR R2, SP, CH |
01DF | k .FIXUP P |
01DF | k(F721F006): BL MOD2 [Texts] PROC31 |
| Read(R,l class)m;n Texts.WriteInt(W,o class,p 3)q;r (*sym file version*) |
01E0 | l(40E80034): ADD R0, SP, 34H |
01E1 | l .FIXUP D |
01E1 | l(8D100005): LDR SB, MT, MOD1 [Files] |
01E2 | l(41D80001): ADD R1, SB, VAR1 |
01E3 | m(42E80004): ADD R2, SP, 4H |
01E4 | n(F7FFFE1B): BL -485 [0000H] |
01E5 | o .FIXUP D |
01E5 | o(8D000004): LDR SB, MT, MOD0 [ORTool] |
01E6 | o(40D80000): ADD R0, SB, 0H [data] |
01E7 | o .FIXUP D |
01E7 | o(8D200002): LDR SB, MT, MOD2 [Texts] |
01E8 | o(41D80005): ADD R1, SB, VAR5 |
01E9 | p(82E00004): LDR R2, SP, 4H |
01EA | q(43000003): MOV R3, R0, 3H |
01EB | r .FIXUP P |
01EB | r(F721E00C): BL MOD2 [Texts] PROC30 |
| IF class = ORB.versionkey THENs |
01EC | s(80E00004): LDR R0, SP, 4H |
01ED | s(40090001): SUB R0, R0, 1H |
01EE | s(E9000079): BNE 121 [0268H] |
| Texts.WriteLn(W)t;u Read(R,v class)w;x |
01EF | t .FIXUP D |
01EF | t(8D000008): LDR SB, MT, MOD0 [ORTool] |
01F0 | t(40D80000): ADD R0, SB, 0H [data] |
01F1 | t .FIXUP D |
01F1 | t(8D200002): LDR SB, MT, MOD2 [Texts] |
01F2 | t(41D80005): ADD R1, SB, VAR5 |
01F3 | u .FIXUP P |
01F3 | u(F721C008): BL MOD2 [Texts] PROC28 |
01F4 | v(40E80034): ADD R0, SP, 34H |
01F5 | v .FIXUP D |
01F5 | v(8D100004): LDR SB, MT, MOD1 [Files] |
01F6 | v(41D80001): ADD R1, SB, VAR1 |
01F7 | w(42E80004): ADD R2, SP, 4H |
01F8 | x(F7FFFE07): BL -505 [0000H] |
| WHILE class # 0 DOy |
01F9 | y(80E00004): LDR R0, SP, 4H |
01FA | y(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 |
01FB | z .FIXUP D |
01FB | z(8D000006): LDR SB, MT, MOD0 [ORTool] |
01FC | z(40D80000): ADD R0, SB, 0H [data] |
01FD | z .FIXUP D |
01FD | z(8D200002): LDR SB, MT, MOD2 [Texts] |
01FE | z(41D80005): ADD R1, SB, VAR5 |
01FF | a(82E00004): LDR R2, SP, 4H |
0200 | b(43000004): MOV R3, R0, 4H |
0201 | c .FIXUP P |
0201 | c(F721E00E): BL MOD2 [Texts] PROC30 |
0202 | d(40E80034): ADD R0, SP, 34H |
0203 | d .FIXUP D |
0203 | d(8D100006): LDR SB, MT, MOD1 [Files] |
0204 | d(41D80001): ADD R1, SB, VAR1 |
0205 | e(42E80010): ADD R2, SP, 10H |
0206 | e(43000020): MOV R3, R0, 20H |
0207 | f .FIXUP P |
0207 | f(F7114006): BL MOD1 [Files] PROC20 |
0208 | g .FIXUP D |
0208 | g(8D000005): LDR SB, MT, MOD0 [ORTool] |
0209 | g(40D80000): ADD R0, SB, 0H [data] |
020A | g .FIXUP D |
020A | g(8D200002): LDR SB, MT, MOD2 [Texts] |
020B | g(41D80005): ADD R1, SB, VAR5 |
020C | h(42000020): MOV R2, R0, 20H |
020D | i .FIXUP P |
020D | i(F721B006): BL MOD2 [Texts] PROC27 |
020E | j .FIXUP D |
020E | j(8D000004): LDR SB, MT, MOD0 [ORTool] |
020F | j(40D80000): ADD R0, SB, 0H [data] |
0210 | j .FIXUP D |
0210 | j(8D200002): LDR SB, MT, MOD2 [Texts] |
0211 | j(41D80005): ADD R1, SB, VAR5 |
0212 | k(42E80010): ADD R2, SP, 10H |
0213 | k(43000020): MOV R3, R0, 20H |
0214 | l .FIXUP P |
0214 | l(F721D007): BL MOD2 [Texts] PROC29 |
| ReadType(R)m;n |
0215 | m(40E80034): ADD R0, SP, 34H |
0216 | m .FIXUP D |
0216 | m(8D100006): LDR SB, MT, MOD1 [Files] |
0217 | m(41D80001): ADD R1, SB, VAR1 |
0218 | n(F7FFFDFE): BL -514 [0017H] |
| IF class = ORB.Typ THENo |
0219 | o(80E00004): LDR R0, SP, 4H |
021A | o(40090005): SUB R0, R0, 5H |
021B | o(E9000029): BNE 41 [0245H] |
| Texts.Write(W,p "(")q;r Read(R,s class)t;u |
021C | p .FIXUP D |
021C | p(8D000006): LDR SB, MT, MOD0 [ORTool] |
021D | p(40D80000): ADD R0, SB, 0H [data] |
021E | p .FIXUP D |
021E | p(8D200002): LDR SB, MT, MOD2 [Texts] |
021F | p(41D80005): ADD R1, SB, VAR5 |
0220 | q(42000028): MOV R2, R0, 28H |
0221 | r .FIXUP P |
0221 | r(F721B00D): BL MOD2 [Texts] PROC27 |
0222 | s(40E80034): ADD R0, SP, 34H |
0223 | s .FIXUP D |
0223 | s(8D100005): LDR SB, MT, MOD1 [Files] |
0224 | s(41D80001): ADD R1, SB, VAR1 |
0225 | t(42E80004): ADD R2, SP, 4H |
0226 | u(F7FFFDD9): BL -551 [0000H] |
| WHILE class # 0 DOv (*pointer base fixup*) |
0227 | v(80E00004): LDR R0, SP, 4H |
0228 | v(E1000015): BEQ 21 [023EH] |
| Texts.WriteString(W,w " ->")x;y Texts.WriteInt(W,z class,a 4)b;c Read(R,d class)e |
0229 | w .FIXUP D |
0229 | w(8D000006): LDR SB, MT, MOD0 [ORTool] |
022A | w(40D80000): ADD R0, SB, 0H [data] |
022B | w .FIXUP D |
022B | w(8D200002): LDR SB, MT, MOD2 [Texts] |
022C | w(41D80005): ADD R1, SB, VAR5 |
022D | x .FIXUP D |
022D | x(8D000002): LDR SB, MT, MOD0 [ORTool] |
022E | x(42D80110): ADD R2, SB, 110H [" ->"] |
022F | x(43000004): MOV R3, R0, 4H |
0230 | y .FIXUP P |
0230 | y(F721D00F): BL MOD2 [Texts] PROC29 |
0231 | z .FIXUP D |
0231 | z(8D000004): LDR SB, MT, MOD0 [ORTool] |
0232 | z(40D80000): ADD R0, SB, 0H [data] |
0233 | z .FIXUP D |
0233 | z(8D200002): LDR SB, MT, MOD2 [Texts] |
0234 | z(41D80005): ADD R1, SB, VAR5 |
0235 | a(82E00004): LDR R2, SP, 4H |
0236 | b(43000004): MOV R3, R0, 4H |
0237 | c .FIXUP P |
0237 | c(F721E007): BL MOD2 [Texts] PROC30 |
0238 | d(40E80034): ADD R0, SP, 34H |
0239 | d .FIXUP D |
0239 | d(8D100006): LDR SB, MT, MOD1 [Files] |
023A | d(41D80001): ADD R1, SB, VAR1 |
023B | e(42E80004): ADD R2, SP, 4H |
| ENDf ; |
023C | f(F7FFFDC3): BL -573 [0000H] |
023D | f(E7FFFFE9): B -23 [0227H] |
| Texts.Write(W,g ")")h |
023E | g .FIXUP D |
023E | g(8D000005): LDR SB, MT, MOD0 [ORTool] |
023F | g(40D80000): ADD R0, SB, 0H [data] |
0240 | g .FIXUP D |
0240 | g(8D200002): LDR SB, MT, MOD2 [Texts] |
0241 | g(41D80005): ADD R1, SB, VAR5 |
0242 | h(42000029): MOV R2, R0, 29H |
| ELSIFi (jclass = ORB.Const)k OR (lclass = ORB.Var)m THENn |
0243 | i .FIXUP P |
0243 | i(F721B00C): BL MOD2 [Texts] PROC27 |
0244 | j(E7000012): B 18 [0257H] |
0245 | k(80E00004): LDR R0, SP, 4H |
0246 | k(40090001): SUB R0, R0, 1H |
0247 | l(E1000003): BEQ 3 [024BH] |
0248 | m(80E00004): LDR R0, SP, 4H |
0249 | m(40090002): SUB R0, R0, 2H |
024A | n(E900000C): BNE 12 [0257H] |
| Files.ReadNum(R,o k)p;q Texts.WriteInt(W,r k,s 5)t;u (*Reals, Strings!*) |
024B | o(40E80034): ADD R0, SP, 34H |
024C | o .FIXUP D |
024C | o(8D10000C): LDR SB, MT, MOD1 [Files] |
024D | o(41D80001): ADD R1, SB, VAR1 |
024E | p(42E8000C): ADD R2, SP, CH |
024F | q .FIXUP P |
024F | q(F711500C): BL MOD1 [Files] PROC21 |
0250 | r .FIXUP D |
0250 | r(8D000004): LDR SB, MT, MOD0 [ORTool] |
0251 | r(40D80000): ADD R0, SB, 0H [data] |
0252 | r .FIXUP D |
0252 | r(8D200002): LDR SB, MT, MOD2 [Texts] |
0253 | r(41D80005): ADD R1, SB, VAR5 |
0254 | s(82E0000C): LDR R2, SP, CH |
0255 | t(43000005): MOV R3, R0, 5H |
0256 | u .FIXUP P |
0256 | u(F721E007): BL MOD2 [Texts] PROC30 |
| END ; |
| Texts.WriteLn(W)v;w Texts.Append(Oberon.Log,x W.buf)y;z |
0257 | v .FIXUP D |
0257 | v(8D000005): LDR SB, MT, MOD0 [ORTool] |
0258 | v(40D80000): ADD R0, SB, 0H [data] |
0259 | v .FIXUP D |
0259 | v(8D200002): LDR SB, MT, MOD2 [Texts] |
025A | v(41D80005): ADD R1, SB, VAR5 |
025B | w .FIXUP P |
025B | w(F721C005): BL MOD2 [Texts] PROC28 |
025C | x .FIXUP D |
025C | x(8D400003): LDR SB, MT, MOD4 [Oberon] |
025D | x(80D0000D): LDR R0, SB, VAR13 |
025E | y .FIXUP D |
025E | y(8D000002): LDR SB, MT, MOD0 [ORTool] |
025F | y(81D00000): LDR R1, SB, 0H [data] |
0260 | z .FIXUP P |
0260 | z(F720E005): BL MOD2 [Texts] PROC14 |
| Read(R,a class)b |
0261 | a(40E80034): ADD R0, SP, 34H |
0262 | a .FIXUP D |
0262 | a(8D100004): LDR SB, MT, MOD1 [Files] |
0263 | a(41D80001): ADD R1, SB, VAR1 |
0264 | b(42E80004): ADD R2, SP, 4H |
| ENDc |
0265 | c(F7FFFD9A): BL -614 [0000H] |
0266 | c(E7FFFF92): B -110 [01F9H] |
| ELSE Textsd.WriteString(W,e " bad symfile version")f |
0267 | d(E7000008): B 8 [0270H] |
0268 | e .FIXUP D |
0268 | e(8D000006): LDR SB, MT, MOD0 [ORTool] |
0269 | e(40D80000): ADD R0, SB, 0H [data] |
026A | e .FIXUP D |
026A | e(8D200002): LDR SB, MT, MOD2 [Texts] |
026B | e(41D80005): ADD R1, SB, VAR5 |
026C | f .FIXUP D |
026C | f(8D000002): LDR SB, MT, MOD0 [ORTool] |
026D | f(42D80114): ADD R2, SB, 114H [" bad symfile version"] |
026E | f(43000015): MOV R3, R0, 15H |
| ENDg |
026F | g .FIXUP P |
026F | g(F721D00F): BL MOD2 [Texts] PROC29 |
| ELSE Textsh.WriteString(W,i " not found")j |
0270 | h(E7000008): B 8 [0279H] |
0271 | i .FIXUP D |
0271 | i(8D000005): LDR SB, MT, MOD0 [ORTool] |
0272 | i(40D80000): ADD R0, SB, 0H [data] |
0273 | i .FIXUP D |
0273 | i(8D200002): LDR SB, MT, MOD2 [Texts] |
0274 | i(41D80005): ADD R1, SB, VAR5 |
0275 | j .FIXUP D |
0275 | j(8D000002): LDR SB, MT, MOD0 [ORTool] |
0276 | j(42D8012C): ADD R2, SB, 12CH [" not found"] |
0277 | j(4300000B): MOV R3, R0, BH |
| ENDk ; |
0278 | k .FIXUP P |
0278 | k(F721D009): BL MOD2 [Texts] PROC29 |
| Texts.WriteLn(W)l;m Texts.Append(Oberon.Log,n W.buf)o |
0279 | l .FIXUP D |
0279 | l(8D000004): LDR SB, MT, MOD0 [ORTool] |
027A | l(40D80000): ADD R0, SB, 0H [data] |
027B | l .FIXUP D |
027B | l(8D200002): LDR SB, MT, MOD2 [Texts] |
027C | l(41D80005): ADD R1, SB, VAR5 |
027D | m .FIXUP P |
027D | m(F721C005): BL MOD2 [Texts] PROC28 |
027E | n .FIXUP D |
027E | n(8D400003): LDR SB, MT, MOD4 [Oberon] |
027F | n(80D0000D): LDR R0, SB, VAR13 |
0280 | o .FIXUP D |
0280 | o(8D000002): LDR SB, MT, MOD0 [ORTool] |
0281 | o(81D00000): LDR R1, SB, 0H [data] |
| ENDp |
0282 | p .FIXUP P |
0282 | p(F720E005): BL MOD2 [Texts] PROC14 |
| ENDq DecSym; |
0283 | q(8FE00000): LDR LNK, SP, 0H |
0284 | q(4EE800C0): ADD SP, SP, C0H |
0285 | q(C700000F): B LNK |
| |
| (* ---------------------------------------------------*) |
| |
| PROCEDURE WriteReg(r: LONGINT); |
| BEGINr Texts.Write(W,s " ")t;u |
0286 | r(4EE90008): SUB SP, SP, 8H |
0287 | r(AFE00000): STR LNK, SP, 0H |
0288 | r(A0E00004): STR R0, SP, 4H |
0289 | s .FIXUP D |
0289 | s(8D000009): LDR SB, MT, MOD0 [ORTool] |
028A | s(40D80000): ADD R0, SB, 0H [data] |
028B | s .FIXUP D |
028B | s(8D200002): LDR SB, MT, MOD2 [Texts] |
028C | s(41D80005): ADD R1, SB, VAR5 |
028D | t(42000020): MOV R2, R0, 20H |
028E | u .FIXUP P |
028E | u(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 |
028F | v(80E00004): LDR R0, SP, 4H |
0290 | v(4009000C): SUB R0, R0, CH |
0291 | v(ED000011): BGE 17 [02A3H] |
0292 | w .FIXUP D |
0292 | w(8D000007): LDR SB, MT, MOD0 [ORTool] |
0293 | w(40D80000): ADD R0, SB, 0H [data] |
0294 | w .FIXUP D |
0294 | w(8D200002): LDR SB, MT, MOD2 [Texts] |
0295 | w(41D80005): ADD R1, SB, VAR5 |
0296 | x .FIXUP D |
0296 | x(8D000002): LDR SB, MT, MOD0 [ORTool] |
0297 | x(42D80138): ADD R2, SB, 138H [" R"] |
0298 | x(43000003): MOV R3, R0, 3H |
0299 | y .FIXUP P |
0299 | y(F721D00B): BL MOD2 [Texts] PROC29 |
029A | z .FIXUP D |
029A | z(8D000004): LDR SB, MT, MOD0 [ORTool] |
029B | z(40D80000): ADD R0, SB, 0H [data] |
029C | z .FIXUP D |
029C | z(8D200002): LDR SB, MT, MOD2 [Texts] |
029D | z(41D80005): ADD R1, SB, VAR5 |
029E | a(82E00004): LDR R2, SP, 4H |
029F | a(4224000F): AND R2, R2, FH |
02A0 | b(43000001): MOV R3, R0, 1H |
| ELSIFc rd = 12 THENe Texts.WriteString(W,f "MT")g |
02A1 | c .FIXUP P |
02A1 | c(F721E008): BL MOD2 [Texts] PROC30 |
02A2 | d(E700002C): B 44 [02CFH] |
02A3 | e(80E00004): LDR R0, SP, 4H |
02A4 | e(4009000C): SUB R0, R0, CH |
02A5 | e(E9000009): BNE 9 [02AFH] |
02A6 | f .FIXUP D |
02A6 | f(8D00000A): LDR SB, MT, MOD0 [ORTool] |
02A7 | f(40D80000): ADD R0, SB, 0H [data] |
02A8 | f .FIXUP D |
02A8 | f(8D200002): LDR SB, MT, MOD2 [Texts] |
02A9 | f(41D80005): ADD R1, SB, VAR5 |
02AA | g .FIXUP D |
02AA | g(8D000002): LDR SB, MT, MOD0 [ORTool] |
02AB | g(42D8013C): ADD R2, SB, 13CH ["MT"] |
02AC | g(43000003): MOV R3, R0, 3H |
| ELSIFh ri = 13 THENj Texts.WriteString(W,k "SB")l |
02AD | h .FIXUP P |
02AD | h(F721D00C): BL MOD2 [Texts] PROC29 |
02AE | i(E7000020): B 32 [02CFH] |
02AF | j(80E00004): LDR R0, SP, 4H |
02B0 | j(4009000D): SUB R0, R0, DH |
02B1 | j(E9000009): BNE 9 [02BBH] |
02B2 | k .FIXUP D |
02B2 | k(8D000008): LDR SB, MT, MOD0 [ORTool] |
02B3 | k(40D80000): ADD R0, SB, 0H [data] |
02B4 | k .FIXUP D |
02B4 | k(8D200002): LDR SB, MT, MOD2 [Texts] |
02B5 | k(41D80005): ADD R1, SB, VAR5 |
02B6 | l .FIXUP D |
02B6 | l(8D000002): LDR SB, MT, MOD0 [ORTool] |
02B7 | l(42D80140): ADD R2, SB, 140H ["SB"] |
02B8 | l(43000003): MOV R3, R0, 3H |
| ELSIFm rn = 14 THENo Texts.WriteString(W,p "SP")q |
02B9 | m .FIXUP P |
02B9 | m(F721D00C): BL MOD2 [Texts] PROC29 |
02BA | n(E7000014): B 20 [02CFH] |
02BB | o(80E00004): LDR R0, SP, 4H |
02BC | o(4009000E): SUB R0, R0, EH |
02BD | o(E9000009): BNE 9 [02C7H] |
02BE | p .FIXUP D |
02BE | p(8D000008): LDR SB, MT, MOD0 [ORTool] |
02BF | p(40D80000): ADD R0, SB, 0H [data] |
02C0 | p .FIXUP D |
02C0 | p(8D200002): LDR SB, MT, MOD2 [Texts] |
02C1 | p(41D80005): ADD R1, SB, VAR5 |
02C2 | q .FIXUP D |
02C2 | q(8D000002): LDR SB, MT, MOD0 [ORTool] |
02C3 | q(42D80144): ADD R2, SB, 144H ["SP"] |
02C4 | q(43000003): MOV R3, R0, 3H |
| ELSEr Textss.WriteString(W,t "LNK")u |
02C5 | r .FIXUP P |
02C5 | r(F721D00C): BL MOD2 [Texts] PROC29 |
02C6 | s(E7000008): B 8 [02CFH] |
02C7 | t .FIXUP D |
02C7 | t(8D000005): LDR SB, MT, MOD0 [ORTool] |
02C8 | t(40D80000): ADD R0, SB, 0H [data] |
02C9 | t .FIXUP D |
02C9 | t(8D200002): LDR SB, MT, MOD2 [Texts] |
02CA | t(41D80005): ADD R1, SB, VAR5 |
02CB | u .FIXUP D |
02CB | u(8D000002): LDR SB, MT, MOD0 [ORTool] |
02CC | u(42D80148): ADD R2, SB, 148H ["LNK"] |
02CD | u(43000004): MOV R3, R0, 4H |
| ENDv |
02CE | v .FIXUP P |
02CE | v(F721D009): BL MOD2 [Texts] PROC29 |
| ENDw WriteReg; |
02CF | w(8FE00000): LDR LNK, SP, 0H |
02D0 | w(4EE80008): ADD SP, SP, 8H |
02D1 | w(C700000F): B LNK |
| |
| PROCEDURE opcode(w: LONGINT); |
| VAR k, op, u, a, b, c: LONGINT; |
| BEGINx |
02D2 | x(4EE90020): SUB SP, SP, 20H |
02D3 | x(AFE00000): STR LNK, SP, 0H |
02D4 | x(A0E00004): STR R0, SP, 4H |
| k := w DIV 40000000H MODy 4;z |
02D5 | y(80E00004): LDR R0, SP, 4H |
02D6 | y(4002001E): ASR R0, R0, 1EH |
02D7 | z(40040003): AND R0, R0, 3H |
02D8 | z(A0E00008): STR R0, SP, 8H |
| a := w DIV 1000000H MODa 10H;b |
02D9 | a(80E00004): LDR R0, SP, 4H |
02DA | a(40020018): ASR R0, R0, 18H |
02DB | b(4004000F): AND R0, R0, FH |
02DC | b(A0E00014): STR R0, SP, 14H |
| b := w DIV 100000H MODc 10H;d |
02DD | c(80E00004): LDR R0, SP, 4H |
02DE | c(40020014): ASR R0, R0, 14H |
02DF | d(4004000F): AND R0, R0, FH |
02E0 | d(A0E00018): STR R0, SP, 18H |
| op := w DIV 10000H MODe 10H;f |
02E1 | e(80E00004): LDR R0, SP, 4H |
02E2 | e(40020010): ASR R0, R0, 10H |
02E3 | f(4004000F): AND R0, R0, FH |
02E4 | f(A0E0000C): STR R0, SP, CH |
| u := w DIV 20000000H MODg 2;h |
02E5 | g(80E00004): LDR R0, SP, 4H |
02E6 | g(4002001D): ASR R0, R0, 1DH |
02E7 | h(40040001): AND R0, R0, 1H |
02E8 | h(A0E00010): STR R0, SP, 10H |
| IF k = 0 THENi |
02E9 | i(80E00008): LDR R0, SP, 8H |
02EA | i(E900001E): BNE 30 [0309H] |
| Texts.WriteString(W,j mnemo0[op]k)l;m |
02EB | j .FIXUP D |
02EB | j(8D000020): LDR SB, MT, MOD0 [ORTool] |
02EC | j(40D80000): ADD R0, SB, 0H [data] |
02ED | j .FIXUP D |
02ED | j(8D200002): LDR SB, MT, MOD2 [Texts] |
02EE | j(41D80005): ADD R1, SB, VAR5 |
02EF | k(82E0000C): LDR R2, SP, CH |
02F0 | k(43290010): SUB R3, R2, 10H |
02F1 | k(DA135A1C): BLCC MT [trap=1, pos=4954] |
02F2 | k(42210002): LSL R2, R2, 2H |
02F3 | k .FIXUP D |
02F3 | k(8D000006): LDR SB, MT, MOD0 [ORTool] |
02F4 | k(02D80002): ADD R2, SB, R2 [global array] |
02F5 | l(4228002C): ADD R2, R2, 2CH |
02F6 | l(43000004): MOV R3, R0, 4H |
02F7 | m .FIXUP P |
02F7 | m(F721D029): BL MOD2 [Texts] PROC29 |
| IF u = 1 THENn Texts.Write(W,o "'")p ENDq ; |
02F8 | n(80E00010): LDR R0, SP, 10H |
02F9 | n(40090001): SUB R0, R0, 1H |
02FA | n(E9000006): BNE 6 [0301H] |
02FB | o .FIXUP D |
02FB | o(8D000008): LDR SB, MT, MOD0 [ORTool] |
02FC | o(40D80000): ADD R0, SB, 0H [data] |
02FD | o .FIXUP D |
02FD | o(8D200002): LDR SB, MT, MOD2 [Texts] |
02FE | o(41D80005): ADD R1, SB, VAR5 |
02FF | p(42000027): MOV R2, R0, 27H |
0300 | q .FIXUP P |
0300 | q(F721B009): BL MOD2 [Texts] PROC27 |
| WriteReg(a)r;s WriteReg(b)t;u WriteReg(w MOD 10H)v |
0301 | r(80E00014): LDR R0, SP, 14H |
0302 | s(F7FFFF83): BL -125 [0286H] |
0303 | t(80E00018): LDR R0, SP, 18H |
0304 | u(F7FFFF81): BL -127 [0286H] |
0305 | v(80E00004): LDR R0, SP, 4H |
0306 | v(4004000F): AND R0, R0, FH |
| ELSIFw kx = 1 THENy |
0307 | w(F7FFFF7E): BL -130 [0286H] |
0308 | x(E7000097): B 151 [03A0H] |
0309 | y(80E00008): LDR R0, SP, 8H |
030A | y(40090001): SUB R0, R0, 1H |
030B | y(E900002C): BNE 44 [0338H] |
| Texts.WriteString(W,z mnemo0[op]a)b;c |
030C | z .FIXUP D |
030C | z(8D00000F): LDR SB, MT, MOD0 [ORTool] |
030D | z(40D80000): ADD R0, SB, 0H [data] |
030E | z .FIXUP D |
030E | z(8D200002): LDR SB, MT, MOD2 [Texts] |
030F | z(41D80005): ADD R1, SB, VAR5 |
0310 | a(82E0000C): LDR R2, SP, CH |
0311 | a(43290010): SUB R3, R2, 10H |
0312 | a(DA14011C): BLCC MT [trap=1, pos=5121] |
0313 | a(42210002): LSL R2, R2, 2H |
0314 | a .FIXUP D |
0314 | a(8D000006): LDR SB, MT, MOD0 [ORTool] |
0315 | a(02D80002): ADD R2, SB, R2 [global array] |
0316 | b(4228002C): ADD R2, R2, 2CH |
0317 | b(43000004): MOV R3, R0, 4H |
0318 | c .FIXUP P |
0318 | c(F721D018): BL MOD2 [Texts] PROC29 |
| IF u = 1 THENd Texts.Write(W,e "'")f ENDg ; |
0319 | d(80E00010): LDR R0, SP, 10H |
031A | d(40090001): SUB R0, R0, 1H |
031B | d(E9000006): BNE 6 [0322H] |
031C | e .FIXUP D |
031C | e(8D000008): LDR SB, MT, MOD0 [ORTool] |
031D | e(40D80000): ADD R0, SB, 0H [data] |
031E | e .FIXUP D |
031E | e(8D200002): LDR SB, MT, MOD2 [Texts] |
031F | e(41D80005): ADD R1, SB, VAR5 |
0320 | f(42000027): MOV R2, R0, 27H |
0321 | g .FIXUP P |
0321 | g(F721B009): BL MOD2 [Texts] PROC27 |
| WriteReg(a)h;i WriteReg(b)j;k w := w MOD 10000H;l |
0322 | h(80E00014): LDR R0, SP, 14H |
0323 | i(F7FFFF62): BL -158 [0286H] |
0324 | j(80E00018): LDR R0, SP, 18H |
0325 | k(F7FFFF60): BL -160 [0286H] |
0326 | l(80E00004): LDR R0, SP, 4H |
0327 | l(4004FFFF): AND R0, R0, FFFFFFFFH |
0328 | l(A0E00004): STR R0, SP, 4H |
| IF w >= 8000H THENm w := w - 10000H ENDn ; |
0329 | m(80E00004): LDR R0, SP, 4H |
032A | m(40098000): SUB R0, R0, FFFF8000H |
032B | m(E5000004): BLT 4 [0330H] |
032C | n(80E00004): LDR R0, SP, 4H |
032D | n(61000001): MOV' R1, R0, 1H |
032E | n(00090001): SUB R0, R0, R1 |
032F | n(A0E00004): STR R0, SP, 4H |
| Texts.WriteInt(W,o w,p 7)q |
0330 | o .FIXUP D |
0330 | o(8D000012): LDR SB, MT, MOD0 [ORTool] |
0331 | o(40D80000): ADD R0, SB, 0H [data] |
0332 | o .FIXUP D |
0332 | o(8D200002): LDR SB, MT, MOD2 [Texts] |
0333 | o(41D80005): ADD R1, SB, VAR5 |
0334 | p(82E00004): LDR R2, SP, 4H |
0335 | q(43000007): MOV R3, R0, 7H |
| ELSIFr ks = 2 THENt (*LDR/STR*) |
0336 | r .FIXUP P |
0336 | r(F721E015): BL MOD2 [Texts] PROC30 |
0337 | s(E7000068): B 104 [03A0H] |
0338 | t(80E00008): LDR R0, SP, 8H |
0339 | t(40090002): SUB R0, R0, 2H |
033A | t(E900002C): BNE 44 [0367H] |
| IF u = 1 THENu Texts.WriteString(W,v "STR ")w ELSEx Textsy.WriteString(W,z "LDR")a ENDb ; |
033B | u(80E00010): LDR R0, SP, 10H |
033C | u(40090001): SUB R0, R0, 1H |
033D | u(E9000009): BNE 9 [0347H] |
033E | v .FIXUP D |
033E | v(8D00000C): LDR SB, MT, MOD0 [ORTool] |
033F | v(40D80000): ADD R0, SB, 0H [data] |
0340 | v .FIXUP D |
0340 | v(8D200002): LDR SB, MT, MOD2 [Texts] |
0341 | v(41D80005): ADD R1, SB, VAR5 |
0342 | w .FIXUP D |
0342 | w(8D000002): LDR SB, MT, MOD0 [ORTool] |
0343 | w(42D8014C): ADD R2, SB, 14CH ["STR "] |
0344 | w(43000005): MOV R3, R0, 5H |
0345 | x .FIXUP P |
0345 | x(F721D00F): BL MOD2 [Texts] PROC29 |
0346 | y(E7000008): B 8 [034FH] |
0347 | z .FIXUP D |
0347 | z(8D000005): LDR SB, MT, MOD0 [ORTool] |
0348 | z(40D80000): ADD R0, SB, 0H [data] |
0349 | z .FIXUP D |
0349 | z(8D200002): LDR SB, MT, MOD2 [Texts] |
034A | z(41D80005): ADD R1, SB, VAR5 |
034B | a .FIXUP D |
034B | a(8D000002): LDR SB, MT, MOD0 [ORTool] |
034C | a(42D80154): ADD R2, SB, 154H ["LDR"] |
034D | a(43000004): MOV R3, R0, 4H |
034E | b .FIXUP P |
034E | b(F721D009): BL MOD2 [Texts] PROC29 |
| WriteReg(a)c;d WriteReg(b)e;f w := w MOD 100000H;g |
034F | c(80E00014): LDR R0, SP, 14H |
0350 | d(F7FFFF35): BL -203 [0286H] |
0351 | e(80E00018): LDR R0, SP, 18H |
0352 | f(F7FFFF33): BL -205 [0286H] |
0353 | g(80E00004): LDR R0, SP, 4H |
0354 | g(4001000C): LSL R0, R0, CH |
0355 | g(4003000C): ROR R0, R0, CH |
0356 | g(A0E00004): STR R0, SP, 4H |
| IF w >= 80000H THENh w := w - 100000H ENDi ; |
0357 | h(80E00004): LDR R0, SP, 4H |
0358 | h(61000008): MOV' R1, R0, 8H |
0359 | h(00090001): SUB R0, R0, R1 |
035A | h(E5000004): BLT 4 [035FH] |
035B | i(80E00004): LDR R0, SP, 4H |
035C | i(61000010): MOV' R1, R0, 10H |
035D | i(00090001): SUB R0, R0, R1 |
035E | i(A0E00004): STR R0, SP, 4H |
| Texts.WriteInt(W,j w,k 8)l |
035F | j .FIXUP D |
035F | j(8D000014): LDR SB, MT, MOD0 [ORTool] |
0360 | j(40D80000): ADD R0, SB, 0H [data] |
0361 | j .FIXUP D |
0361 | j(8D200002): LDR SB, MT, MOD2 [Texts] |
0362 | j(41D80005): ADD R1, SB, VAR5 |
0363 | k(82E00004): LDR R2, SP, 4H |
0364 | l(43000008): MOV R3, R0, 8H |
| ELSIFm kn = 3 THENo (*Branch instr*) |
0365 | m .FIXUP P |
0365 | m(F721E017): BL MOD2 [Texts] PROC30 |
0366 | n(E7000039): B 57 [03A0H] |
0367 | o(80E00008): LDR R0, SP, 8H |
0368 | o(40090003): SUB R0, R0, 3H |
0369 | o(E9000036): BNE 54 [03A0H] |
| Texts.Write(W,p "B")q;r |
036A | p .FIXUP D |
036A | p(8D000009): LDR SB, MT, MOD0 [ORTool] |
036B | p(40D80000): ADD R0, SB, 0H [data] |
036C | p .FIXUP D |
036C | p(8D200002): LDR SB, MT, MOD2 [Texts] |
036D | p(41D80005): ADD R1, SB, VAR5 |
036E | q(42000042): MOV R2, R0, 42H |
036F | r .FIXUP P |
036F | r(F721B00A): BL MOD2 [Texts] PROC27 |
| IF ODD(w DIV 10000000H)s THENt Texts.Write(W,u "L")v ENDw ; |
0370 | s(80E00004): LDR R0, SP, 4H |
0371 | s(4002001C): ASR R0, R0, 1CH |
0372 | t(40040001): AND R0, R0, 1H |
0373 | t(E1000006): BEQ 6 [037AH] |
0374 | u .FIXUP D |
0374 | u(8D000008): LDR SB, MT, MOD0 [ORTool] |
0375 | u(40D80000): ADD R0, SB, 0H [data] |
0376 | u .FIXUP D |
0376 | u(8D200002): LDR SB, MT, MOD2 [Texts] |
0377 | u(41D80005): ADD R1, SB, VAR5 |
0378 | v(4200004C): MOV R2, R0, 4CH |
0379 | w .FIXUP P |
0379 | w(F721B00A): BL MOD2 [Texts] PROC27 |
| Texts.WriteString(W,x mnemo1[a]y)z;a |
037A | x .FIXUP D |
037A | x(8D000004): LDR SB, MT, MOD0 [ORTool] |
037B | x(40D80000): ADD R0, SB, 0H [data] |
037C | x .FIXUP D |
037C | x(8D200002): LDR SB, MT, MOD2 [Texts] |
037D | x(41D80005): ADD R1, SB, VAR5 |
037E | y(82E00014): LDR R2, SP, 14H |
037F | y(43290010): SUB R3, R2, 10H |
0380 | y(DA166C1C): BLCC MT [trap=1, pos=5740] |
0381 | y(42210002): LSL R2, R2, 2H |
0382 | y .FIXUP D |
0382 | y(8D000006): LDR SB, MT, MOD0 [ORTool] |
0383 | y(02D80002): ADD R2, SB, R2 [global array] |
0384 | z(4228006C): ADD R2, R2, 6CH |
0385 | z(43000004): MOV R3, R0, 4H |
0386 | a .FIXUP P |
0386 | a(F721D00D): BL MOD2 [Texts] PROC29 |
| IF u = 0 THENb WriteReg(w MOD 10H)c ELSEd |
0387 | b(80E00010): LDR R0, SP, 10H |
0388 | b(E9000004): BNE 4 [038DH] |
0389 | c(80E00004): LDR R0, SP, 4H |
038A | c(4004000F): AND R0, R0, FH |
038B | d(F7FFFEFA): BL -262 [0286H] |
| we := w MOD 100000H;f |
038C | e(E7000013): B 19 [03A0H] |
038D | f(80E00004): LDR R0, SP, 4H |
038E | f(4001000C): LSL R0, R0, CH |
038F | f(4003000C): ROR R0, R0, CH |
0390 | f(A0E00004): STR R0, SP, 4H |
| IF w >= 80000H THENg w := w - 100000H ENDh ; |
0391 | g(80E00004): LDR R0, SP, 4H |
0392 | g(61000008): MOV' R1, R0, 8H |
0393 | g(00090001): SUB R0, R0, R1 |
0394 | g(E5000004): BLT 4 [0399H] |
0395 | h(80E00004): LDR R0, SP, 4H |
0396 | h(61000010): MOV' R1, R0, 10H |
0397 | h(00090001): SUB R0, R0, R1 |
0398 | h(A0E00004): STR R0, SP, 4H |
| Texts.WriteInt(W,i w,j 8)k |
0399 | i .FIXUP D |
0399 | i(8D000017): LDR SB, MT, MOD0 [ORTool] |
039A | i(40D80000): ADD R0, SB, 0H [data] |
039B | i .FIXUP D |
039B | i(8D200002): LDR SB, MT, MOD2 [Texts] |
039C | i(41D80005): ADD R1, SB, VAR5 |
039D | j(82E00004): LDR R2, SP, 4H |
039E | k(43000008): MOV R3, R0, 8H |
| ENDl |
039F | l .FIXUP P |
039F | l(F721E019): BL MOD2 [Texts] PROC30 |
| END |
| ENDm opcode; |
03A0 | m(8FE00000): LDR LNK, SP, 0H |
03A1 | m(4EE80020): ADD SP, SP, 20H |
03A2 | m(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 |
03A3 | n(4EE90010): SUB SP, SP, 10H |
03A4 | n(AFE00000): STR LNK, SP, 0H |
03A5 | n(A0E00004): STR R0, SP, 4H |
03A6 | n(A1E00008): STR R1, SP, 8H |
03A7 | o(80E00004): LDR R0, SP, 4H |
03A8 | o(81E00008): LDR R1, SP, 8H |
03A9 | p(42E8000C): ADD R2, SP, CH |
03AA | q .FIXUP P |
03AA | q(F711000B): BL MOD1 [Files] PROC16 |
03AB | r .FIXUP D |
03AB | r(8D000010): LDR SB, MT, MOD0 [ORTool] |
03AC | r(40D80000): ADD R0, SB, 0H [data] |
03AD | r .FIXUP D |
03AD | r(8D200002): LDR SB, MT, MOD2 [Texts] |
03AE | r(41D80005): ADD R1, SB, VAR5 |
03AF | s .FIXUP D |
03AF | s(8D000002): LDR SB, MT, MOD0 [ORTool] |
03B0 | s(42D80158): ADD R2, SB, 158H ["Sync "] |
03B1 | s(43000006): MOV R3, R0, 6H |
03B2 | t .FIXUP P |
03B2 | t(F721D008): BL MOD2 [Texts] PROC29 |
03B3 | u .FIXUP D |
03B3 | u(8D000004): LDR SB, MT, MOD0 [ORTool] |
03B4 | u(40D80000): ADD R0, SB, 0H [data] |
03B5 | u .FIXUP D |
03B5 | u(8D200002): LDR SB, MT, MOD2 [Texts] |
03B6 | u(41D80005): ADD R1, SB, VAR5 |
03B7 | v(92E0000C): LDR R2, SP, CH |
03B8 | w .FIXUP P |
03B8 | w(F721B006): BL MOD2 [Texts] PROC27 |
03B9 | x .FIXUP D |
03B9 | x(8D000004): LDR SB, MT, MOD0 [ORTool] |
03BA | x(40D80000): ADD R0, SB, 0H [data] |
03BB | x .FIXUP D |
03BB | x(8D200002): LDR SB, MT, MOD2 [Texts] |
03BC | x(41D80005): ADD R1, SB, VAR5 |
| ENDy Sync; |
03BD | y .FIXUP P |
03BD | y(F721C005): BL MOD2 [Texts] PROC28 |
03BE | y(8FE00000): LDR LNK, SP, 0H |
03BF | y(4EE80010): ADD SP, SP, 10H |
03C0 | y(C700000F): B LNK |
| |
| PROCEDURE Write(VAR R: Files.Rider; x: INTEGER); |
| BEGINz Files.WriteByte(R,a x)b (* -128 <= x < 128 *) |
03C1 | z(4EE90010): SUB SP, SP, 10H |
03C2 | z(AFE00000): STR LNK, SP, 0H |
03C3 | z(A0E00004): STR R0, SP, 4H |
03C4 | z(A1E00008): STR R1, SP, 8H |
03C5 | z(A2E0000C): STR R2, SP, CH |
03C6 | a(80E00004): LDR R0, SP, 4H |
03C7 | a(81E00008): LDR R1, SP, 8H |
03C8 | b(82E0000C): LDR R2, SP, CH |
| ENDc Write; |
03C9 | c .FIXUP P |
03C9 | c(F711600C): BL MOD1 [Files] PROC22 |
03CA | c(8FE00000): LDR LNK, SP, 0H |
03CB | c(4EE80010): ADD SP, SP, 10H |
03CC | c(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 |
03CD | d .PROC 2 |
03CD | d .COMMAND DecObj |
03CD | d(4EE900DC): SUB SP, SP, DCH |
03CE | d(AFE00000): STR LNK, SP, 0H |
03CF | e(40E80068): ADD R0, SP, 68H |
03D0 | e .FIXUP D |
03D0 | e(8D200015): LDR SB, MT, MOD2 [Texts] |
03D1 | e(41D80003): ADD R1, SB, VAR3 |
03D2 | f .FIXUP D |
03D2 | f(8D400002): LDR SB, MT, MOD4 [Oberon] |
03D3 | f(42D8000E): ADD R2, SB, VAR14 |
03D4 | f(82200008): LDR R2, R2, 8H |
03D5 | g .FIXUP D |
03D5 | g(8D400003): LDR SB, MT, MOD4 [Oberon] |
03D6 | g(43D8000E): ADD R3, SB, VAR14 |
03D7 | g(8330000C): LDR R3, R3, CH |
03D8 | h .FIXUP P |
03D8 | h(F721500F): BL MOD2 [Texts] PROC21 |
03D9 | i(40E80068): ADD R0, SP, 68H |
03DA | i .FIXUP D |
03DA | i(8D200005): LDR SB, MT, MOD2 [Texts] |
03DB | i(41D80003): ADD R1, SB, VAR3 |
03DC | j .FIXUP P |
03DC | j(F7216004): BL MOD2 [Texts] PROC22 |
| IF S.class = Texts.Name THENk |
03DD | k(80E000A4): LDR R0, SP, A4H |
03DE | k(40090001): SUB R0, R0, 1H |
03DF | k(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 |
03E0 | l .FIXUP D |
03E0 | l(8D000006): LDR SB, MT, MOD0 [ORTool] |
03E1 | l(40D80000): ADD R0, SB, 0H [data] |
03E2 | l .FIXUP D |
03E2 | l(8D200002): LDR SB, MT, MOD2 [Texts] |
03E3 | l(41D80005): ADD R1, SB, VAR5 |
03E4 | m .FIXUP D |
03E4 | m(8D000002): LDR SB, MT, MOD0 [ORTool] |
03E5 | m(42D80160): ADD R2, SB, 160H ["decode "] |
03E6 | m(43000008): MOV R3, R0, 8H |
03E7 | n .FIXUP P |
03E7 | n(F721D00B): BL MOD2 [Texts] PROC29 |
03E8 | o .FIXUP D |
03E8 | o(8D000004): LDR SB, MT, MOD0 [ORTool] |
03E9 | o(40D80000): ADD R0, SB, 0H [data] |
03EA | o .FIXUP D |
03EA | o(8D200002): LDR SB, MT, MOD2 [Texts] |
03EB | o(41D80005): ADD R1, SB, VAR5 |
03EC | p(42E800BC): ADD R2, SP, BCH |
03ED | p(43000020): MOV R3, R0, 20H |
03EE | q .FIXUP P |
03EE | q(F721D007): BL MOD2 [Texts] PROC29 |
03EF | r(40E800BC): ADD R0, SP, BCH |
03F0 | r(41000020): MOV R1, R0, 20H |
03F1 | s .FIXUP P |
03F1 | s(F7102003): BL MOD1 [Files] PROC2 |
03F2 | s(A0E0004C): STR R0, SP, 4CH |
| IF F # NIL THENt |
03F3 | t(80E0004C): LDR R0, SP, 4CH |
03F4 | t(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 |
03F5 | u(40E80050): ADD R0, SP, 50H |
03F6 | u .FIXUP D |
03F6 | u(8D10000C): LDR SB, MT, MOD1 [Files] |
03F7 | u(41D80001): ADD R1, SB, VAR1 |
03F8 | v(82E0004C): LDR R2, SP, 4CH |
03F9 | w(43000000): MOV R3, R0, 0H |
03FA | x .FIXUP P |
03FA | x(F710B009): BL MOD1 [Files] PROC11 |
03FB | y(40E80050): ADD R0, SP, 50H |
03FC | y .FIXUP D |
03FC | y(8D100006): LDR SB, MT, MOD1 [Files] |
03FD | y(41D80001): ADD R1, SB, VAR1 |
03FE | z(42E8002C): ADD R2, SP, 2CH |
03FF | z(43000020): MOV R3, R0, 20H |
0400 | a .FIXUP P |
0400 | a(F7114006): BL MOD1 [Files] PROC20 |
0401 | b .FIXUP D |
0401 | b(8D000005): LDR SB, MT, MOD0 [ORTool] |
0402 | b(40D80000): ADD R0, SB, 0H [data] |
0403 | b .FIXUP D |
0403 | b(8D200002): LDR SB, MT, MOD2 [Texts] |
0404 | b(41D80005): ADD R1, SB, VAR5 |
0405 | c .FIXUP P |
0405 | c(F721C005): BL MOD2 [Texts] PROC28 |
0406 | d .FIXUP D |
0406 | d(8D000003): LDR SB, MT, MOD0 [ORTool] |
0407 | d(40D80000): ADD R0, SB, 0H [data] |
0408 | d .FIXUP D |
0408 | d(8D200002): LDR SB, MT, MOD2 [Texts] |
0409 | d(41D80005): ADD R1, SB, VAR5 |
040A | e(42E8002C): ADD R2, SP, 2CH |
040B | e(43000020): MOV R3, R0, 20H |
040C | f .FIXUP P |
040C | f(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*) |
040D | g(40E80050): ADD R0, SP, 50H |
040E | g .FIXUP D |
040E | g(8D100006): LDR SB, MT, MOD1 [Files] |
040F | g(41D80001): ADD R1, SB, VAR1 |
0410 | h(42E80010): ADD R2, SP, 10H |
0411 | i .FIXUP P |
0411 | i(F7111005): BL MOD1 [Files] PROC17 |
0412 | j .FIXUP D |
0412 | j(8D000004): LDR SB, MT, MOD0 [ORTool] |
0413 | j(40D80000): ADD R0, SB, 0H [data] |
0414 | j .FIXUP D |
0414 | j(8D200002): LDR SB, MT, MOD2 [Texts] |
0415 | j(41D80005): ADD R1, SB, VAR5 |
0416 | k(82E00010): LDR R2, SP, 10H |
0417 | l .FIXUP P |
0417 | l(F721F006): BL MOD2 [Texts] PROC31 |
0418 | m(40E80050): ADD R0, SP, 50H |
0419 | m .FIXUP D |
0419 | m(8D100005): LDR SB, MT, MOD1 [Files] |
041A | m(41D80001): ADD R1, SB, VAR1 |
041B | n(42E80004): ADD R2, SP, 4H |
041C | o(F7FFFBE3): BL -1053 [0000H] |
041D | p .FIXUP D |
041D | p(8D000004): LDR SB, MT, MOD0 [ORTool] |
041E | p(40D80000): ADD R0, SB, 0H [data] |
041F | p .FIXUP D |
041F | p(8D200002): LDR SB, MT, MOD2 [Texts] |
0420 | p(41D80005): ADD R1, SB, VAR5 |
0421 | q(82E00004): LDR R2, SP, 4H |
0422 | r(43000004): MOV R3, R0, 4H |
0423 | s .FIXUP P |
0423 | s(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 |
0424 | t(40E80050): ADD R0, SP, 50H |
0425 | t .FIXUP D |
0425 | t(8D100006): LDR SB, MT, MOD1 [Files] |
0426 | t(41D80001): ADD R1, SB, VAR1 |
0427 | u(42E80014): ADD R2, SP, 14H |
0428 | v .FIXUP P |
0428 | v(F7111005): BL MOD1 [Files] PROC17 |
0429 | w .FIXUP D |
0429 | w(8D000004): LDR SB, MT, MOD0 [ORTool] |
042A | w(40D80000): ADD R0, SB, 0H [data] |
042B | w .FIXUP D |
042B | w(8D200002): LDR SB, MT, MOD2 [Texts] |
042C | w(41D80005): ADD R1, SB, VAR5 |
042D | x(82E00014): LDR R2, SP, 14H |
042E | y(43000006): MOV R3, R0, 6H |
042F | z .FIXUP P |
042F | z(F721E007): BL MOD2 [Texts] PROC30 |
0430 | a .FIXUP D |
0430 | a(8D000005): LDR SB, MT, MOD0 [ORTool] |
0431 | a(40D80000): ADD R0, SB, 0H [data] |
0432 | a .FIXUP D |
0432 | a(8D200002): LDR SB, MT, MOD2 [Texts] |
0433 | a(41D80005): ADD R1, SB, VAR5 |
0434 | b .FIXUP P |
0434 | b(F721C005): BL MOD2 [Texts] PROC28 |
| Texts.WriteString(W,c "imports:")d;e Texts.WriteLn(W)f;g Files.ReadString(R,h name)i;j |
0435 | c .FIXUP D |
0435 | c(8D000003): LDR SB, MT, MOD0 [ORTool] |
0436 | c(40D80000): ADD R0, SB, 0H [data] |
0437 | c .FIXUP D |
0437 | c(8D200002): LDR SB, MT, MOD2 [Texts] |
0438 | c(41D80005): ADD R1, SB, VAR5 |
0439 | d .FIXUP D |
0439 | d(8D000002): LDR SB, MT, MOD0 [ORTool] |
043A | d(42D80168): ADD R2, SB, 168H ["imports:"] |
043B | d(43000009): MOV R3, R0, 9H |
043C | e .FIXUP P |
043C | e(F721D008): BL MOD2 [Texts] PROC29 |
043D | f .FIXUP D |
043D | f(8D000004): LDR SB, MT, MOD0 [ORTool] |
043E | f(40D80000): ADD R0, SB, 0H [data] |
043F | f .FIXUP D |
043F | f(8D200002): LDR SB, MT, MOD2 [Texts] |
0440 | f(41D80005): ADD R1, SB, VAR5 |
0441 | g .FIXUP P |
0441 | g(F721C005): BL MOD2 [Texts] PROC28 |
0442 | h(40E80050): ADD R0, SP, 50H |
0443 | h .FIXUP D |
0443 | h(8D100004): LDR SB, MT, MOD1 [Files] |
0444 | h(41D80001): ADD R1, SB, VAR1 |
0445 | i(42E8002C): ADD R2, SP, 2CH |
0446 | i(43000020): MOV R3, R0, 20H |
0447 | j .FIXUP P |
0447 | j(F7114006): BL MOD1 [Files] PROC20 |
| WHILE name[0] # 0X DOk |
0448 | k(90E0002C): LDR R0, SP, 2CH |
0449 | k(E1000024): BEQ 36 [046EH] |
| Texts.Write(W,l 9X)m;n Texts.WriteString(W,o name)p;q |
044A | l .FIXUP D |
044A | l(8D000007): LDR SB, MT, MOD0 [ORTool] |
044B | l(40D80000): ADD R0, SB, 0H [data] |
044C | l .FIXUP D |
044C | l(8D200002): LDR SB, MT, MOD2 [Texts] |
044D | l(41D80005): ADD R1, SB, VAR5 |
044E | m(42000009): MOV R2, R0, 9H |
044F | n .FIXUP P |
044F | n(F721B008): BL MOD2 [Texts] PROC27 |
0450 | o .FIXUP D |
0450 | o(8D000004): LDR SB, MT, MOD0 [ORTool] |
0451 | o(40D80000): ADD R0, SB, 0H [data] |
0452 | o .FIXUP D |
0452 | o(8D200002): LDR SB, MT, MOD2 [Texts] |
0453 | o(41D80005): ADD R1, SB, VAR5 |
0454 | p(42E8002C): ADD R2, SP, 2CH |
0455 | p(43000020): MOV R3, R0, 20H |
0456 | q .FIXUP P |
0456 | q(F721D007): BL MOD2 [Texts] PROC29 |
| Files.ReadInt(R,r key)s;t Texts.WriteHex(W,u key)v;w Texts.WriteLn(W)x;y |
0457 | r(40E80050): ADD R0, SP, 50H |
0458 | r .FIXUP D |
0458 | r(8D100006): LDR SB, MT, MOD1 [Files] |
0459 | r(41D80001): ADD R1, SB, VAR1 |
045A | s(42E80010): ADD R2, SP, 10H |
045B | t .FIXUP P |
045B | t(F7111005): BL MOD1 [Files] PROC17 |
045C | u .FIXUP D |
045C | u(8D000004): LDR SB, MT, MOD0 [ORTool] |
045D | u(40D80000): ADD R0, SB, 0H [data] |
045E | u .FIXUP D |
045E | u(8D200002): LDR SB, MT, MOD2 [Texts] |
045F | u(41D80005): ADD R1, SB, VAR5 |
0460 | v(82E00010): LDR R2, SP, 10H |
0461 | w .FIXUP P |
0461 | w(F721F006): BL MOD2 [Texts] PROC31 |
0462 | x .FIXUP D |
0462 | x(8D000004): LDR SB, MT, MOD0 [ORTool] |
0463 | x(40D80000): ADD R0, SB, 0H [data] |
0464 | x .FIXUP D |
0464 | x(8D200002): LDR SB, MT, MOD2 [Texts] |
0465 | x(41D80005): ADD R1, SB, VAR5 |
0466 | y .FIXUP P |
0466 | y(F721C005): BL MOD2 [Texts] PROC28 |
| Files.ReadString(R,z name)a |
0467 | z(40E80050): ADD R0, SP, 50H |
0468 | z .FIXUP D |
0468 | z(8D100004): LDR SB, MT, MOD1 [Files] |
0469 | z(41D80001): ADD R1, SB, VAR1 |
046A | a(42E8002C): ADD R2, SP, 2CH |
046B | a(43000020): MOV R3, R0, 20H |
| ENDb ; |
046C | b .FIXUP P |
046C | b(F7114006): BL MOD1 [Files] PROC20 |
046D | b(E7FFFFDA): B -38 [0448H] |
| (* Sync(R); *) |
| Texts.WriteString(W,c "type descriptors")d;e Texts.WriteLn(W)f;g |
046E | c .FIXUP D |
046E | c(8D000006): LDR SB, MT, MOD0 [ORTool] |
046F | c(40D80000): ADD R0, SB, 0H [data] |
0470 | c .FIXUP D |
0470 | c(8D200002): LDR SB, MT, MOD2 [Texts] |
0471 | c(41D80005): ADD R1, SB, VAR5 |
0472 | d .FIXUP D |
0472 | d(8D000002): LDR SB, MT, MOD0 [ORTool] |
0473 | d(42D80174): ADD R2, SB, 174H ["type descriptors"] |
0474 | d(43000011): MOV R3, R0, 11H |
0475 | e .FIXUP P |
0475 | e(F721D009): BL MOD2 [Texts] PROC29 |
0476 | f .FIXUP D |
0476 | f(8D000004): LDR SB, MT, MOD0 [ORTool] |
0477 | f(40D80000): ADD R0, SB, 0H [data] |
0478 | f .FIXUP D |
0478 | f(8D200002): LDR SB, MT, MOD2 [Texts] |
0479 | f(41D80005): ADD R1, SB, VAR5 |
047A | g .FIXUP P |
047A | g(F721C005): BL MOD2 [Texts] PROC28 |
| Files.ReadInt(R,h n)i;j n := n DIV 4;k i := 0;l |
047B | h(40E80050): ADD R0, SP, 50H |
047C | h .FIXUP D |
047C | h(8D100004): LDR SB, MT, MOD1 [Files] |
047D | h(41D80001): ADD R1, SB, VAR1 |
047E | i(42E8000C): ADD R2, SP, CH |
047F | j .FIXUP P |
047F | j(F7111005): BL MOD1 [Files] PROC17 |
0480 | k(80E0000C): LDR R0, SP, CH |
0481 | k(40020002): ASR R0, R0, 2H |
0482 | k(A0E0000C): STR R0, SP, CH |
0483 | l(40000000): MOV R0, R0, 0H |
0484 | l(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 ; |
0485 | m(80E00008): LDR R0, SP, 8H |
0486 | m(81E0000C): LDR R1, SP, CH |
0487 | m(00090001): SUB R0, R0, R1 |
0488 | m(ED00000F): BGE 15 [0498H] |
0489 | n(40E80050): ADD R0, SP, 50H |
048A | n .FIXUP D |
048A | n(8D10000E): LDR SB, MT, MOD1 [Files] |
048B | n(41D80001): ADD R1, SB, VAR1 |
048C | o(42E80020): ADD R2, SP, 20H |
048D | p .FIXUP P |
048D | p(F711100E): BL MOD1 [Files] PROC17 |
048E | q .FIXUP D |
048E | q(8D000004): LDR SB, MT, MOD0 [ORTool] |
048F | q(40D80000): ADD R0, SB, 0H [data] |
0490 | q .FIXUP D |
0490 | q(8D200002): LDR SB, MT, MOD2 [Texts] |
0491 | q(41D80005): ADD R1, SB, VAR5 |
0492 | r(82E00020): LDR R2, SP, 20H |
0493 | s .FIXUP P |
0493 | s(F721F006): BL MOD2 [Texts] PROC31 |
0494 | t(80E00008): LDR R0, SP, 8H |
0495 | t(40080001): ADD R0, R0, 1H |
0496 | t(A0E00008): STR R0, SP, 8H |
0497 | t(E7FFFFED): B -19 [0485H] |
| Texts.WriteLn(W)u;v |
0498 | u .FIXUP D |
0498 | u(8D000008): LDR SB, MT, MOD0 [ORTool] |
0499 | u(40D80000): ADD R0, SB, 0H [data] |
049A | u .FIXUP D |
049A | u(8D200002): LDR SB, MT, MOD2 [Texts] |
049B | u(41D80005): ADD R1, SB, VAR5 |
049C | v .FIXUP P |
049C | v(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 |
049D | w .FIXUP D |
049D | w(8D000003): LDR SB, MT, MOD0 [ORTool] |
049E | w(40D80000): ADD R0, SB, 0H [data] |
049F | w .FIXUP D |
049F | w(8D200002): LDR SB, MT, MOD2 [Texts] |
04A0 | w(41D80005): ADD R1, SB, VAR5 |
04A1 | x .FIXUP D |
04A1 | x(8D000002): LDR SB, MT, MOD0 [ORTool] |
04A2 | x(42D80188): ADD R2, SB, 188H ["data"] |
04A3 | x(43000005): MOV R3, R0, 5H |
04A4 | y .FIXUP P |
04A4 | y(F721D008): BL MOD2 [Texts] PROC29 |
04A5 | z(40E80050): ADD R0, SP, 50H |
04A6 | z .FIXUP D |
04A6 | z(8D100005): LDR SB, MT, MOD1 [Files] |
04A7 | z(41D80001): ADD R1, SB, VAR1 |
04A8 | a(42E80020): ADD R2, SP, 20H |
04A9 | b .FIXUP P |
04A9 | b(F7111005): BL MOD1 [Files] PROC17 |
04AA | c .FIXUP D |
04AA | c(8D000004): LDR SB, MT, MOD0 [ORTool] |
04AB | c(40D80000): ADD R0, SB, 0H [data] |
04AC | c .FIXUP D |
04AC | c(8D200002): LDR SB, MT, MOD2 [Texts] |
04AD | c(41D80005): ADD R1, SB, VAR5 |
04AE | d(82E00020): LDR R2, SP, 20H |
04AF | e(43000006): MOV R3, R0, 6H |
04B0 | f .FIXUP P |
04B0 | f(F721E007): BL MOD2 [Texts] PROC30 |
04B1 | g .FIXUP D |
04B1 | g(8D000005): LDR SB, MT, MOD0 [ORTool] |
04B2 | g(40D80000): ADD R0, SB, 0H [data] |
04B3 | g .FIXUP D |
04B3 | g(8D200002): LDR SB, MT, MOD2 [Texts] |
04B4 | g(41D80005): ADD R1, SB, VAR5 |
04B5 | h .FIXUP P |
04B5 | h(F721C005): BL MOD2 [Texts] PROC28 |
| Texts.WriteString(W,i "strings")j;k Texts.WriteLn(W)l;m |
04B6 | i .FIXUP D |
04B6 | i(8D000003): LDR SB, MT, MOD0 [ORTool] |
04B7 | i(40D80000): ADD R0, SB, 0H [data] |
04B8 | i .FIXUP D |
04B8 | i(8D200002): LDR SB, MT, MOD2 [Texts] |
04B9 | i(41D80005): ADD R1, SB, VAR5 |
04BA | j .FIXUP D |
04BA | j(8D000002): LDR SB, MT, MOD0 [ORTool] |
04BB | j(42D80190): ADD R2, SB, 190H ["strings"] |
04BC | j(43000008): MOV R3, R0, 8H |
04BD | k .FIXUP P |
04BD | k(F721D008): BL MOD2 [Texts] PROC29 |
04BE | l .FIXUP D |
04BE | l(8D000004): LDR SB, MT, MOD0 [ORTool] |
04BF | l(40D80000): ADD R0, SB, 0H [data] |
04C0 | l .FIXUP D |
04C0 | l(8D200002): LDR SB, MT, MOD2 [Texts] |
04C1 | l(41D80005): ADD R1, SB, VAR5 |
04C2 | m .FIXUP P |
04C2 | m(F721C005): BL MOD2 [Texts] PROC28 |
| Files.ReadInt(R,n n)o;p i := 0;q |
04C3 | n(40E80050): ADD R0, SP, 50H |
04C4 | n .FIXUP D |
04C4 | n(8D100004): LDR SB, MT, MOD1 [Files] |
04C5 | n(41D80001): ADD R1, SB, VAR1 |
04C6 | o(42E8000C): ADD R2, SP, CH |
04C7 | p .FIXUP P |
04C7 | p(F7111005): BL MOD1 [Files] PROC17 |
04C8 | q(40000000): MOV R0, R0, 0H |
04C9 | q(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 ; |
04CA | r(80E00008): LDR R0, SP, 8H |
04CB | r(81E0000C): LDR R1, SP, CH |
04CC | r(00090001): SUB R0, R0, R1 |
04CD | r(ED00000F): BGE 15 [04DDH] |
04CE | s(40E80050): ADD R0, SP, 50H |
04CF | s .FIXUP D |
04CF | s(8D10000B): LDR SB, MT, MOD1 [Files] |
04D0 | s(41D80001): ADD R1, SB, VAR1 |
04D1 | t(42E80028): ADD R2, SP, 28H |
04D2 | u .FIXUP P |
04D2 | u(F711000B): BL MOD1 [Files] PROC16 |
04D3 | v .FIXUP D |
04D3 | v(8D000004): LDR SB, MT, MOD0 [ORTool] |
04D4 | v(40D80000): ADD R0, SB, 0H [data] |
04D5 | v .FIXUP D |
04D5 | v(8D200002): LDR SB, MT, MOD2 [Texts] |
04D6 | v(41D80005): ADD R1, SB, VAR5 |
04D7 | w(92E00028): LDR R2, SP, 28H |
04D8 | x .FIXUP P |
04D8 | x(F721B006): BL MOD2 [Texts] PROC27 |
04D9 | y(80E00008): LDR R0, SP, 8H |
04DA | y(40080001): ADD R0, R0, 1H |
04DB | y(A0E00008): STR R0, SP, 8H |
04DC | y(E7FFFFED): B -19 [04CAH] |
| Texts.WriteLn(W)z;a |
04DD | z .FIXUP D |
04DD | z(8D000008): LDR SB, MT, MOD0 [ORTool] |
04DE | z(40D80000): ADD R0, SB, 0H [data] |
04DF | z .FIXUP D |
04DF | z(8D200002): LDR SB, MT, MOD2 [Texts] |
04E0 | z(41D80005): ADD R1, SB, VAR5 |
04E1 | a .FIXUP P |
04E1 | a(F721C009): BL MOD2 [Texts] PROC28 |
| Texts.WriteString(W,b "code")c;d Texts.WriteLn(W)e;f |
04E2 | b .FIXUP D |
04E2 | b(8D000003): LDR SB, MT, MOD0 [ORTool] |
04E3 | b(40D80000): ADD R0, SB, 0H [data] |
04E4 | b .FIXUP D |
04E4 | b(8D200002): LDR SB, MT, MOD2 [Texts] |
04E5 | b(41D80005): ADD R1, SB, VAR5 |
04E6 | c .FIXUP D |
04E6 | c(8D000002): LDR SB, MT, MOD0 [ORTool] |
04E7 | c(42D80198): ADD R2, SB, 198H ["code"] |
04E8 | c(43000005): MOV R3, R0, 5H |
04E9 | d .FIXUP P |
04E9 | d(F721D008): BL MOD2 [Texts] PROC29 |
04EA | e .FIXUP D |
04EA | e(8D000004): LDR SB, MT, MOD0 [ORTool] |
04EB | e(40D80000): ADD R0, SB, 0H [data] |
04EC | e .FIXUP D |
04EC | e(8D200002): LDR SB, MT, MOD2 [Texts] |
04ED | e(41D80005): ADD R1, SB, VAR5 |
04EE | f .FIXUP P |
04EE | f(F721C005): BL MOD2 [Texts] PROC28 |
| Files.ReadInt(R,g n)h;i i := 0;j |
04EF | g(40E80050): ADD R0, SP, 50H |
04F0 | g .FIXUP D |
04F0 | g(8D100004): LDR SB, MT, MOD1 [Files] |
04F1 | g(41D80001): ADD R1, SB, VAR1 |
04F2 | h(42E8000C): ADD R2, SP, CH |
04F3 | i .FIXUP P |
04F3 | i(F7111005): BL MOD1 [Files] PROC17 |
04F4 | j(40000000): MOV R0, R0, 0H |
04F5 | j(A0E00008): STR R0, SP, 8H |
| WHILE i < n DOk |
04F6 | k(80E00008): LDR R0, SP, 8H |
04F7 | k(81E0000C): LDR R1, SP, CH |
04F8 | k(00090001): SUB R0, R0, R1 |
04F9 | k(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 |
04FA | l(40E80050): ADD R0, SP, 50H |
04FB | l .FIXUP D |
04FB | l(8D10000B): LDR SB, MT, MOD1 [Files] |
04FC | l(41D80001): ADD R1, SB, VAR1 |
04FD | m(42E80020): ADD R2, SP, 20H |
04FE | n .FIXUP P |
04FE | n(F711100B): BL MOD1 [Files] PROC17 |
04FF | o .FIXUP D |
04FF | o(8D000004): LDR SB, MT, MOD0 [ORTool] |
0500 | o(40D80000): ADD R0, SB, 0H [data] |
0501 | o .FIXUP D |
0501 | o(8D200002): LDR SB, MT, MOD2 [Texts] |
0502 | o(41D80005): ADD R1, SB, VAR5 |
0503 | p(82E00008): LDR R2, SP, 8H |
0504 | q(43000004): MOV R3, R0, 4H |
0505 | r .FIXUP P |
0505 | r(F721E007): BL MOD2 [Texts] PROC30 |
0506 | s .FIXUP D |
0506 | s(8D000005): LDR SB, MT, MOD0 [ORTool] |
0507 | s(40D80000): ADD R0, SB, 0H [data] |
0508 | s .FIXUP D |
0508 | s(8D200002): LDR SB, MT, MOD2 [Texts] |
0509 | s(41D80005): ADD R1, SB, VAR5 |
050A | t(42000009): MOV R2, R0, 9H |
050B | u .FIXUP P |
050B | u(F721B006): BL MOD2 [Texts] PROC27 |
050C | v .FIXUP D |
050C | v(8D000004): LDR SB, MT, MOD0 [ORTool] |
050D | v(40D80000): ADD R0, SB, 0H [data] |
050E | v .FIXUP D |
050E | v(8D200002): LDR SB, MT, MOD2 [Texts] |
050F | v(41D80005): ADD R1, SB, VAR5 |
0510 | w(82E00020): LDR R2, SP, 20H |
0511 | x .FIXUP P |
0511 | x(F721F006): BL MOD2 [Texts] PROC31 |
| Texts.Write(W,y 9X)z;a opcode(data)b;c Texts.WriteLn(W)d;e INC(i) |
0512 | y .FIXUP D |
0512 | y(8D000004): LDR SB, MT, MOD0 [ORTool] |
0513 | y(40D80000): ADD R0, SB, 0H [data] |
0514 | y .FIXUP D |
0514 | y(8D200002): LDR SB, MT, MOD2 [Texts] |
0515 | y(41D80005): ADD R1, SB, VAR5 |
0516 | z(42000009): MOV R2, R0, 9H |
0517 | a .FIXUP P |
0517 | a(F721B006): BL MOD2 [Texts] PROC27 |
0518 | b(80E00020): LDR R0, SP, 20H |
0519 | c(F7FFFDB8): BL -584 [02D2H] |
051A | d .FIXUP D |
051A | d(8D000006): LDR SB, MT, MOD0 [ORTool] |
051B | d(40D80000): ADD R0, SB, 0H [data] |
051C | d .FIXUP D |
051C | d(8D200002): LDR SB, MT, MOD2 [Texts] |
051D | d(41D80005): ADD R1, SB, VAR5 |
051E | e .FIXUP P |
051E | e(F721C007): BL MOD2 [Texts] PROC28 |
| ENDf ; |
051F | f(80E00008): LDR R0, SP, 8H |
0520 | f(40080001): ADD R0, R0, 1H |
0521 | f(A0E00008): STR R0, SP, 8H |
0522 | f(E7FFFFD3): B -45 [04F6H] |
| (* Sync(R); *) |
| Texts.WriteString(W,g "commands:")h;i Texts.WriteLn(W)j;k |
0523 | g .FIXUP D |
0523 | g(8D000007): LDR SB, MT, MOD0 [ORTool] |
0524 | g(40D80000): ADD R0, SB, 0H [data] |
0525 | g .FIXUP D |
0525 | g(8D200002): LDR SB, MT, MOD2 [Texts] |
0526 | g(41D80005): ADD R1, SB, VAR5 |
0527 | h .FIXUP D |
0527 | h(8D000002): LDR SB, MT, MOD0 [ORTool] |
0528 | h(42D801A0): ADD R2, SB, 1A0H ["commands:"] |
0529 | h(4300000A): MOV R3, R0, AH |
052A | i .FIXUP P |
052A | i(F721D00C): BL MOD2 [Texts] PROC29 |
052B | j .FIXUP D |
052B | j(8D000004): LDR SB, MT, MOD0 [ORTool] |
052C | j(40D80000): ADD R0, SB, 0H [data] |
052D | j .FIXUP D |
052D | j(8D200002): LDR SB, MT, MOD2 [Texts] |
052E | j(41D80005): ADD R1, SB, VAR5 |
052F | k .FIXUP P |
052F | k(F721C005): BL MOD2 [Texts] PROC28 |
| Files.ReadString(R,l name)m;n |
0530 | l(40E80050): ADD R0, SP, 50H |
0531 | l .FIXUP D |
0531 | l(8D100004): LDR SB, MT, MOD1 [Files] |
0532 | l(41D80001): ADD R1, SB, VAR1 |
0533 | m(42E8002C): ADD R2, SP, 2CH |
0534 | m(43000020): MOV R3, R0, 20H |
0535 | n .FIXUP P |
0535 | n(F7114006): BL MOD1 [Files] PROC20 |
| WHILE name[0] # 0X DOo |
0536 | o(90E0002C): LDR R0, SP, 2CH |
0537 | o(E1000025): BEQ 37 [055DH] |
| Texts.Write(W,p 9X)q;r Texts.WriteString(W,s name)t;u |
0538 | p .FIXUP D |
0538 | p(8D000007): LDR SB, MT, MOD0 [ORTool] |
0539 | p(40D80000): ADD R0, SB, 0H [data] |
053A | p .FIXUP D |
053A | p(8D200002): LDR SB, MT, MOD2 [Texts] |
053B | p(41D80005): ADD R1, SB, VAR5 |
053C | q(42000009): MOV R2, R0, 9H |
053D | r .FIXUP P |
053D | r(F721B008): BL MOD2 [Texts] PROC27 |
053E | s .FIXUP D |
053E | s(8D000004): LDR SB, MT, MOD0 [ORTool] |
053F | s(40D80000): ADD R0, SB, 0H [data] |
0540 | s .FIXUP D |
0540 | s(8D200002): LDR SB, MT, MOD2 [Texts] |
0541 | s(41D80005): ADD R1, SB, VAR5 |
0542 | t(42E8002C): ADD R2, SP, 2CH |
0543 | t(43000020): MOV R3, R0, 20H |
0544 | u .FIXUP P |
0544 | u(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 |
0545 | v(40E80050): ADD R0, SP, 50H |
0546 | v .FIXUP D |
0546 | v(8D100006): LDR SB, MT, MOD1 [Files] |
0547 | v(41D80001): ADD R1, SB, VAR1 |
0548 | w(42E8001C): ADD R2, SP, 1CH |
0549 | x .FIXUP P |
0549 | x(F7111005): BL MOD1 [Files] PROC17 |
054A | y .FIXUP D |
054A | y(8D000004): LDR SB, MT, MOD0 [ORTool] |
054B | y(40D80000): ADD R0, SB, 0H [data] |
054C | y .FIXUP D |
054C | y(8D200002): LDR SB, MT, MOD2 [Texts] |
054D | y(41D80005): ADD R1, SB, VAR5 |
054E | z(82E0001C): LDR R2, SP, 1CH |
054F | a(43000005): MOV R3, R0, 5H |
0550 | b .FIXUP P |
0550 | b(F721E007): BL MOD2 [Texts] PROC30 |
0551 | c .FIXUP D |
0551 | c(8D000005): LDR SB, MT, MOD0 [ORTool] |
0552 | c(40D80000): ADD R0, SB, 0H [data] |
0553 | c .FIXUP D |
0553 | c(8D200002): LDR SB, MT, MOD2 [Texts] |
0554 | c(41D80005): ADD R1, SB, VAR5 |
0555 | d .FIXUP P |
0555 | d(F721C005): BL MOD2 [Texts] PROC28 |
| Files.ReadString(R,e name)f |
0556 | e(40E80050): ADD R0, SP, 50H |
0557 | e .FIXUP D |
0557 | e(8D100004): LDR SB, MT, MOD1 [Files] |
0558 | e(41D80001): ADD R1, SB, VAR1 |
0559 | f(42E8002C): ADD R2, SP, 2CH |
055A | f(43000020): MOV R3, R0, 20H |
| ENDg ; |
055B | g .FIXUP P |
055B | g(F7114006): BL MOD1 [Files] PROC20 |
055C | g(E7FFFFD9): B -39 [0536H] |
| (* Sync(R); *) |
| Texts.WriteString(W,h "entries")i;j Texts.WriteLn(W)k;l |
055D | h .FIXUP D |
055D | h(8D000006): LDR SB, MT, MOD0 [ORTool] |
055E | h(40D80000): ADD R0, SB, 0H [data] |
055F | h .FIXUP D |
055F | h(8D200002): LDR SB, MT, MOD2 [Texts] |
0560 | h(41D80005): ADD R1, SB, VAR5 |
0561 | i .FIXUP D |
0561 | i(8D000002): LDR SB, MT, MOD0 [ORTool] |
0562 | i(42D801AC): ADD R2, SB, 1ACH ["entries"] |
0563 | i(43000008): MOV R3, R0, 8H |
0564 | j .FIXUP P |
0564 | j(F721D009): BL MOD2 [Texts] PROC29 |
0565 | k .FIXUP D |
0565 | k(8D000004): LDR SB, MT, MOD0 [ORTool] |
0566 | k(40D80000): ADD R0, SB, 0H [data] |
0567 | k .FIXUP D |
0567 | k(8D200002): LDR SB, MT, MOD2 [Texts] |
0568 | k(41D80005): ADD R1, SB, VAR5 |
0569 | l .FIXUP P |
0569 | l(F721C005): BL MOD2 [Texts] PROC28 |
| Files.ReadInt(R,m n)n;o i := 0;p |
056A | m(40E80050): ADD R0, SP, 50H |
056B | m .FIXUP D |
056B | m(8D100004): LDR SB, MT, MOD1 [Files] |
056C | m(41D80001): ADD R1, SB, VAR1 |
056D | n(42E8000C): ADD R2, SP, CH |
056E | o .FIXUP P |
056E | o(F7111005): BL MOD1 [Files] PROC17 |
056F | p(40000000): MOV R0, R0, 0H |
0570 | p(A0E00008): STR R0, SP, 8H |
| WHILE i < n DOq |
0571 | q(80E00008): LDR R0, SP, 8H |
0572 | q(81E0000C): LDR R1, SP, CH |
0573 | q(00090001): SUB R0, R0, R1 |
0574 | q(ED000010): BGE 16 [0585H] |
| Files.ReadInt(R,r adr)s;t Texts.WriteInt(W,u adr,v 6)w;x INC(i) |
0575 | r(40E80050): ADD R0, SP, 50H |
0576 | r .FIXUP D |
0576 | r(8D10000B): LDR SB, MT, MOD1 [Files] |
0577 | r(41D80001): ADD R1, SB, VAR1 |
0578 | s(42E8001C): ADD R2, SP, 1CH |
0579 | t .FIXUP P |
0579 | t(F711100B): BL MOD1 [Files] PROC17 |
057A | u .FIXUP D |
057A | u(8D000004): LDR SB, MT, MOD0 [ORTool] |
057B | u(40D80000): ADD R0, SB, 0H [data] |
057C | u .FIXUP D |
057C | u(8D200002): LDR SB, MT, MOD2 [Texts] |
057D | u(41D80005): ADD R1, SB, VAR5 |
057E | v(82E0001C): LDR R2, SP, 1CH |
057F | w(43000006): MOV R3, R0, 6H |
0580 | x .FIXUP P |
0580 | x(F721E007): BL MOD2 [Texts] PROC30 |
| ENDy ; |
0581 | y(80E00008): LDR R0, SP, 8H |
0582 | y(40080001): ADD R0, R0, 1H |
0583 | y(A0E00008): STR R0, SP, 8H |
0584 | y(E7FFFFEC): B -20 [0571H] |
| Texts.WriteLn(W)z;a |
0585 | z .FIXUP D |
0585 | z(8D000009): LDR SB, MT, MOD0 [ORTool] |
0586 | z(40D80000): ADD R0, SB, 0H [data] |
0587 | z .FIXUP D |
0587 | z(8D200002): LDR SB, MT, MOD2 [Texts] |
0588 | z(41D80005): ADD R1, SB, VAR5 |
0589 | a .FIXUP P |
0589 | a(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 |
058A | b .FIXUP D |
058A | b(8D000003): LDR SB, MT, MOD0 [ORTool] |
058B | b(40D80000): ADD R0, SB, 0H [data] |
058C | b .FIXUP D |
058C | b(8D200002): LDR SB, MT, MOD2 [Texts] |
058D | b(41D80005): ADD R1, SB, VAR5 |
058E | c .FIXUP D |
058E | c(8D000002): LDR SB, MT, MOD0 [ORTool] |
058F | c(42D801B4): ADD R2, SB, 1B4H ["pointer refs"] |
0590 | c(4300000D): MOV R3, R0, DH |
0591 | d .FIXUP P |
0591 | d(F721D008): BL MOD2 [Texts] PROC29 |
0592 | e .FIXUP D |
0592 | e(8D000004): LDR SB, MT, MOD0 [ORTool] |
0593 | e(40D80000): ADD R0, SB, 0H [data] |
0594 | e .FIXUP D |
0594 | e(8D200002): LDR SB, MT, MOD2 [Texts] |
0595 | e(41D80005): ADD R1, SB, VAR5 |
0596 | f .FIXUP P |
0596 | f(F721C005): BL MOD2 [Texts] PROC28 |
0597 | g(40E80050): ADD R0, SP, 50H |
0598 | g .FIXUP D |
0598 | g(8D100004): LDR SB, MT, MOD1 [Files] |
0599 | g(41D80001): ADD R1, SB, VAR1 |
059A | h(42E8001C): ADD R2, SP, 1CH |
059B | i .FIXUP P |
059B | i(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 ; |
059C | j(80E0001C): LDR R0, SP, 1CH |
059D | j(5009FFFF): SUB R0, R0, FFFFFFFFH |
059E | j(E100000D): BEQ 13 [05ACH] |
059F | k .FIXUP D |
059F | k(8D000007): LDR SB, MT, MOD0 [ORTool] |
05A0 | k(40D80000): ADD R0, SB, 0H [data] |
05A1 | k .FIXUP D |
05A1 | k(8D200002): LDR SB, MT, MOD2 [Texts] |
05A2 | k(41D80005): ADD R1, SB, VAR5 |
05A3 | l(82E0001C): LDR R2, SP, 1CH |
05A4 | m(43000006): MOV R3, R0, 6H |
05A5 | n .FIXUP P |
05A5 | n(F721E00A): BL MOD2 [Texts] PROC30 |
05A6 | o(40E80050): ADD R0, SP, 50H |
05A7 | o .FIXUP D |
05A7 | o(8D100006): LDR SB, MT, MOD1 [Files] |
05A8 | o(41D80001): ADD R1, SB, VAR1 |
05A9 | p(42E8001C): ADD R2, SP, 1CH |
05AA | q .FIXUP P |
05AA | q(F7111005): BL MOD1 [Files] PROC17 |
05AB | q(E7FFFFF0): B -16 [059CH] |
| Texts.WriteLn(W)r;s |
05AC | r .FIXUP D |
05AC | r(8D000005): LDR SB, MT, MOD0 [ORTool] |
05AD | r(40D80000): ADD R0, SB, 0H [data] |
05AE | r .FIXUP D |
05AE | r(8D200002): LDR SB, MT, MOD2 [Texts] |
05AF | r(41D80005): ADD R1, SB, VAR5 |
05B0 | s .FIXUP P |
05B0 | s(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 |
05B1 | t(40E80050): ADD R0, SP, 50H |
05B2 | t .FIXUP D |
05B2 | t(8D100004): LDR SB, MT, MOD1 [Files] |
05B3 | t(41D80001): ADD R1, SB, VAR1 |
05B4 | u(42E80020): ADD R2, SP, 20H |
05B5 | v .FIXUP P |
05B5 | v(F7111005): BL MOD1 [Files] PROC17 |
05B6 | w .FIXUP D |
05B6 | w(8D000004): LDR SB, MT, MOD0 [ORTool] |
05B7 | w(40D80000): ADD R0, SB, 0H [data] |
05B8 | w .FIXUP D |
05B8 | w(8D200002): LDR SB, MT, MOD2 [Texts] |
05B9 | w(41D80005): ADD R1, SB, VAR5 |
05BA | x .FIXUP D |
05BA | x(8D000002): LDR SB, MT, MOD0 [ORTool] |
05BB | x(42D801C4): ADD R2, SB, 1C4H ["fixP = "] |
05BC | x(43000008): MOV R3, R0, 8H |
05BD | y .FIXUP P |
05BD | y(F721D008): BL MOD2 [Texts] PROC29 |
05BE | z .FIXUP D |
05BE | z(8D000004): LDR SB, MT, MOD0 [ORTool] |
05BF | z(40D80000): ADD R0, SB, 0H [data] |
05C0 | z .FIXUP D |
05C0 | z(8D200002): LDR SB, MT, MOD2 [Texts] |
05C1 | z(41D80005): ADD R1, SB, VAR5 |
05C2 | a(82E00020): LDR R2, SP, 20H |
05C3 | b(43000008): MOV R3, R0, 8H |
05C4 | c .FIXUP P |
05C4 | c(F721E007): BL MOD2 [Texts] PROC30 |
05C5 | d .FIXUP D |
05C5 | d(8D000005): LDR SB, MT, MOD0 [ORTool] |
05C6 | d(40D80000): ADD R0, SB, 0H [data] |
05C7 | d .FIXUP D |
05C7 | d(8D200002): LDR SB, MT, MOD2 [Texts] |
05C8 | d(41D80005): ADD R1, SB, VAR5 |
05C9 | e .FIXUP P |
05C9 | e(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 |
05CA | f(40E80050): ADD R0, SP, 50H |
05CB | f .FIXUP D |
05CB | f(8D100004): LDR SB, MT, MOD1 [Files] |
05CC | f(41D80001): ADD R1, SB, VAR1 |
05CD | g(42E80020): ADD R2, SP, 20H |
05CE | h .FIXUP P |
05CE | h(F7111005): BL MOD1 [Files] PROC17 |
05CF | i .FIXUP D |
05CF | i(8D000004): LDR SB, MT, MOD0 [ORTool] |
05D0 | i(40D80000): ADD R0, SB, 0H [data] |
05D1 | i .FIXUP D |
05D1 | i(8D200002): LDR SB, MT, MOD2 [Texts] |
05D2 | i(41D80005): ADD R1, SB, VAR5 |
05D3 | j .FIXUP D |
05D3 | j(8D000002): LDR SB, MT, MOD0 [ORTool] |
05D4 | j(42D801CC): ADD R2, SB, 1CCH ["fixD = "] |
05D5 | j(43000008): MOV R3, R0, 8H |
05D6 | k .FIXUP P |
05D6 | k(F721D008): BL MOD2 [Texts] PROC29 |
05D7 | l .FIXUP D |
05D7 | l(8D000004): LDR SB, MT, MOD0 [ORTool] |
05D8 | l(40D80000): ADD R0, SB, 0H [data] |
05D9 | l .FIXUP D |
05D9 | l(8D200002): LDR SB, MT, MOD2 [Texts] |
05DA | l(41D80005): ADD R1, SB, VAR5 |
05DB | m(82E00020): LDR R2, SP, 20H |
05DC | n(43000008): MOV R3, R0, 8H |
05DD | o .FIXUP P |
05DD | o(F721E007): BL MOD2 [Texts] PROC30 |
05DE | p .FIXUP D |
05DE | p(8D000005): LDR SB, MT, MOD0 [ORTool] |
05DF | p(40D80000): ADD R0, SB, 0H [data] |
05E0 | p .FIXUP D |
05E0 | p(8D200002): LDR SB, MT, MOD2 [Texts] |
05E1 | p(41D80005): ADD R1, SB, VAR5 |
05E2 | q .FIXUP P |
05E2 | q(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 |
05E3 | r(40E80050): ADD R0, SP, 50H |
05E4 | r .FIXUP D |
05E4 | r(8D100004): LDR SB, MT, MOD1 [Files] |
05E5 | r(41D80001): ADD R1, SB, VAR1 |
05E6 | s(42E80020): ADD R2, SP, 20H |
05E7 | t .FIXUP P |
05E7 | t(F7111005): BL MOD1 [Files] PROC17 |
05E8 | u .FIXUP D |
05E8 | u(8D000004): LDR SB, MT, MOD0 [ORTool] |
05E9 | u(40D80000): ADD R0, SB, 0H [data] |
05EA | u .FIXUP D |
05EA | u(8D200002): LDR SB, MT, MOD2 [Texts] |
05EB | u(41D80005): ADD R1, SB, VAR5 |
05EC | v .FIXUP D |
05EC | v(8D000002): LDR SB, MT, MOD0 [ORTool] |
05ED | v(42D801D4): ADD R2, SB, 1D4H ["fixT = "] |
05EE | v(43000008): MOV R3, R0, 8H |
05EF | w .FIXUP P |
05EF | w(F721D008): BL MOD2 [Texts] PROC29 |
05F0 | x .FIXUP D |
05F0 | x(8D000004): LDR SB, MT, MOD0 [ORTool] |
05F1 | x(40D80000): ADD R0, SB, 0H [data] |
05F2 | x .FIXUP D |
05F2 | x(8D200002): LDR SB, MT, MOD2 [Texts] |
05F3 | x(41D80005): ADD R1, SB, VAR5 |
05F4 | y(82E00020): LDR R2, SP, 20H |
05F5 | z(43000008): MOV R3, R0, 8H |
05F6 | a .FIXUP P |
05F6 | a(F721E007): BL MOD2 [Texts] PROC30 |
05F7 | b .FIXUP D |
05F7 | b(8D000005): LDR SB, MT, MOD0 [ORTool] |
05F8 | b(40D80000): ADD R0, SB, 0H [data] |
05F9 | b .FIXUP D |
05F9 | b(8D200002): LDR SB, MT, MOD2 [Texts] |
05FA | b(41D80005): ADD R1, SB, VAR5 |
05FB | c .FIXUP P |
05FB | c(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 |
05FC | d(40E80050): ADD R0, SP, 50H |
05FD | d .FIXUP D |
05FD | d(8D100004): LDR SB, MT, MOD1 [Files] |
05FE | d(41D80001): ADD R1, SB, VAR1 |
05FF | e(42E80020): ADD R2, SP, 20H |
0600 | f .FIXUP P |
0600 | f(F7111005): BL MOD1 [Files] PROC17 |
0601 | g .FIXUP D |
0601 | g(8D000004): LDR SB, MT, MOD0 [ORTool] |
0602 | g(40D80000): ADD R0, SB, 0H [data] |
0603 | g .FIXUP D |
0603 | g(8D200002): LDR SB, MT, MOD2 [Texts] |
0604 | g(41D80005): ADD R1, SB, VAR5 |
0605 | h .FIXUP D |
0605 | h(8D000002): LDR SB, MT, MOD0 [ORTool] |
0606 | h(42D801DC): ADD R2, SB, 1DCH ["entry = "] |
0607 | h(43000009): MOV R3, R0, 9H |
0608 | i .FIXUP P |
0608 | i(F721D008): BL MOD2 [Texts] PROC29 |
0609 | j .FIXUP D |
0609 | j(8D000004): LDR SB, MT, MOD0 [ORTool] |
060A | j(40D80000): ADD R0, SB, 0H [data] |
060B | j .FIXUP D |
060B | j(8D200002): LDR SB, MT, MOD2 [Texts] |
060C | j(41D80005): ADD R1, SB, VAR5 |
060D | k(82E00020): LDR R2, SP, 20H |
060E | l(43000008): MOV R3, R0, 8H |
060F | m .FIXUP P |
060F | m(F721E007): BL MOD2 [Texts] PROC30 |
0610 | n .FIXUP D |
0610 | n(8D000005): LDR SB, MT, MOD0 [ORTool] |
0611 | n(40D80000): ADD R0, SB, 0H [data] |
0612 | n .FIXUP D |
0612 | n(8D200002): LDR SB, MT, MOD2 [Texts] |
0613 | n(41D80005): ADD R1, SB, VAR5 |
0614 | o .FIXUP P |
0614 | o(F721C005): BL MOD2 [Texts] PROC28 |
| Files.Read(R,p ch)q;r |
0615 | p(40E80050): ADD R0, SP, 50H |
0616 | p .FIXUP D |
0616 | p(8D100004): LDR SB, MT, MOD1 [Files] |
0617 | p(41D80001): ADD R1, SB, VAR1 |
0618 | q(42E80028): ADD R2, SP, 28H |
0619 | r .FIXUP P |
0619 | r(F7110005): BL MOD1 [Files] PROC16 |
| IF ch # "O" THENs Texts.WriteString(W,t "format eror")u;v Texts.WriteLn(W)w ENDx |
061A | s(90E00028): LDR R0, SP, 28H |
061B | s(4009004F): SUB R0, R0, 4FH |
061C | s(E100000D): BEQ 13 [062AH] |
061D | t .FIXUP D |
061D | t(8D000007): LDR SB, MT, MOD0 [ORTool] |
061E | t(40D80000): ADD R0, SB, 0H [data] |
061F | t .FIXUP D |
061F | t(8D200002): LDR SB, MT, MOD2 [Texts] |
0620 | t(41D80005): ADD R1, SB, VAR5 |
0621 | u .FIXUP D |
0621 | u(8D000002): LDR SB, MT, MOD0 [ORTool] |
0622 | u(42D801E8): ADD R2, SB, 1E8H ["format eror"] |
0623 | u(4300000C): MOV R3, R0, CH |
0624 | v .FIXUP P |
0624 | v(F721D00B): BL MOD2 [Texts] PROC29 |
0625 | w .FIXUP D |
0625 | w(8D000004): LDR SB, MT, MOD0 [ORTool] |
0626 | w(40D80000): ADD R0, SB, 0H [data] |
0627 | w .FIXUP D |
0627 | w(8D200002): LDR SB, MT, MOD2 [Texts] |
0628 | w(41D80005): ADD R1, SB, VAR5 |
0629 | x .FIXUP P |
0629 | x(F721C005): BL MOD2 [Texts] PROC28 |
| (* Sync(R); *) |
| ELSE Textsy.WriteString(W,z " not found")a;b Texts.WriteLn(W)c |
062A | y(E700000D): B 13 [0638H] |
062B | z .FIXUP D |
062B | z(8D000004): LDR SB, MT, MOD0 [ORTool] |
062C | z(40D80000): ADD R0, SB, 0H [data] |
062D | z .FIXUP D |
062D | z(8D200002): LDR SB, MT, MOD2 [Texts] |
062E | z(41D80005): ADD R1, SB, VAR5 |
062F | a .FIXUP D |
062F | a(8D000002): LDR SB, MT, MOD0 [ORTool] |
0630 | a(42D801F4): ADD R2, SB, 1F4H [" not found"] |
0631 | a(4300000B): MOV R3, R0, BH |
0632 | b .FIXUP P |
0632 | b(F721D009): BL MOD2 [Texts] PROC29 |
0633 | c .FIXUP D |
0633 | c(8D000004): LDR SB, MT, MOD0 [ORTool] |
0634 | c(40D80000): ADD R0, SB, 0H [data] |
0635 | c .FIXUP D |
0635 | c(8D200002): LDR SB, MT, MOD2 [Texts] |
0636 | c(41D80005): ADD R1, SB, VAR5 |
| ENDd ; |
0637 | d .FIXUP P |
0637 | d(F721C005): BL MOD2 [Texts] PROC28 |
| Texts.Append(Oberon.Log,e W.buf)f |
0638 | e .FIXUP D |
0638 | e(8D400003): LDR SB, MT, MOD4 [Oberon] |
0639 | e(80D0000D): LDR R0, SB, VAR13 |
063A | f .FIXUP D |
063A | f(8D000002): LDR SB, MT, MOD0 [ORTool] |
063B | f(81D00000): LDR R1, SB, 0H [data] |
| ENDg |
063C | g .FIXUP P |
063C | g(F720E005): BL MOD2 [Texts] PROC14 |
| ENDh DecObj; |
063D | h(8FE00000): LDR LNK, SP, 0H |
063E | h(4EE800DC): ADD SP, SP, DCH |
063F | h(C700000F): B LNK |
| |
| BEGINi Texts.OpenWriter(W)j;k Texts.WriteString(W,l "ORTool 18.2.2013")m;n |
0640 | i .PROC 0 |
0640 | i .ENTRYPOINT |
0640 | i(4EE90004): SUB SP, SP, 4H |
0641 | i(AFE00000): STR LNK, SP, 0H |
0642 | j .FIXUP D |
0642 | j(8D000008): LDR SB, MT, MOD0 [ORTool] |
0643 | j(40D80000): ADD R0, SB, 0H [data] |
0644 | j .FIXUP D |
0644 | j(8D200002): LDR SB, MT, MOD2 [Texts] |
0645 | j(41D80005): ADD R1, SB, VAR5 |
0646 | k .FIXUP P |
0646 | k(F721700A): BL MOD2 [Texts] PROC23 |
0647 | l .FIXUP D |
0647 | l(8D000003): LDR SB, MT, MOD0 [ORTool] |
0648 | l(40D80000): ADD R0, SB, 0H [data] |
0649 | l .FIXUP D |
0649 | l(8D200002): LDR SB, MT, MOD2 [Texts] |
064A | l(41D80005): ADD R1, SB, VAR5 |
064B | m .FIXUP D |
064B | m(8D000002): LDR SB, MT, MOD0 [ORTool] |
064C | m(42D80200): ADD R2, SB, 200H ["ORTool 18.2.2013"] |
064D | m(43000011): MOV R3, R0, 11H |
064E | n .FIXUP P |
064E | n(F721D008): BL MOD2 [Texts] PROC29 |
| Texts.WriteLn(W)o;p Texts.Append(Oberon.Log,q W.buf)r;s |
064F | o .FIXUP D |
064F | o(8D000004): LDR SB, MT, MOD0 [ORTool] |
0650 | o(40D80000): ADD R0, SB, 0H [data] |
0651 | o .FIXUP D |
0651 | o(8D200002): LDR SB, MT, MOD2 [Texts] |
0652 | o(41D80005): ADD R1, SB, VAR5 |
0653 | p .FIXUP P |
0653 | p(F721C005): BL MOD2 [Texts] PROC28 |
0654 | q .FIXUP D |
0654 | q(8D400003): LDR SB, MT, MOD4 [Oberon] |
0655 | q(80D0000D): LDR R0, SB, VAR13 |
0656 | r .FIXUP D |
0656 | r(8D000002): LDR SB, MT, MOD0 [ORTool] |
0657 | r(81D00000): LDR R1, SB, 0H [data] |
0658 | s .FIXUP P |
0658 | s(F720E005): BL MOD2 [Texts] PROC14 |
| mnemo0[0] := "MOV";t |
0659 | t .FIXUP D |
0659 | t(8D000003): LDR SB, MT, MOD0 [ORTool] |
065A | t(40D8002C): ADD R0, SB, 2CH [data] |
065B | t(41D80214): ADD R1, SB, 214H |
065C | t(82100000): LDR R2, R1, 0H |
065D | t(41180004): ADD R1, R1, 4H |
065E | t(A2000000): STR R2, R0, 0H |
065F | t(40080004): ADD R0, R0, 4H |
0660 | t(42220018): ASR R2, R2, 18H |
0661 | t(E9FFFFFA): BNE -6 [065CH] |
| mnemo0[1] := "LSL";u |
0662 | u(40D80030): ADD R0, SB, 30H |
0663 | u(41D80218): ADD R1, SB, 218H |
0664 | u(82100000): LDR R2, R1, 0H |
0665 | u(41180004): ADD R1, R1, 4H |
0666 | u(A2000000): STR R2, R0, 0H |
0667 | u(40080004): ADD R0, R0, 4H |
0668 | u(42220018): ASR R2, R2, 18H |
0669 | u(E9FFFFFA): BNE -6 [0664H] |
| mnemo0[2] := "ASR";v |
066A | v(40D80034): ADD R0, SB, 34H |
066B | v(41D8021C): ADD R1, SB, 21CH |
066C | v(82100000): LDR R2, R1, 0H |
066D | v(41180004): ADD R1, R1, 4H |
066E | v(A2000000): STR R2, R0, 0H |
066F | v(40080004): ADD R0, R0, 4H |
0670 | v(42220018): ASR R2, R2, 18H |
0671 | v(E9FFFFFA): BNE -6 [066CH] |
| mnemo0[3] := "ROR";w |
0672 | w(40D80038): ADD R0, SB, 38H |
0673 | w(41D80220): ADD R1, SB, 220H |
0674 | w(82100000): LDR R2, R1, 0H |
0675 | w(41180004): ADD R1, R1, 4H |
0676 | w(A2000000): STR R2, R0, 0H |
0677 | w(40080004): ADD R0, R0, 4H |
0678 | w(42220018): ASR R2, R2, 18H |
0679 | w(E9FFFFFA): BNE -6 [0674H] |
| mnemo0[4] := "AND";x |
067A | x(40D8003C): ADD R0, SB, 3CH |
067B | x(41D80224): ADD R1, SB, 224H |
067C | x(82100000): LDR R2, R1, 0H |
067D | x(41180004): ADD R1, R1, 4H |
067E | x(A2000000): STR R2, R0, 0H |
067F | x(40080004): ADD R0, R0, 4H |
0680 | x(42220018): ASR R2, R2, 18H |
0681 | x(E9FFFFFA): BNE -6 [067CH] |
| mnemo0[5] := "ANN";y |
0682 | y(40D80040): ADD R0, SB, 40H |
0683 | y(41D80228): ADD R1, SB, 228H |
0684 | y(82100000): LDR R2, R1, 0H |
0685 | y(41180004): ADD R1, R1, 4H |
0686 | y(A2000000): STR R2, R0, 0H |
0687 | y(40080004): ADD R0, R0, 4H |
0688 | y(42220018): ASR R2, R2, 18H |
0689 | y(E9FFFFFA): BNE -6 [0684H] |
| mnemo0[6] := "IOR";z |
068A | z(40D80044): ADD R0, SB, 44H |
068B | z(41D8022C): ADD R1, SB, 22CH |
068C | z(82100000): LDR R2, R1, 0H |
068D | z(41180004): ADD R1, R1, 4H |
068E | z(A2000000): STR R2, R0, 0H |
068F | z(40080004): ADD R0, R0, 4H |
0690 | z(42220018): ASR R2, R2, 18H |
0691 | z(E9FFFFFA): BNE -6 [068CH] |
| mnemo0[7] := "XOR";a |
0692 | a(40D80048): ADD R0, SB, 48H |
0693 | a(41D80230): ADD R1, SB, 230H |
0694 | a(82100000): LDR R2, R1, 0H |
0695 | a(41180004): ADD R1, R1, 4H |
0696 | a(A2000000): STR R2, R0, 0H |
0697 | a(40080004): ADD R0, R0, 4H |
0698 | a(42220018): ASR R2, R2, 18H |
0699 | a(E9FFFFFA): BNE -6 [0694H] |
| mnemo0[8] := "ADD";b |
069A | b(40D8004C): ADD R0, SB, 4CH |
069B | b(41D80234): ADD R1, SB, 234H |
069C | b(82100000): LDR R2, R1, 0H |
069D | b(41180004): ADD R1, R1, 4H |
069E | b(A2000000): STR R2, R0, 0H |
069F | b(40080004): ADD R0, R0, 4H |
06A0 | b(42220018): ASR R2, R2, 18H |
06A1 | b(E9FFFFFA): BNE -6 [069CH] |
| mnemo0[9] := "SUB";c |
06A2 | c(40D80050): ADD R0, SB, 50H |
06A3 | c(41D80238): ADD R1, SB, 238H |
06A4 | c(82100000): LDR R2, R1, 0H |
06A5 | c(41180004): ADD R1, R1, 4H |
06A6 | c(A2000000): STR R2, R0, 0H |
06A7 | c(40080004): ADD R0, R0, 4H |
06A8 | c(42220018): ASR R2, R2, 18H |
06A9 | c(E9FFFFFA): BNE -6 [06A4H] |
| mnemo0[10] := "MUL";d |
06AA | d(40D80054): ADD R0, SB, 54H |
06AB | d(41D8023C): ADD R1, SB, 23CH |
06AC | d(82100000): LDR R2, R1, 0H |
06AD | d(41180004): ADD R1, R1, 4H |
06AE | d(A2000000): STR R2, R0, 0H |
06AF | d(40080004): ADD R0, R0, 4H |
06B0 | d(42220018): ASR R2, R2, 18H |
06B1 | d(E9FFFFFA): BNE -6 [06ACH] |
| mnemo0[11] := "DIV";e |
06B2 | e(40D80058): ADD R0, SB, 58H |
06B3 | e(41D80240): ADD R1, SB, 240H |
06B4 | e(82100000): LDR R2, R1, 0H |
06B5 | e(41180004): ADD R1, R1, 4H |
06B6 | e(A2000000): STR R2, R0, 0H |
06B7 | e(40080004): ADD R0, R0, 4H |
06B8 | e(42220018): ASR R2, R2, 18H |
06B9 | e(E9FFFFFA): BNE -6 [06B4H] |
| mnemo0[12] := "FAD";f |
06BA | f(40D8005C): ADD R0, SB, 5CH |
06BB | f(41D80244): ADD R1, SB, 244H |
06BC | f(82100000): LDR R2, R1, 0H |
06BD | f(41180004): ADD R1, R1, 4H |
06BE | f(A2000000): STR R2, R0, 0H |
06BF | f(40080004): ADD R0, R0, 4H |
06C0 | f(42220018): ASR R2, R2, 18H |
06C1 | f(E9FFFFFA): BNE -6 [06BCH] |
| mnemo0[13] := "FSB";g |
06C2 | g(40D80060): ADD R0, SB, 60H |
06C3 | g(41D80248): ADD R1, SB, 248H |
06C4 | g(82100000): LDR R2, R1, 0H |
06C5 | g(41180004): ADD R1, R1, 4H |
06C6 | g(A2000000): STR R2, R0, 0H |
06C7 | g(40080004): ADD R0, R0, 4H |
06C8 | g(42220018): ASR R2, R2, 18H |
06C9 | g(E9FFFFFA): BNE -6 [06C4H] |
| mnemo0[14] := "FML";h |
06CA | h(40D80064): ADD R0, SB, 64H |
06CB | h(41D8024C): ADD R1, SB, 24CH |
06CC | h(82100000): LDR R2, R1, 0H |
06CD | h(41180004): ADD R1, R1, 4H |
06CE | h(A2000000): STR R2, R0, 0H |
06CF | h(40080004): ADD R0, R0, 4H |
06D0 | h(42220018): ASR R2, R2, 18H |
06D1 | h(E9FFFFFA): BNE -6 [06CCH] |
| mnemo0[15] := "FDV";i |
06D2 | i(40D80068): ADD R0, SB, 68H |
06D3 | i(41D80250): ADD R1, SB, 250H |
06D4 | i(82100000): LDR R2, R1, 0H |
06D5 | i(41180004): ADD R1, R1, 4H |
06D6 | i(A2000000): STR R2, R0, 0H |
06D7 | i(40080004): ADD R0, R0, 4H |
06D8 | i(42220018): ASR R2, R2, 18H |
06D9 | i(E9FFFFFA): BNE -6 [06D4H] |
| mnemo1[0] := "MI ";j |
06DA | j(40D8006C): ADD R0, SB, 6CH |
06DB | j(41D80254): ADD R1, SB, 254H |
06DC | j(82100000): LDR R2, R1, 0H |
06DD | j(41180004): ADD R1, R1, 4H |
06DE | j(A2000000): STR R2, R0, 0H |
06DF | j(40080004): ADD R0, R0, 4H |
06E0 | j(42220018): ASR R2, R2, 18H |
06E1 | j(E9FFFFFA): BNE -6 [06DCH] |
| mnemo1[8] := "PL";k |
06E2 | k(40D8008C): ADD R0, SB, 8CH |
06E3 | k(41D80258): ADD R1, SB, 258H |
06E4 | k(82100000): LDR R2, R1, 0H |
06E5 | k(41180004): ADD R1, R1, 4H |
06E6 | k(A2000000): STR R2, R0, 0H |
06E7 | k(40080004): ADD R0, R0, 4H |
06E8 | k(42220018): ASR R2, R2, 18H |
06E9 | k(E9FFFFFA): BNE -6 [06E4H] |
| mnemo1[1] := "EQ ";l |
06EA | l(40D80070): ADD R0, SB, 70H |
06EB | l(41D8025C): ADD R1, SB, 25CH |
06EC | l(82100000): LDR R2, R1, 0H |
06ED | l(41180004): ADD R1, R1, 4H |
06EE | l(A2000000): STR R2, R0, 0H |
06EF | l(40080004): ADD R0, R0, 4H |
06F0 | l(42220018): ASR R2, R2, 18H |
06F1 | l(E9FFFFFA): BNE -6 [06ECH] |
| mnemo1[9] := "NE ";m |
06F2 | m(40D80090): ADD R0, SB, 90H |
06F3 | m(41D80260): ADD R1, SB, 260H |
06F4 | m(82100000): LDR R2, R1, 0H |
06F5 | m(41180004): ADD R1, R1, 4H |
06F6 | m(A2000000): STR R2, R0, 0H |
06F7 | m(40080004): ADD R0, R0, 4H |
06F8 | m(42220018): ASR R2, R2, 18H |
06F9 | m(E9FFFFFA): BNE -6 [06F4H] |
| mnemo1[2] := "LS ";n |
06FA | n(40D80074): ADD R0, SB, 74H |
06FB | n(41D80264): ADD R1, SB, 264H |
06FC | n(82100000): LDR R2, R1, 0H |
06FD | n(41180004): ADD R1, R1, 4H |
06FE | n(A2000000): STR R2, R0, 0H |
06FF | n(40080004): ADD R0, R0, 4H |
0700 | n(42220018): ASR R2, R2, 18H |
0701 | n(E9FFFFFA): BNE -6 [06FCH] |
| mnemo1[10] := "HI ";o |
0702 | o(40D80094): ADD R0, SB, 94H |
0703 | o(41D80268): ADD R1, SB, 268H |
0704 | o(82100000): LDR R2, R1, 0H |
0705 | o(41180004): ADD R1, R1, 4H |
0706 | o(A2000000): STR R2, R0, 0H |
0707 | o(40080004): ADD R0, R0, 4H |
0708 | o(42220018): ASR R2, R2, 18H |
0709 | o(E9FFFFFA): BNE -6 [0704H] |
| mnemo1[5] := "LT ";p |
070A | p(40D80080): ADD R0, SB, 80H |
070B | p(41D8026C): ADD R1, SB, 26CH |
070C | p(82100000): LDR R2, R1, 0H |
070D | p(41180004): ADD R1, R1, 4H |
070E | p(A2000000): STR R2, R0, 0H |
070F | p(40080004): ADD R0, R0, 4H |
0710 | p(42220018): ASR R2, R2, 18H |
0711 | p(E9FFFFFA): BNE -6 [070CH] |
| mnemo1[13] := "GE ";q |
0712 | q(40D800A0): ADD R0, SB, A0H |
0713 | q(41D80270): ADD R1, SB, 270H |
0714 | q(82100000): LDR R2, R1, 0H |
0715 | q(41180004): ADD R1, R1, 4H |
0716 | q(A2000000): STR R2, R0, 0H |
0717 | q(40080004): ADD R0, R0, 4H |
0718 | q(42220018): ASR R2, R2, 18H |
0719 | q(E9FFFFFA): BNE -6 [0714H] |
| mnemo1[6] := "LE ";r |
071A | r(40D80084): ADD R0, SB, 84H |
071B | r(41D80274): ADD R1, SB, 274H |
071C | r(82100000): LDR R2, R1, 0H |
071D | r(41180004): ADD R1, R1, 4H |
071E | r(A2000000): STR R2, R0, 0H |
071F | r(40080004): ADD R0, R0, 4H |
0720 | r(42220018): ASR R2, R2, 18H |
0721 | r(E9FFFFFA): BNE -6 [071CH] |
| mnemo1[14] := "GT ";s |
0722 | s(40D800A4): ADD R0, SB, A4H |
0723 | s(41D80278): ADD R1, SB, 278H |
0724 | s(82100000): LDR R2, R1, 0H |
0725 | s(41180004): ADD R1, R1, 4H |
0726 | s(A2000000): STR R2, R0, 0H |
0727 | s(40080004): ADD R0, R0, 4H |
0728 | s(42220018): ASR R2, R2, 18H |
0729 | s(E9FFFFFA): BNE -6 [0724H] |
| mnemo1[15] := "NO ";t |
072A | t(40D800A8): ADD R0, SB, A8H |
072B | t(41D8027C): ADD R1, SB, 27CH |
072C | t(82100000): LDR R2, R1, 0H |
072D | t(41180004): ADD R1, R1, 4H |
072E | t(A2000000): STR R2, R0, 0H |
072F | t(40080004): ADD R0, R0, 4H |
0730 | t(42220018): ASR R2, R2, 18H |
0731 | t(E9FFFFFA): BNE -6 [072CH] |
| END ORTool.u |
0732 | u(8FE00000): LDR LNK, SP, 0H |
0733 | u(4EE80004): ADD SP, SP, 4H |
0734 | u(C700000F): B LNK |