| MODULE System; (*JG 3.10.90 / NW 12.10.93 / NW 20.6.2016*) | 
|      |                 .MODULE System (KEY D4F6C028, VERSION 1, SIZE 00002638) | 
|      |                 .IMPORT Kernel (KEY 97E012DD) | 
|      |                 .IMPORT FileDir (KEY AF8E65FF) | 
|      |                 .IMPORT Files (KEY 73F5D686) | 
|      |                 .IMPORT Modules (KEY 41C6A19A) | 
|      |                 .IMPORT Input (KEY 5DE391A8) | 
|      |                 .IMPORT Display (KEY 4C08D3EA) | 
|      |                 .IMPORT Viewers (KEY 25ABF199) | 
|      |                 .IMPORT Fonts (KEY F4C9F557) | 
|      |                 .IMPORT Texts (KEY 0B9E9984) | 
|      |                 .IMPORT Oberon (KEY A89CCEE2) | 
|      |                 .IMPORT MenuViewers (KEY 245ACC30) | 
|      |                 .IMPORT TextFrames (KEY 650813D5) | 
|      |                 .DATA 48H | 
|      |                 .STRING 48H "System.Close System.Copy System.Grow Edit.Search Edit.Store" | 
|      |                 .STRING 84H "Edit.Locate Edit.Search System.Copy System.Grow System.Clear" | 
|      |                 .STRING C4H "System.Clock" | 
|      |                 .STRING D4H " unloading" | 
|      |                 .STRING E0H " failed" | 
|      |                 .STRING E8H "System.Free" | 
|      |                 .STRING F4H "System.FreeFonts" | 
|      |                 .STRING 108H "" | 
|      |                 .STRING 10CH "System.Directory" | 
|      |                 .STRING 120H "System.CopyFiles" | 
|      |                 .STRING 134H " => " | 
|      |                 .STRING 13CH " copying" | 
|      |                 .STRING 148H " failed" | 
|      |                 .STRING 150H "System.RenameFiles" | 
|      |                 .STRING 164H " => " | 
|      |                 .STRING 16CH " renaming" | 
|      |                 .STRING 178H " failed" | 
|      |                 .STRING 180H "System.DeleteFiles" | 
|      |                 .STRING 194H " deleting" | 
|      |                 .STRING 1A0H " failed" | 
|      |                 .STRING 1A8H "System.Watch" | 
|      |                 .STRING 1B8H "  Modules space (bytes)" | 
|      |                 .STRING 1D0H "  Heap speace" | 
|      |                 .STRING 1E0H "  Disk sectors " | 
|      |                 .STRING 1F0H "  Tasks" | 
|      |                 .STRING 1F8H "" | 
|      |                 .STRING 1FCH "System.ShowModules" | 
|      |                 .STRING 210H "---" | 
|      |                 .STRING 214H "" | 
|      |                 .STRING 218H "System.Commands" | 
|      |                 .STRING 228H "System.ShowFonts" | 
|      |                 .STRING 23CH "Oberon V5  NW 14.4.2013" | 
|      |                 .STRING 254H "System.Log" | 
|      |                 .STRING 260H "System.Tool" | 
|      |                 .STRING 26CH "System.Tool" | 
|      |                 .STRING 278H "  pos " | 
|      |                 .STRING 280H "  TRAP" | 
|      |                 .STRING 288H " in " | 
|      |                 .STRING 290H " at" | 
|      |                 .STRING 294H "  ABORT  " | 
|      |                 .STRING 2A0H "" | 
|      |                 .POINTER_REFERENCES 0H 4H 24H 18H | 
|      |                 .FIXUP T 0H | 
 |   IMPORT SYSTEM, Kernel, FileDir, Files, Modules, | 
 |     Input, Display, Viewers, Fonts, Texts, Oberon, MenuViewers, TextFrames; | 
 |  | 
 |   CONST | 
 |     StandardMenu = "System.Close System.Copy System.Grow Edit.Search Edit.Store"; | 
 |     LogMenu = "Edit.Locate Edit.Search System.Copy System.Grow System.Clear"; | 
 |  | 
 |   VAR W: Texts.Writer; | 
 |     pat: ARRAY 32 OF CHAR; | 
 |  | 
 |   PROCEDURE GetArg(VAR S: Texts.Scanner); | 
 |     VAR T: Texts.Text; beg, end, time: LONGINT; | 
 |   BEGINa Texts.OpenScanner(S,b Oberon.Par.text,c Oberon.Par.pos)d;e Texts.Scan(S)f;g | 
| 0000 | a(4EE9001C):    SUB SP, SP, 1CH | 
| 0001 | a(AFE00000):    STR LNK, SP, 0H | 
| 0002 | a(A0E00004):    STR R0, SP, 4H | 
| 0003 | a(A1E00008):    STR R1, SP, 8H | 
| 0004 | b(80E00004):    LDR R0, SP, 4H | 
| 0005 | b(81E00008):    LDR R1, SP, 8H | 
| 0006 | c               .FIXUP D | 
| 0006 | c(8DA00006):    LDR SB, MT, MOD10 [Oberon] | 
| 0007 | c(42D8000E):    ADD R2, SB, VAR14 | 
| 0008 | c(82200008):    LDR R2, R2, 8H | 
| 0009 | d               .FIXUP D | 
| 0009 | d(8DA00003):    LDR SB, MT, MOD10 [Oberon] | 
| 000A | d(43D8000E):    ADD R3, SB, VAR14 | 
| 000B | d(8330000C):    LDR R3, R3, CH | 
| 000C | e               .FIXUP P | 
| 000C | e(F791500C):    BL MOD9 [Texts] PROC21 | 
| 000D | f(80E00004):    LDR R0, SP, 4H | 
| 000E | f(81E00008):    LDR R1, SP, 8H | 
| 000F | g               .FIXUP P | 
| 000F | g(F7916003):    BL MOD9 [Texts] PROC22 | 
 |     IF (S.class = Texts.Char)h & (iS.c = "^")j THENk | 
| 0010 | h(80E00004):    LDR R0, SP, 4H | 
| 0011 | h(8000003C):    LDR R0, R0, 3CH | 
| 0012 | h(40090006):    SUB R0, R0, 6H | 
| 0013 | i(E9000014):    BNE 20 [0028H] | 
| 0014 | j(80E00004):    LDR R0, SP, 4H | 
| 0015 | j(9000004C):    LDR R0, R0, 4CH | 
| 0016 | j(4009005E):    SUB R0, R0, 5EH | 
| 0017 | k(E9000010):    BNE 16 [0028H] | 
 |       Oberon.GetSelection(T,l beg,m end,n time)o;p | 
| 0018 | l(40E8000C):    ADD R0, SP, CH | 
| 0019 | m(41E80010):    ADD R1, SP, 10H | 
| 001A | n(42E80014):    ADD R2, SP, 14H | 
| 001B | o(43E80018):    ADD R3, SP, 18H | 
| 001C | p               .FIXUP P | 
| 001C | p(F7A2900D):    BL MOD10 [Oberon] PROC41 | 
 |       IF time >= 0 THENq Texts.OpenScanner(S,r T,s beg)t;u Texts.Scan(S)v ENDw | 
| 001D | q(80E00018):    LDR R0, SP, 18H | 
| 001E | q(40090000):    SUB R0, R0, 0H | 
| 001F | q(E5000008):    BLT 8 [0028H] | 
| 0020 | r(80E00004):    LDR R0, SP, 4H | 
| 0021 | r(81E00008):    LDR R1, SP, 8H | 
| 0022 | s(82E0000C):    LDR R2, SP, CH | 
| 0023 | t(83E00010):    LDR R3, SP, 10H | 
| 0024 | u               .FIXUP P | 
| 0024 | u(F7915008):    BL MOD9 [Texts] PROC21 | 
| 0025 | v(80E00004):    LDR R0, SP, 4H | 
| 0026 | v(81E00008):    LDR R1, SP, 8H | 
| 0027 | w               .FIXUP P | 
| 0027 | w(F7916003):    BL MOD9 [Texts] PROC22 | 
 |     END | 
 |   ENDx GetArg; | 
| 0028 | x(8FE00000):    LDR LNK, SP, 0H | 
| 0029 | x(4EE8001C):    ADD SP, SP, 1CH | 
| 002A | x(C700000F):    B LNK | 
 |  | 
 |   PROCEDURE EndLine; | 
 |   BEGINy Texts.WriteLn(W)z;a Texts.Append(Oberon.Log,b W.buf)c | 
| 002B | y(4EE90004):    SUB SP, SP, 4H | 
| 002C | y(AFE00000):    STR LNK, SP, 0H | 
| 002D | z               .FIXUP D | 
| 002D | z(8D000024):    LDR SB, MT, MOD0 [System] | 
| 002E | z(40D80000):    ADD R0, SB, 0H [data] | 
| 002F | z               .FIXUP D | 
| 002F | z(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 0030 | z(41D80005):    ADD R1, SB, VAR5 | 
| 0031 | a               .FIXUP P | 
| 0031 | a(F791C00A):    BL MOD9 [Texts] PROC28 | 
| 0032 | b               .FIXUP D | 
| 0032 | b(8DA00003):    LDR SB, MT, MOD10 [Oberon] | 
| 0033 | b(80D0000D):    LDR R0, SB, VAR13 | 
| 0034 | c               .FIXUP D | 
| 0034 | c(8D000002):    LDR SB, MT, MOD0 [System] | 
| 0035 | c(81D00000):    LDR R1, SB, 0H [data] | 
 |   ENDd EndLine; | 
| 0036 | d               .FIXUP P | 
| 0036 | d(F790E005):    BL MOD9 [Texts] PROC14 | 
| 0037 | d(8FE00000):    LDR LNK, SP, 0H | 
| 0038 | d(4EE80004):    ADD SP, SP, 4H | 
| 0039 | d(C700000F):    B LNK | 
 |  | 
 |   (* ------------- Toolbox for system control ---------------*) | 
 |  | 
 |   PROCEDURE SetUser*; | 
 |     VAR i: INTEGER; ch: CHAR; | 
 |       user: ARRAY 8 OF CHAR; | 
 |       password: ARRAY 16 OF CHAR; | 
 |   BEGINe i := 0;f Input.Read(ch)g;h | 
| 003A | e               .PROC 1 | 
| 003A | e               .COMMAND SetUser | 
| 003A | e(4EE90024):    SUB SP, SP, 24H | 
| 003B | e(AFE00000):    STR LNK, SP, 0H | 
| 003C | f(40000000):    MOV R0, R0, 0H | 
| 003D | f(A0E00004):    STR R0, SP, 4H | 
| 003E | g(40E80008):    ADD R0, SP, 8H | 
| 003F | h               .FIXUP P | 
| 003F | h(F7502009):    BL MOD5 [Input] PROC2 | 
 |     WHILE (ch # "/")i & (ji < 7)k DOl user[i]m := ch;n INC(i);o Input.Read(ch)p ENDq; | 
| 0040 | i(90E00008):    LDR R0, SP, 8H | 
| 0041 | i(4009002F):    SUB R0, R0, 2FH | 
| 0042 | j(E100000F):    BEQ 15 [0052H] | 
| 0043 | k(80E00004):    LDR R0, SP, 4H | 
| 0044 | k(40090007):    SUB R0, R0, 7H | 
| 0045 | l(ED00000C):    BGE 12 [0052H] | 
| 0046 | m(80E00004):    LDR R0, SP, 4H | 
| 0047 | m(41090008):    SUB R1, R0, 8H | 
| 0048 | m(DA04581C):    BLCC MT [trap=1, pos=1112] | 
| 0049 | m(00E80000):    ADD R0, SP, R0 | 
| 004A | n(91E00008):    LDR R1, SP, 8H | 
| 004B | n(B100000C):    STR R1, R0, CH | 
| 004C | o(80E00004):    LDR R0, SP, 4H | 
| 004D | o(40080001):    ADD R0, R0, 1H | 
| 004E | o(A0E00004):    STR R0, SP, 4H | 
| 004F | p(40E80008):    ADD R0, SP, 8H | 
| 0050 | q               .FIXUP P | 
| 0050 | q(F7502011):    BL MOD5 [Input] PROC2 | 
| 0051 | q(E7FFFFEE):    B -18 [0040H] | 
 |     user[i]r := 0X;s i := 0;t Input.Read(ch)u;v | 
| 0052 | r(80E00004):    LDR R0, SP, 4H | 
| 0053 | r(41090008):    SUB R1, R0, 8H | 
| 0054 | r(DA04871C):    BLCC MT [trap=1, pos=1159] | 
| 0055 | r(00E80000):    ADD R0, SP, R0 | 
| 0056 | s(41000000):    MOV R1, R0, 0H | 
| 0057 | s(B100000C):    STR R1, R0, CH | 
| 0058 | t(40000000):    MOV R0, R0, 0H | 
| 0059 | t(A0E00004):    STR R0, SP, 4H | 
| 005A | u(40E80008):    ADD R0, SP, 8H | 
| 005B | v               .FIXUP P | 
| 005B | v(F750200B):    BL MOD5 [Input] PROC2 | 
 |     WHILE (ch > " ")w & (xi < 15)y DOz password[i]a := ch;b INC(i);c Input.Read(ch)d ENDe; | 
| 005C | w(90E00008):    LDR R0, SP, 8H | 
| 005D | w(40090020):    SUB R0, R0, 20H | 
| 005E | x(E600000F):    BLE 15 [006EH] | 
| 005F | y(80E00004):    LDR R0, SP, 4H | 
| 0060 | y(4009000F):    SUB R0, R0, FH | 
| 0061 | z(ED00000C):    BGE 12 [006EH] | 
| 0062 | a(80E00004):    LDR R0, SP, 4H | 
| 0063 | a(41090010):    SUB R1, R0, 10H | 
| 0064 | a(DA04D51C):    BLCC MT [trap=1, pos=1237] | 
| 0065 | a(00E80000):    ADD R0, SP, R0 | 
| 0066 | b(91E00008):    LDR R1, SP, 8H | 
| 0067 | b(B1000014):    STR R1, R0, 14H | 
| 0068 | c(80E00004):    LDR R0, SP, 4H | 
| 0069 | c(40080001):    ADD R0, R0, 1H | 
| 006A | c(A0E00004):    STR R0, SP, 4H | 
| 006B | d(40E80008):    ADD R0, SP, 8H | 
| 006C | e               .FIXUP P | 
| 006C | e(F7502011):    BL MOD5 [Input] PROC2 | 
| 006D | e(E7FFFFEE):    B -18 [005CH] | 
 |     password[i]f := 0X;g Oberon.SetUser(user,h password)i | 
| 006E | f(80E00004):    LDR R0, SP, 4H | 
| 006F | f(41090010):    SUB R1, R0, 10H | 
| 0070 | f(DA05081C):    BLCC MT [trap=1, pos=1288] | 
| 0071 | f(00E80000):    ADD R0, SP, R0 | 
| 0072 | g(41000000):    MOV R1, R0, 0H | 
| 0073 | g(B1000014):    STR R1, R0, 14H | 
| 0074 | h(40E8000C):    ADD R0, SP, CH | 
| 0075 | h(41000008):    MOV R1, R0, 8H | 
| 0076 | i(42E80014):    ADD R2, SP, 14H | 
| 0077 | i(43000010):    MOV R3, R0, 10H | 
 |   ENDj SetUser; | 
| 0078 | j               .FIXUP P | 
| 0078 | j(F7A1300C):    BL MOD10 [Oberon] PROC19 | 
| 0079 | j(8FE00000):    LDR LNK, SP, 0H | 
| 007A | j(4EE80024):    ADD SP, SP, 24H | 
| 007B | j(C700000F):    B LNK | 
 |  | 
 |   PROCEDURE SetFont*; | 
 |     VAR S: Texts.Scanner; | 
 |   BEGINk GetArg(S)l;m | 
| 007C | k               .PROC 2 | 
| 007C | k               .COMMAND SetFont | 
| 007C | k(4EE90078):    SUB SP, SP, 78H | 
| 007D | k(AFE00000):    STR LNK, SP, 0H | 
| 007E | l(40E80004):    ADD R0, SP, 4H | 
| 007F | l               .FIXUP D | 
| 007F | l(8D90004B):    LDR SB, MT, MOD9 [Texts] | 
| 0080 | l(41D80003):    ADD R1, SB, VAR3 | 
| 0081 | m(F7FFFF7E):    BL -130 [0000H] | 
 |     IF S.class = Texts.Name THENn Oberon.SetFont(Fonts.This(S.s)o)p ENDq | 
| 0082 | n(80E00040):    LDR R0, SP, 40H | 
| 0083 | n(40090001):    SUB R0, R0, 1H | 
| 0084 | n(E9000004):    BNE 4 [0089H] | 
| 0085 | o(40E80058):    ADD R0, SP, 58H | 
| 0086 | o(41000020):    MOV R1, R0, 20H | 
| 0087 | p               .FIXUP P | 
| 0087 | p(F780500F):    BL MOD8 [Fonts] PROC5 | 
| 0088 | q               .FIXUP P | 
| 0088 | q(F7A2E001):    BL MOD10 [Oberon] PROC46 | 
 |   ENDr SetFont; | 
| 0089 | r(8FE00000):    LDR LNK, SP, 0H | 
| 008A | r(4EE80078):    ADD SP, SP, 78H | 
| 008B | r(C700000F):    B LNK | 
 |  | 
 |   PROCEDURE SetColor*; | 
 |     VAR S: Texts.Scanner; | 
 |   BEGINs GetArg(S)t;u | 
| 008C | s               .PROC 3 | 
| 008C | s               .COMMAND SetColor | 
| 008C | s(4EE90078):    SUB SP, SP, 78H | 
| 008D | s(AFE00000):    STR LNK, SP, 0H | 
| 008E | t(40E80004):    ADD R0, SP, 4H | 
| 008F | t               .FIXUP D | 
| 008F | t(8D900010):    LDR SB, MT, MOD9 [Texts] | 
| 0090 | t(41D80003):    ADD R1, SB, VAR3 | 
| 0091 | u(F7FFFF6E):    BL -146 [0000H] | 
 |     IF S.class = Texts.Int THENv Oberon.SetColor(S.i)w ENDx | 
| 0092 | v(80E00040):    LDR R0, SP, 40H | 
| 0093 | v(40090003):    SUB R0, R0, 3H | 
| 0094 | v(E9000002):    BNE 2 [0097H] | 
| 0095 | w(80E00044):    LDR R0, SP, 44H | 
| 0096 | x               .FIXUP P | 
| 0096 | x(F7A2F00E):    BL MOD10 [Oberon] PROC47 | 
 |   ENDy SetColor; | 
| 0097 | y(8FE00000):    LDR LNK, SP, 0H | 
| 0098 | y(4EE80078):    ADD SP, SP, 78H | 
| 0099 | y(C700000F):    B LNK | 
 |  | 
 |   PROCEDURE SetOffset*; | 
 |     VAR S: Texts.Scanner; | 
 |   BEGINz GetArg(S)a;b | 
| 009A | z               .PROC 4 | 
| 009A | z               .COMMAND SetOffset | 
| 009A | z(4EE90078):    SUB SP, SP, 78H | 
| 009B | z(AFE00000):    STR LNK, SP, 0H | 
| 009C | a(40E80004):    ADD R0, SP, 4H | 
| 009D | a               .FIXUP D | 
| 009D | a(8D90000E):    LDR SB, MT, MOD9 [Texts] | 
| 009E | a(41D80003):    ADD R1, SB, VAR3 | 
| 009F | b(F7FFFF60):    BL -160 [0000H] | 
 |     IF S.class = Texts.Int THENc Oberon.SetOffset(S.i)d ENDe | 
| 00A0 | c(80E00040):    LDR R0, SP, 40H | 
| 00A1 | c(40090003):    SUB R0, R0, 3H | 
| 00A2 | c(E9000002):    BNE 2 [00A5H] | 
| 00A3 | d(80E00044):    LDR R0, SP, 44H | 
| 00A4 | e               .FIXUP P | 
| 00A4 | e(F7A3000E):    BL MOD10 [Oberon] PROC48 | 
 |   ENDf SetOffset; | 
| 00A5 | f(8FE00000):    LDR LNK, SP, 0H | 
| 00A6 | f(4EE80078):    ADD SP, SP, 78H | 
| 00A7 | f(C700000F):    B LNK | 
 |    | 
 |   PROCEDURE Date*; | 
 |     VAR S: Texts.Scanner; | 
 |       dt, hr, min, sec, yr, mo, day: LONGINT; | 
 |   BEGINg Texts.OpenScanner(S,h Oberon.Par.text,i Oberon.Par.pos)j;k Texts.Scan(S)l;m | 
| 00A8 | g               .PROC 5 | 
| 00A8 | g               .COMMAND Date | 
| 00A8 | g(4EE90094):    SUB SP, SP, 94H | 
| 00A9 | g(AFE00000):    STR LNK, SP, 0H | 
| 00AA | h(40E80004):    ADD R0, SP, 4H | 
| 00AB | h               .FIXUP D | 
| 00AB | h(8D90000E):    LDR SB, MT, MOD9 [Texts] | 
| 00AC | h(41D80003):    ADD R1, SB, VAR3 | 
| 00AD | i               .FIXUP D | 
| 00AD | i(8DA00002):    LDR SB, MT, MOD10 [Oberon] | 
| 00AE | i(42D8000E):    ADD R2, SB, VAR14 | 
| 00AF | i(82200008):    LDR R2, R2, 8H | 
| 00B0 | j               .FIXUP D | 
| 00B0 | j(8DA00003):    LDR SB, MT, MOD10 [Oberon] | 
| 00B1 | j(43D8000E):    ADD R3, SB, VAR14 | 
| 00B2 | j(8330000C):    LDR R3, R3, CH | 
| 00B3 | k               .FIXUP P | 
| 00B3 | k(F791500F):    BL MOD9 [Texts] PROC21 | 
| 00B4 | l(40E80004):    ADD R0, SP, 4H | 
| 00B5 | l               .FIXUP D | 
| 00B5 | l(8D900005):    LDR SB, MT, MOD9 [Texts] | 
| 00B6 | l(41D80003):    ADD R1, SB, VAR3 | 
| 00B7 | m               .FIXUP P | 
| 00B7 | m(F7916004):    BL MOD9 [Texts] PROC22 | 
 |     IF S.class = Texts.Int THENn (*set clock*) | 
| 00B8 | n(80E00040):    LDR R0, SP, 40H | 
| 00B9 | n(40090003):    SUB R0, R0, 3H | 
| 00BA | n(E9000034):    BNE 52 [00EFH] | 
 |       day := S.i;o Texts.Scan(S)p;q mo := S.i;r Texts.Scan(S)s;t yr := S.i;u Texts.Scan(S)v;w | 
| 00BB | o(80E00044):    LDR R0, SP, 44H | 
| 00BC | o(A0E00090):    STR R0, SP, 90H | 
| 00BD | p(40E80004):    ADD R0, SP, 4H | 
| 00BE | p               .FIXUP D | 
| 00BE | p(8D900009):    LDR SB, MT, MOD9 [Texts] | 
| 00BF | p(41D80003):    ADD R1, SB, VAR3 | 
| 00C0 | q               .FIXUP P | 
| 00C0 | q(F7916009):    BL MOD9 [Texts] PROC22 | 
| 00C1 | r(80E00044):    LDR R0, SP, 44H | 
| 00C2 | r(A0E0008C):    STR R0, SP, 8CH | 
| 00C3 | s(40E80004):    ADD R0, SP, 4H | 
| 00C4 | s               .FIXUP D | 
| 00C4 | s(8D900006):    LDR SB, MT, MOD9 [Texts] | 
| 00C5 | s(41D80003):    ADD R1, SB, VAR3 | 
| 00C6 | t               .FIXUP P | 
| 00C6 | t(F7916006):    BL MOD9 [Texts] PROC22 | 
| 00C7 | u(80E00044):    LDR R0, SP, 44H | 
| 00C8 | u(A0E00088):    STR R0, SP, 88H | 
| 00C9 | v(40E80004):    ADD R0, SP, 4H | 
| 00CA | v               .FIXUP D | 
| 00CA | v(8D900006):    LDR SB, MT, MOD9 [Texts] | 
| 00CB | v(41D80003):    ADD R1, SB, VAR3 | 
| 00CC | w               .FIXUP P | 
| 00CC | w(F7916006):    BL MOD9 [Texts] PROC22 | 
 |       hr := S.i;x Texts.Scan(S)y;z min := S.i;a Texts.Scan(S)b;c sec := S.i;d | 
| 00CD | x(80E00044):    LDR R0, SP, 44H | 
| 00CE | x(A0E0007C):    STR R0, SP, 7CH | 
| 00CF | y(40E80004):    ADD R0, SP, 4H | 
| 00D0 | y               .FIXUP D | 
| 00D0 | y(8D900006):    LDR SB, MT, MOD9 [Texts] | 
| 00D1 | y(41D80003):    ADD R1, SB, VAR3 | 
| 00D2 | z               .FIXUP P | 
| 00D2 | z(F7916006):    BL MOD9 [Texts] PROC22 | 
| 00D3 | a(80E00044):    LDR R0, SP, 44H | 
| 00D4 | a(A0E00080):    STR R0, SP, 80H | 
| 00D5 | b(40E80004):    ADD R0, SP, 4H | 
| 00D6 | b               .FIXUP D | 
| 00D6 | b(8D900006):    LDR SB, MT, MOD9 [Texts] | 
| 00D7 | b(41D80003):    ADD R1, SB, VAR3 | 
| 00D8 | c               .FIXUP P | 
| 00D8 | c(F7916006):    BL MOD9 [Texts] PROC22 | 
| 00D9 | d(80E00044):    LDR R0, SP, 44H | 
| 00DA | d(A0E00084):    STR R0, SP, 84H | 
 |       dt := ((((yr*16 +e mo)f*32 +g day)h*32 +i hr)j*64 +k min)l*64 +m sec;n | 
| 00DB | e(80E00088):    LDR R0, SP, 88H | 
| 00DC | e(40010004):    LSL R0, R0, 4H | 
| 00DD | f(81E0008C):    LDR R1, SP, 8CH | 
| 00DE | f(00080001):    ADD R0, R0, R1 | 
| 00DF | g(40010005):    LSL R0, R0, 5H | 
| 00E0 | h(81E00090):    LDR R1, SP, 90H | 
| 00E1 | h(00080001):    ADD R0, R0, R1 | 
| 00E2 | i(40010005):    LSL R0, R0, 5H | 
| 00E3 | j(81E0007C):    LDR R1, SP, 7CH | 
| 00E4 | j(00080001):    ADD R0, R0, R1 | 
| 00E5 | k(40010006):    LSL R0, R0, 6H | 
| 00E6 | l(81E00080):    LDR R1, SP, 80H | 
| 00E7 | l(00080001):    ADD R0, R0, R1 | 
| 00E8 | m(40010006):    LSL R0, R0, 6H | 
| 00E9 | n(81E00084):    LDR R1, SP, 84H | 
| 00EA | n(00080001):    ADD R0, R0, R1 | 
| 00EB | n(A0E00078):    STR R0, SP, 78H | 
 |       Kernel.SetClock(dt)o | 
| 00EC | o(80E00078):    LDR R0, SP, 78H | 
 |     ELSEp (*read clock*) Textsq.WriteString(W,r "System.Clock")s;t | 
| 00ED | p               .FIXUP P | 
| 00ED | p(F7113015):    BL MOD1 [Kernel] PROC19 | 
| 00EE | q(E7000011):    B 17 [0100H] | 
| 00EF | r               .FIXUP D | 
| 00EF | r(8D000019):    LDR SB, MT, MOD0 [System] | 
| 00F0 | r(40D80000):    ADD R0, SB, 0H [data] | 
| 00F1 | r               .FIXUP D | 
| 00F1 | r(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 00F2 | r(41D80005):    ADD R1, SB, VAR5 | 
| 00F3 | s               .FIXUP D | 
| 00F3 | s(8D000002):    LDR SB, MT, MOD0 [System] | 
| 00F4 | s(42D800C4):    ADD R2, SB, C4H ["System.Clock"] | 
| 00F5 | s(4300000D):    MOV R3, R0, DH | 
| 00F6 | t               .FIXUP P | 
| 00F6 | t(F791D009):    BL MOD9 [Texts] PROC29 | 
 |       dt := Oberon.Clock();u Texts.WriteClock(W,v dt)w;x EndLine | 
| 00F7 | u               .FIXUP P | 
| 00F7 | u(F7A14001):    BL MOD10 [Oberon] PROC20 | 
| 00F8 | u(A0E00078):    STR R0, SP, 78H | 
| 00F9 | v               .FIXUP D | 
| 00F9 | v(8D000006):    LDR SB, MT, MOD0 [System] | 
| 00FA | v(40D80000):    ADD R0, SB, 0H [data] | 
| 00FB | v               .FIXUP D | 
| 00FB | v(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 00FC | v(41D80005):    ADD R1, SB, VAR5 | 
| 00FD | w(82E00078):    LDR R2, SP, 78H | 
| 00FE | x               .FIXUP P | 
| 00FE | x(F7922007):    BL MOD9 [Texts] PROC34 | 
 |     ENDy | 
| 00FF | y(F7FFFF2B):    BL -213 [002BH] | 
 |   ENDz Date; | 
| 0100 | z(8FE00000):    LDR LNK, SP, 0H | 
| 0101 | z(4EE80094):    ADD SP, SP, 94H | 
| 0102 | z(C700000F):    B LNK | 
 |  | 
 |   PROCEDURE Collect*; | 
 |   BEGINa Oberon.Collect(0)b | 
| 0103 | a               .PROC 6 | 
| 0103 | a               .COMMAND Collect | 
| 0103 | a(4EE90004):    SUB SP, SP, 4H | 
| 0104 | a(AFE00000):    STR LNK, SP, 0H | 
| 0105 | b(40000000):    MOV R0, R0, 0H | 
 |   ENDc Collect; | 
| 0106 | c               .FIXUP P | 
| 0106 | c(F7A2D008):    BL MOD10 [Oberon] PROC45 | 
| 0107 | c(8FE00000):    LDR LNK, SP, 0H | 
| 0108 | c(4EE80004):    ADD SP, SP, 4H | 
| 0109 | c(C700000F):    B LNK | 
 |  | 
 |   (* ------------- Toolbox for standard display ---------------*) | 
 |  | 
 |   PROCEDURE Open*;  (*open viewer in system track*) | 
 |     VAR X, Y: INTEGER; | 
 |       V: Viewers.Viewer; | 
 |       S: Texts.Scanner; | 
 |   BEGINd GetArg(S)e;f | 
| 010A | d               .PROC 7 | 
| 010A | d               .COMMAND Open | 
| 010A | d(4EE90084):    SUB SP, SP, 84H | 
| 010B | d(AFE00000):    STR LNK, SP, 0H | 
| 010C | e(40E80010):    ADD R0, SP, 10H | 
| 010D | e               .FIXUP D | 
| 010D | e(8D900012):    LDR SB, MT, MOD9 [Texts] | 
| 010E | e(41D80003):    ADD R1, SB, VAR3 | 
| 010F | f(F7FFFEF0):    BL -272 [0000H] | 
 |     IF S.class = Texts.Name THENg | 
| 0110 | g(80E0004C):    LDR R0, SP, 4CH | 
| 0111 | g(40090001):    SUB R0, R0, 1H | 
| 0112 | g(E900001E):    BNE 30 [0131H] | 
 |       Oberon.AllocateSystemViewer(Oberon.Par.vwr.hXi,j X,k Y)l;m | 
| 0113 | h               .FIXUP D | 
| 0113 | h(8DA00006):    LDR SB, MT, MOD10 [Oberon] | 
| 0114 | h(40D8000E):    ADD R0, SB, VAR14 | 
| 0115 | i(80000000):    LDR R0, R0, 0H | 
| 0116 | i(D10ABD4C):    BLEQ MT [trap=4, pos=2749] | 
| 0117 | j(80000008):    LDR R0, R0, 8H | 
| 0118 | k(41E80004):    ADD R1, SP, 4H | 
| 0119 | l(42E80008):    ADD R2, SP, 8H | 
| 011A | m               .FIXUP P | 
| 011A | m(F7A23014):    BL MOD10 [Oberon] PROC35 | 
 |       V := MenuViewers.New( | 
 |         TextFrames.NewMenu(S.s,n StandardMenu)o,p | 
| 011B | n(40E80064):    ADD R0, SP, 64H | 
| 011C | n(41000020):    MOV R1, R0, 20H | 
| 011D | o               .FIXUP D | 
| 011D | o(8D00000A):    LDR SB, MT, MOD0 [System] | 
| 011E | o(42D80048):    ADD R2, SB, 48H ["System.Close System.Copy System.Grow Edit.Search Edit.Store"] | 
| 011F | o(4300003C):    MOV R3, R0, 3CH | 
| 0120 | p               .FIXUP P | 
| 0120 | p(F7C2C006):    BL MOD12 [TextFrames] PROC44 | 
 |         TextFrames.NewText(TextFramesq.Text(S.s)r,s 0)t,u TextFrames.menuH,v X,w Y)x | 
| 0121 | q(4EE90004):    SUB SP, SP, 4H | 
| 0122 | q(A0E00000):    STR R0, SP, 0H | 
| 0123 | r(40E80068):    ADD R0, SP, 68H | 
| 0124 | r(41000020):    MOV R1, R0, 20H | 
| 0125 | s               .FIXUP P | 
| 0125 | s(F7C2B005):    BL MOD12 [TextFrames] PROC43 | 
| 0126 | t(41000000):    MOV R1, R0, 0H | 
| 0127 | u               .FIXUP P | 
| 0127 | u(F7C2D002):    BL MOD12 [TextFrames] PROC45 | 
| 0128 | u(01000000):    MOV R1, R0, R0 | 
| 0129 | u(80E00000):    LDR R0, SP, 0H | 
| 012A | u(4EE80004):    ADD SP, SP, 4H | 
| 012B | v               .FIXUP D | 
| 012B | v(8DC0000E):    LDR SB, MT, MOD12 [TextFrames] | 
| 012C | v(82D00005):    LDR R2, SB, VAR5 | 
| 012D | w(83E00004):    LDR R3, SP, 4H | 
| 012E | x(84E00008):    LDR R4, SP, 8H | 
 |     ENDy | 
| 012F | y               .FIXUP P | 
| 012F | y(F7B04008):    BL MOD11 [MenuViewers] PROC4 | 
| 0130 | y(A0E0000C):    STR R0, SP, CH | 
 |   ENDz Open; | 
| 0131 | z(8FE00000):    LDR LNK, SP, 0H | 
| 0132 | z(4EE80084):    ADD SP, SP, 84H | 
| 0133 | z(C700000F):    B LNK | 
 |  | 
 |   PROCEDURE Clear*;  (*clear Log*) | 
 |     VAR T: Texts.Text; F: Display.Frame; buf: Texts.Buffer; | 
 |   BEGINa F := Oberon.Par.frame;b | 
| 0134 | a               .PROC 8 | 
| 0134 | a               .COMMAND Clear | 
| 0134 | a(4EE90010):    SUB SP, SP, 10H | 
| 0135 | a(AFE00000):    STR LNK, SP, 0H | 
| 0136 | b               .FIXUP D | 
| 0136 | b(8DA0000B):    LDR SB, MT, MOD10 [Oberon] | 
| 0137 | b(40D8000E):    ADD R0, SB, VAR14 | 
| 0138 | b(80000004):    LDR R0, R0, 4H | 
| 0139 | b(A0E00008):    STR R0, SP, 8H | 
 |     IF (F # NIL)c & (dF.nexte IS TextFrames.Frame)f & (gF = Oberon.Par.vwr.hdsci)j THENk | 
| 013A | c(80E00008):    LDR R0, SP, 8H | 
| 013B | d(E100002B):    BEQ 43 [0167H] | 
| 013C | e(80E00008):    LDR R0, SP, 8H | 
| 013D | e(D10C0B4C):    BLEQ MT [trap=4, pos=3083] | 
| 013E | f(80000000):    LDR R0, R0, 0H | 
| 013F | f(E1000005):    BEQ 5 [0145H] | 
| 0140 | f(810FFFF8):    LDR R1, R0, FFFFFFF8H | 
| 0141 | f(81100004):    LDR R1, R1, 4H | 
| 0142 | f               .FIXUP D | 
| 0142 | f(8DC0000C):    LDR SB, MT, MOD12 [TextFrames] | 
| 0143 | f(42D80002):    ADD R2, SB, VAR2 | 
| 0144 | f(02290001):    SUB R2, R2, R1 | 
| 0145 | g(E9000021):    BNE 33 [0167H] | 
| 0146 | h               .FIXUP D | 
| 0146 | h(8DA00004):    LDR SB, MT, MOD10 [Oberon] | 
| 0147 | h(40D8000E):    ADD R0, SB, VAR14 | 
| 0148 | i(80000000):    LDR R0, R0, 0H | 
| 0149 | i(D10C3A4C):    BLEQ MT [trap=4, pos=3130] | 
| 014A | j(81E00008):    LDR R1, SP, 8H | 
| 014B | j(80000004):    LDR R0, R0, 4H | 
| 014C | j(01190000):    SUB R1, R1, R0 | 
| 014D | k(E9000019):    BNE 25 [0167H] | 
 |       NEW(buf);l Texts.OpenBuf(buf)m;n T := F.nexto(TextFrames.Frame)p.text;q Texts.Delete(T,r 0,s T.lent,u buf)v | 
| 014E | l(40E8000C):    ADD R0, SP, CH | 
| 014F | l               .FIXUP D | 
| 014F | l(8D900009):    LDR SB, MT, MOD9 [Texts] | 
| 0150 | l(41D80004):    ADD R1, SB, VAR4 | 
| 0151 | l(D70C500C):    BL MT [trap=0, pos=3152] | 
| 0152 | m(80E0000C):    LDR R0, SP, CH | 
| 0153 | n               .FIXUP P | 
| 0153 | n(F790A024):    BL MOD9 [Texts] PROC10 | 
| 0154 | o(80E00008):    LDR R0, SP, 8H | 
| 0155 | o(D10C704C):    BLEQ MT [trap=4, pos=3184] | 
| 0156 | p(80000000):    LDR R0, R0, 0H | 
| 0157 | p(E1000005):    BEQ 5 [015DH] | 
| 0158 | p(810FFFF8):    LDR R1, R0, FFFFFFF8H | 
| 0159 | p(81100004):    LDR R1, R1, 4H | 
| 015A | p               .FIXUP D | 
| 015A | p(8DC0000B):    LDR SB, MT, MOD12 [TextFrames] | 
| 015B | p(42D80002):    ADD R2, SB, VAR2 | 
| 015C | p(02290001):    SUB R2, R2, R1 | 
| 015D | p(D90C822C):    BLNE MT [trap=2, pos=3202] | 
| 015E | q(8000001C):    LDR R0, R0, 1CH | 
| 015F | q(A0E00004):    STR R0, SP, 4H | 
| 0160 | r(80E00004):    LDR R0, SP, 4H | 
| 0161 | s(41000000):    MOV R1, R0, 0H | 
| 0162 | t(82E00004):    LDR R2, SP, 4H | 
| 0163 | t(D10CA14C):    BLEQ MT [trap=4, pos=3233] | 
| 0164 | u(82200000):    LDR R2, R2, 0H | 
| 0165 | v(83E0000C):    LDR R3, SP, CH | 
 |     ENDw | 
| 0166 | w               .FIXUP P | 
| 0166 | w(F790F013):    BL MOD9 [Texts] PROC15 | 
 |   ENDx Clear; | 
| 0167 | x(8FE00000):    LDR LNK, SP, 0H | 
| 0168 | x(4EE80010):    ADD SP, SP, 10H | 
| 0169 | x(C700000F):    B LNK | 
 |  | 
 |   PROCEDURE Close*; | 
 |     VAR V: Viewers.Viewer; | 
 |   BEGINy | 
| 016A | y               .PROC 9 | 
| 016A | y               .COMMAND Close | 
| 016A | y(4EE90008):    SUB SP, SP, 8H | 
| 016B | y(AFE00000):    STR LNK, SP, 0H | 
 |     IF Oberon.Par.frame =z Oberon.Par.vwr.adscb THENc V := Oberon.Par.vwr | 
| 016C | z               .FIXUP D | 
| 016C | z(8DA00012):    LDR SB, MT, MOD10 [Oberon] | 
| 016D | z(40D8000E):    ADD R0, SB, VAR14 | 
| 016E | a               .FIXUP D | 
| 016E | a(8DA00002):    LDR SB, MT, MOD10 [Oberon] | 
| 016F | a(41D8000E):    ADD R1, SB, VAR14 | 
| 0170 | b(81100000):    LDR R1, R1, 0H | 
| 0171 | b(D10D214C):    BLEQ MT [trap=4, pos=3361] | 
| 0172 | c(80000004):    LDR R0, R0, 4H | 
| 0173 | c(81100004):    LDR R1, R1, 4H | 
| 0174 | c(00090001):    SUB R0, R0, R1 | 
| 0175 | c(E9000005):    BNE 5 [017BH] | 
 |     ELSEd Ve := Oberon.MarkedViewer() | 
| 0176 | d               .FIXUP D | 
| 0176 | d(8DA00008):    LDR SB, MT, MOD10 [Oberon] | 
| 0177 | d(40D8000E):    ADD R0, SB, VAR14 | 
| 0178 | d(80000000):    LDR R0, R0, 0H | 
| 0179 | d(A0E00004):    STR R0, SP, 4H | 
| 017A | e(E7000002):    B 2 [017DH] | 
 |     ENDf; | 
| 017B | f               .FIXUP P | 
| 017B | f(F7A24015):    BL MOD10 [Oberon] PROC36 | 
| 017C | f(A0E00004):    STR R0, SP, 4H | 
 |     Viewers.Close(V)g | 
| 017D | g(80E00004):    LDR R0, SP, 4H | 
 |   ENDh Close; | 
| 017E | h               .FIXUP P | 
| 017E | h(F7707003):    BL MOD7 [Viewers] PROC7 | 
| 017F | h(8FE00000):    LDR LNK, SP, 0H | 
| 0180 | h(4EE80008):    ADD SP, SP, 8H | 
| 0181 | h(C700000F):    B LNK | 
 |  | 
 |   PROCEDURE CloseTrack*; | 
 |     VAR V: Viewers.Viewer; | 
 |   BEGINi V := Oberon.MarkedViewer();j Viewers.CloseTrack(V.Xk)l | 
| 0182 | i               .PROC 10 | 
| 0182 | i               .COMMAND CloseTrack | 
| 0182 | i(4EE90008):    SUB SP, SP, 8H | 
| 0183 | i(AFE00000):    STR LNK, SP, 0H | 
| 0184 | j               .FIXUP P | 
| 0184 | j(F7A24006):    BL MOD10 [Oberon] PROC36 | 
| 0185 | j(A0E00004):    STR R0, SP, 4H | 
| 0186 | k(80E00004):    LDR R0, SP, 4H | 
| 0187 | k(D10DF94C):    BLEQ MT [trap=4, pos=3577] | 
| 0188 | l(80000008):    LDR R0, R0, 8H | 
 |   ENDm CloseTrack; | 
| 0189 | m               .FIXUP P | 
| 0189 | m(F770E005):    BL MOD7 [Viewers] PROC14 | 
| 018A | m(8FE00000):    LDR LNK, SP, 0H | 
| 018B | m(4EE80008):    ADD SP, SP, 8H | 
| 018C | m(C700000F):    B LNK | 
 |  | 
 |   PROCEDURE Recall*; | 
 |     VAR V: Viewers.Viewer; M: Viewers.ViewerMsg; | 
 |   BEGINn Viewers.Recall(V)o;p | 
| 018D | n               .PROC 11 | 
| 018D | n               .COMMAND Recall | 
| 018D | n(4EE90020):    SUB SP, SP, 20H | 
| 018E | n(AFE00000):    STR LNK, SP, 0H | 
| 018F | o(40E80004):    ADD R0, SP, 4H | 
| 0190 | p               .FIXUP P | 
| 0190 | p(F7708007):    BL MOD7 [Viewers] PROC8 | 
 |     IF (V#NIL)q & (rV.states = 0)t THENu | 
| 0191 | q(80E00004):    LDR R0, SP, 4H | 
| 0192 | r(E100001F):    BEQ 31 [01B2H] | 
| 0193 | s(80E00004):    LDR R0, SP, 4H | 
| 0194 | s(D10E884C):    BLEQ MT [trap=4, pos=3720] | 
| 0195 | t(8000001C):    LDR R0, R0, 1CH | 
| 0196 | u(E900001B):    BNE 27 [01B2H] | 
 |       Viewers.Open(V,v V.Xw,x V.Yy + V.Hz)a;b M.id := Viewers.restore;c V.handled(Ve,f M)g | 
| 0197 | v(80E00004):    LDR R0, SP, 4H | 
| 0198 | w(81E00004):    LDR R1, SP, 4H | 
| 0199 | w(D10EAC4C):    BLEQ MT [trap=4, pos=3756] | 
| 019A | x(81100008):    LDR R1, R1, 8H | 
| 019B | y(82E00004):    LDR R2, SP, 4H | 
| 019C | y(D10EB14C):    BLEQ MT [trap=4, pos=3761] | 
| 019D | z(83E00004):    LDR R3, SP, 4H | 
| 019E | z(D10EB74C):    BLEQ MT [trap=4, pos=3767] | 
| 019F | a(8220000C):    LDR R2, R2, CH | 
| 01A0 | a(83300014):    LDR R3, R3, 14H | 
| 01A1 | a(02280003):    ADD R2, R2, R3 | 
| 01A2 | b               .FIXUP P | 
| 01A2 | b(F7705012):    BL MOD7 [Viewers] PROC5 | 
| 01A3 | c(40000000):    MOV R0, R0, 0H | 
| 01A4 | c(A0E00008):    STR R0, SP, 8H | 
| 01A5 | d(80E00004):    LDR R0, SP, 4H | 
| 01A6 | d(D10EDB4C):    BLEQ MT [trap=4, pos=3803] | 
| 01A7 | e(80000018):    LDR R0, R0, 18H | 
| 01A8 | e(4EE90004):    SUB SP, SP, 4H | 
| 01A9 | e(A0E00000):    STR R0, SP, 0H | 
| 01AA | f(80E00008):    LDR R0, SP, 8H | 
| 01AB | g(41E8000C):    ADD R1, SP, CH | 
| 01AC | g               .FIXUP D | 
| 01AC | g(8D700036):    LDR SB, MT, MOD7 [Viewers] | 
| 01AD | g(42D80002):    ADD R2, SB, VAR2 | 
 |     ENDh | 
| 01AE | h(83E00000):    LDR R3, SP, 0H | 
| 01AF | h(4EE80004):    ADD SP, SP, 4H | 
| 01B0 | h(D10EE95C):    BLEQ MT [trap=5, pos=3817] | 
| 01B1 | h(D7000003):    BL R3 | 
 |   ENDi Recall; | 
| 01B2 | i(8FE00000):    LDR LNK, SP, 0H | 
| 01B3 | i(4EE80020):    ADD SP, SP, 20H | 
| 01B4 | i(C700000F):    B LNK | 
 |  | 
 |   PROCEDURE Copy*; | 
 |     VAR V, V1: Viewers.Viewer; M: Oberon.CopyMsg; N: Viewers.ViewerMsg; | 
 |   BEGINj V := Oberon.Par.vwr;k V.handlel(Vm,n M)o;p V1 := M.F(Viewers.Viewer)q;r | 
| 01B5 | j               .PROC 12 | 
| 01B5 | j               .COMMAND Copy | 
| 01B5 | j(4EE90028):    SUB SP, SP, 28H | 
| 01B6 | j(AFE00000):    STR LNK, SP, 0H | 
| 01B7 | k               .FIXUP D | 
| 01B7 | k(8DA0000B):    LDR SB, MT, MOD10 [Oberon] | 
| 01B8 | k(40D8000E):    ADD R0, SB, VAR14 | 
| 01B9 | k(80000000):    LDR R0, R0, 0H | 
| 01BA | k(A0E00004):    STR R0, SP, 4H | 
| 01BB | l(80E00004):    LDR R0, SP, 4H | 
| 01BC | l(D10F794C):    BLEQ MT [trap=4, pos=3961] | 
| 01BD | m(80000018):    LDR R0, R0, 18H | 
| 01BE | m(4EE90004):    SUB SP, SP, 4H | 
| 01BF | m(A0E00000):    STR R0, SP, 0H | 
| 01C0 | n(80E00008):    LDR R0, SP, 8H | 
| 01C1 | o(41E80010):    ADD R1, SP, 10H | 
| 01C2 | o               .FIXUP D | 
| 01C2 | o(8DA0000B):    LDR SB, MT, MOD10 [Oberon] | 
| 01C3 | o(42D80006):    ADD R2, SB, VAR6 | 
| 01C4 | p(83E00000):    LDR R3, SP, 0H | 
| 01C5 | p(4EE80004):    ADD SP, SP, 4H | 
| 01C6 | p(D10F805C):    BLEQ MT [trap=5, pos=3968] | 
| 01C7 | p(D7000003):    BL R3 | 
| 01C8 | q(80E0000C):    LDR R0, SP, CH | 
| 01C9 | q(E1000005):    BEQ 5 [01CFH] | 
| 01CA | q(810FFFF8):    LDR R1, R0, FFFFFFF8H | 
| 01CB | q(81100004):    LDR R1, R1, 4H | 
| 01CC | q               .FIXUP D | 
| 01CC | q(8D70000A):    LDR SB, MT, MOD7 [Viewers] | 
| 01CD | q(42D80001):    ADD R2, SB, VAR1 | 
| 01CE | q(02290001):    SUB R2, R2, R1 | 
| 01CF | q(D90F9A2C):    BLNE MT [trap=2, pos=3994] | 
| 01D0 | r(A0E00008):    STR R0, SP, 8H | 
 |     Viewers.Open(V1,s V.Xt,u V.Yv + V.Hw DIV 2)x;y | 
| 01D1 | s(80E00008):    LDR R0, SP, 8H | 
| 01D2 | t(81E00004):    LDR R1, SP, 4H | 
| 01D3 | t(D10FB44C):    BLEQ MT [trap=4, pos=4020] | 
| 01D4 | u(81100008):    LDR R1, R1, 8H | 
| 01D5 | v(82E00004):    LDR R2, SP, 4H | 
| 01D6 | v(D10FB94C):    BLEQ MT [trap=4, pos=4025] | 
| 01D7 | w(83E00004):    LDR R3, SP, 4H | 
| 01D8 | w(D10FBF4C):    BLEQ MT [trap=4, pos=4031] | 
| 01D9 | x(83300014):    LDR R3, R3, 14H | 
| 01DA | x(43320001):    ASR R3, R3, 1H | 
| 01DB | x(8220000C):    LDR R2, R2, CH | 
| 01DC | x(02280003):    ADD R2, R2, R3 | 
| 01DD | y               .FIXUP P | 
| 01DD | y(F770503B):    BL MOD7 [Viewers] PROC5 | 
 |     N.id := Viewers.restore;z V1.handlea(V1b,c N)d | 
| 01DE | z(40000000):    MOV R0, R0, 0H | 
| 01DF | z(A0E00010):    STR R0, SP, 10H | 
| 01E0 | a(80E00008):    LDR R0, SP, 8H | 
| 01E1 | a(D10FEE4C):    BLEQ MT [trap=4, pos=4078] | 
| 01E2 | b(80000018):    LDR R0, R0, 18H | 
| 01E3 | b(4EE90004):    SUB SP, SP, 4H | 
| 01E4 | b(A0E00000):    STR R0, SP, 0H | 
| 01E5 | c(80E0000C):    LDR R0, SP, CH | 
| 01E6 | d(41E80014):    ADD R1, SP, 14H | 
| 01E7 | d               .FIXUP D | 
| 01E7 | d(8D70001B):    LDR SB, MT, MOD7 [Viewers] | 
| 01E8 | d(42D80002):    ADD R2, SB, VAR2 | 
 |   ENDe Copy; | 
| 01E9 | e(83E00000):    LDR R3, SP, 0H | 
| 01EA | e(4EE80004):    ADD SP, SP, 4H | 
| 01EB | e(D10FFB5C):    BLEQ MT [trap=5, pos=4091] | 
| 01EC | e(D7000003):    BL R3 | 
| 01ED | e(8FE00000):    LDR LNK, SP, 0H | 
| 01EE | e(4EE80028):    ADD SP, SP, 28H | 
| 01EF | e(C700000F):    B LNK | 
 |  | 
 |   PROCEDURE Grow*; | 
 |     VAR V, V1: Viewers.Viewer; M: Oberon.CopyMsg; N: Viewers.ViewerMsg; | 
 |       DW, DH: INTEGER; | 
 |   BEGINf V := Oberon.Par.vwr;g | 
| 01F0 | f               .PROC 13 | 
| 01F0 | f               .COMMAND Grow | 
| 01F0 | f(4EE90030):    SUB SP, SP, 30H | 
| 01F1 | f(AFE00000):    STR LNK, SP, 0H | 
| 01F2 | g               .FIXUP D | 
| 01F2 | g(8DA0000B):    LDR SB, MT, MOD10 [Oberon] | 
| 01F3 | g(40D8000E):    ADD R0, SB, VAR14 | 
| 01F4 | g(80000000):    LDR R0, R0, 0H | 
| 01F5 | g(A0E00004):    STR R0, SP, 4H | 
 |     DW := Oberon.DisplayWidth(V.Xh)i;j DH := Oberon.DisplayHeight(V.Xk)l;m | 
| 01F6 | h(80E00004):    LDR R0, SP, 4H | 
| 01F7 | h(D110B34C):    BLEQ MT [trap=4, pos=4275] | 
| 01F8 | i(80000008):    LDR R0, R0, 8H | 
| 01F9 | j               .FIXUP P | 
| 01F9 | j(F7A1D01C):    BL MOD10 [Oberon] PROC29 | 
| 01FA | j(A0E00028):    STR R0, SP, 28H | 
| 01FB | k(80E00004):    LDR R0, SP, 4H | 
| 01FC | k(D110D44C):    BLEQ MT [trap=4, pos=4308] | 
| 01FD | l(80000008):    LDR R0, R0, 8H | 
| 01FE | m               .FIXUP P | 
| 01FE | m(F7A1E005):    BL MOD10 [Oberon] PROC30 | 
| 01FF | m(A0E0002C):    STR R0, SP, 2CH | 
 |     IF V.Hn < DH - Viewers.minH THENo Oberon.OpenTrack(V.Xp,q V.Wr)s | 
| 0200 | n(80E00004):    LDR R0, SP, 4H | 
| 0201 | n(D110E14C):    BLEQ MT [trap=4, pos=4321] | 
| 0202 | o(81E0002C):    LDR R1, SP, 2CH | 
| 0203 | o               .FIXUP D | 
| 0203 | o(8D700011):    LDR SB, MT, MOD7 [Viewers] | 
| 0204 | o(82D00004):    LDR R2, SB, VAR4 | 
| 0205 | o(01190002):    SUB R1, R1, R2 | 
| 0206 | o(80000014):    LDR R0, R0, 14H | 
| 0207 | o(00090001):    SUB R0, R0, R1 | 
| 0208 | o(ED000008):    BGE 8 [0211H] | 
| 0209 | p(80E00004):    LDR R0, SP, 4H | 
| 020A | p(D1110F4C):    BLEQ MT [trap=4, pos=4367] | 
| 020B | q(80000008):    LDR R0, R0, 8H | 
| 020C | r(81E00004):    LDR R1, SP, 4H | 
| 020D | r(D111144C):    BLEQ MT [trap=4, pos=4372] | 
| 020E | s(81100010):    LDR R1, R1, 10H | 
 |     ELSIFt Vu.Wv < DW THENw Oberon.OpenTrack(Oberon.UserTrack(V.Xx)y,z DW)a | 
| 020F | t               .FIXUP P | 
| 020F | t(F7A1F011):    BL MOD10 [Oberon] PROC31 | 
| 0210 | u(E700000C):    B 12 [021DH] | 
| 0211 | v(80E00004):    LDR R0, SP, 4H | 
| 0212 | v(D111234C):    BLEQ MT [trap=4, pos=4387] | 
| 0213 | w(80000010):    LDR R0, R0, 10H | 
| 0214 | w(81E00028):    LDR R1, SP, 28H | 
| 0215 | w(00090001):    SUB R0, R0, R1 | 
| 0216 | w(ED000006):    BGE 6 [021DH] | 
| 0217 | x(80E00004):    LDR R0, SP, 4H | 
| 0218 | x(D111534C):    BLEQ MT [trap=4, pos=4435] | 
| 0219 | y(80000008):    LDR R0, R0, 8H | 
| 021A | z               .FIXUP P | 
| 021A | z(F7A2000B):    BL MOD10 [Oberon] PROC32 | 
| 021B | a(81E00028):    LDR R1, SP, 28H | 
 |     ENDb; | 
| 021C | b               .FIXUP P | 
| 021C | b(F7A1F002):    BL MOD10 [Oberon] PROC31 | 
 |     IF (V.Hc < DH - Viewers.minH)d OR (eV.Wf < DW)g THENh | 
| 021D | c(80E00004):    LDR R0, SP, 4H | 
| 021E | c(D1116E4C):    BLEQ MT [trap=4, pos=4462] | 
| 021F | d(81E0002C):    LDR R1, SP, 2CH | 
| 0220 | d               .FIXUP D | 
| 0220 | d(8D70001D):    LDR SB, MT, MOD7 [Viewers] | 
| 0221 | d(82D00004):    LDR R2, SB, VAR4 | 
| 0222 | d(01190002):    SUB R1, R1, R2 | 
| 0223 | d(80000014):    LDR R0, R0, 14H | 
| 0224 | d(00090001):    SUB R0, R0, R1 | 
| 0225 | e(E5000006):    BLT 6 [022CH] | 
| 0226 | f(80E00004):    LDR R0, SP, 4H | 
| 0227 | f(D1118B4C):    BLEQ MT [trap=4, pos=4491] | 
| 0228 | g(80000010):    LDR R0, R0, 10H | 
| 0229 | g(81E00028):    LDR R1, SP, 28H | 
| 022A | g(00090001):    SUB R0, R0, R1 | 
| 022B | h(ED00002B):    BGE 43 [0257H] | 
 |       V.handlei(Vj,k M)l;m V1 := M.F(Viewers.Viewer)n;o | 
| 022C | i(80E00004):    LDR R0, SP, 4H | 
| 022D | i(D111A54C):    BLEQ MT [trap=4, pos=4517] | 
| 022E | j(80000018):    LDR R0, R0, 18H | 
| 022F | j(4EE90004):    SUB SP, SP, 4H | 
| 0230 | j(A0E00000):    STR R0, SP, 0H | 
| 0231 | k(80E00008):    LDR R0, SP, 8H | 
| 0232 | l(41E80010):    ADD R1, SP, 10H | 
| 0233 | l               .FIXUP D | 
| 0233 | l(8DA00013):    LDR SB, MT, MOD10 [Oberon] | 
| 0234 | l(42D80006):    ADD R2, SB, VAR6 | 
| 0235 | m(83E00000):    LDR R3, SP, 0H | 
| 0236 | m(4EE80004):    ADD SP, SP, 4H | 
| 0237 | m(D111AC5C):    BLEQ MT [trap=5, pos=4524] | 
| 0238 | m(D7000003):    BL R3 | 
| 0239 | n(80E0000C):    LDR R0, SP, CH | 
| 023A | n(E1000005):    BEQ 5 [0240H] | 
| 023B | n(810FFFF8):    LDR R1, R0, FFFFFFF8H | 
| 023C | n(81100004):    LDR R1, R1, 4H | 
| 023D | n               .FIXUP D | 
| 023D | n(8D70000A):    LDR SB, MT, MOD7 [Viewers] | 
| 023E | n(42D80001):    ADD R2, SB, VAR1 | 
| 023F | n(02290001):    SUB R2, R2, R1 | 
| 0240 | n(D911C62C):    BLNE MT [trap=2, pos=4550] | 
| 0241 | o(A0E00008):    STR R0, SP, 8H | 
 |       Viewers.Open(V1,p V.Xq,r DH)s;t; | 
| 0242 | p(80E00008):    LDR R0, SP, 8H | 
| 0243 | q(81E00004):    LDR R1, SP, 4H | 
| 0244 | q(D111E24C):    BLEQ MT [trap=4, pos=4578] | 
| 0245 | r(81100008):    LDR R1, R1, 8H | 
| 0246 | s(82E0002C):    LDR R2, SP, 2CH | 
| 0247 | t               .FIXUP P | 
| 0247 | t(F770502B):    BL MOD7 [Viewers] PROC5 | 
 |       N.id := Viewers.restore;u V1.handlev(V1w,x N)y | 
| 0248 | u(40000000):    MOV R0, R0, 0H | 
| 0249 | u(A0E00010):    STR R0, SP, 10H | 
| 024A | v(80E00008):    LDR R0, SP, 8H | 
| 024B | v(D112124C):    BLEQ MT [trap=4, pos=4626] | 
| 024C | w(80000018):    LDR R0, R0, 18H | 
| 024D | w(4EE90004):    SUB SP, SP, 4H | 
| 024E | w(A0E00000):    STR R0, SP, 0H | 
| 024F | x(80E0000C):    LDR R0, SP, CH | 
| 0250 | y(41E80014):    ADD R1, SP, 14H | 
| 0251 | y               .FIXUP D | 
| 0251 | y(8D700014):    LDR SB, MT, MOD7 [Viewers] | 
| 0252 | y(42D80002):    ADD R2, SB, VAR2 | 
 |     ENDz | 
| 0253 | z(83E00000):    LDR R3, SP, 0H | 
| 0254 | z(4EE80004):    ADD SP, SP, 4H | 
| 0255 | z(D112215C):    BLEQ MT [trap=5, pos=4641] | 
| 0256 | z(D7000003):    BL R3 | 
 |   ENDa Grow; | 
| 0257 | a(8FE00000):    LDR LNK, SP, 0H | 
| 0258 | a(4EE80030):    ADD SP, SP, 30H | 
| 0259 | a(C700000F):    B LNK | 
 |  | 
 |   (* ------------- Toolbox for module management ---------------*) | 
 |  | 
 |   PROCEDURE Free1(VAR S: Texts.Scanner); | 
 |   BEGINb Texts.WriteString(W,c S.s)d;e Texts.WriteString(W,f " unloading")g;h | 
| 025A | b(4EE9000C):    SUB SP, SP, CH | 
| 025B | b(AFE00000):    STR LNK, SP, 0H | 
| 025C | b(A0E00004):    STR R0, SP, 4H | 
| 025D | b(A1E00008):    STR R1, SP, 8H | 
| 025E | c               .FIXUP D | 
| 025E | c(8D00000D):    LDR SB, MT, MOD0 [System] | 
| 025F | c(40D80000):    ADD R0, SB, 0H [data] | 
| 0260 | c               .FIXUP D | 
| 0260 | c(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 0261 | c(41D80005):    ADD R1, SB, VAR5 | 
| 0262 | d(82E00004):    LDR R2, SP, 4H | 
| 0263 | d(42280054):    ADD R2, R2, 54H | 
| 0264 | d(43000020):    MOV R3, R0, 20H | 
| 0265 | e               .FIXUP P | 
| 0265 | e(F791D01E):    BL MOD9 [Texts] PROC29 | 
| 0266 | f               .FIXUP D | 
| 0266 | f(8D000006):    LDR SB, MT, MOD0 [System] | 
| 0267 | f(40D80000):    ADD R0, SB, 0H [data] | 
| 0268 | f               .FIXUP D | 
| 0268 | f(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 0269 | f(41D80005):    ADD R1, SB, VAR5 | 
| 026A | g               .FIXUP D | 
| 026A | g(8D000002):    LDR SB, MT, MOD0 [System] | 
| 026B | g(42D800D4):    ADD R2, SB, D4H [" unloading"] | 
| 026C | g(4300000B):    MOV R3, R0, BH | 
| 026D | h               .FIXUP P | 
| 026D | h(F791D008):    BL MOD9 [Texts] PROC29 | 
 |     Modules.Free(S.s)i;j | 
| 026E | i(80E00004):    LDR R0, SP, 4H | 
| 026F | i(40080054):    ADD R0, R0, 54H | 
| 0270 | i(41000020):    MOV R1, R0, 20H | 
| 0271 | j               .FIXUP P | 
| 0271 | j(F740A004):    BL MOD4 [Modules] PROC10 | 
 |     IF Modules.res # 0 THENk Texts.WriteString(W,l " failed")m ENDn; | 
| 0272 | k               .FIXUP D | 
| 0272 | k(8D400008):    LDR SB, MT, MOD4 [Modules] | 
| 0273 | k(80D00005):    LDR R0, SB, VAR5 | 
| 0274 | k(E1000008):    BEQ 8 [027DH] | 
| 0275 | l               .FIXUP D | 
| 0275 | l(8D000003):    LDR SB, MT, MOD0 [System] | 
| 0276 | l(40D80000):    ADD R0, SB, 0H [data] | 
| 0277 | l               .FIXUP D | 
| 0277 | l(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 0278 | l(41D80005):    ADD R1, SB, VAR5 | 
| 0279 | m               .FIXUP D | 
| 0279 | m(8D000002):    LDR SB, MT, MOD0 [System] | 
| 027A | m(42D800E0):    ADD R2, SB, E0H [" failed"] | 
| 027B | m(43000008):    MOV R3, R0, 8H | 
| 027C | n               .FIXUP P | 
| 027C | n(F791D00B):    BL MOD9 [Texts] PROC29 | 
 |     EndLine | 
 |   ENDo Free1; | 
| 027D | o(F7FFFDAD):    BL -595 [002BH] | 
| 027E | o(8FE00000):    LDR LNK, SP, 0H | 
| 027F | o(4EE8000C):    ADD SP, SP, CH | 
| 0280 | o(C700000F):    B LNK | 
 |  | 
 |   PROCEDURE Free*; | 
 |     VAR T: Texts.Text; | 
 |       beg, end, time: LONGINT; | 
 |       S: Texts.Scanner; | 
 |   BEGINp Texts.WriteString(W,q "System.Free")r;s EndLine;t | 
| 0281 | p               .PROC 14 | 
| 0281 | p               .COMMAND Free | 
| 0281 | p(4EE90088):    SUB SP, SP, 88H | 
| 0282 | p(AFE00000):    STR LNK, SP, 0H | 
| 0283 | q               .FIXUP D | 
| 0283 | q(8D00000A):    LDR SB, MT, MOD0 [System] | 
| 0284 | q(40D80000):    ADD R0, SB, 0H [data] | 
| 0285 | q               .FIXUP D | 
| 0285 | q(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 0286 | q(41D80005):    ADD R1, SB, VAR5 | 
| 0287 | r               .FIXUP D | 
| 0287 | r(8D000002):    LDR SB, MT, MOD0 [System] | 
| 0288 | r(42D800E8):    ADD R2, SB, E8H ["System.Free"] | 
| 0289 | r(4300000C):    MOV R3, R0, CH | 
| 028A | s               .FIXUP P | 
| 028A | s(F791D00E):    BL MOD9 [Texts] PROC29 | 
| 028B | t(F7FFFD9F):    BL -609 [002BH] | 
 |     Texts.OpenScanner(S,u Oberon.Par.text,v Oberon.Par.pos)w;x Texts.Scan(S)y;z | 
| 028C | u(40E80014):    ADD R0, SP, 14H | 
| 028D | u               .FIXUP D | 
| 028D | u(8D900006):    LDR SB, MT, MOD9 [Texts] | 
| 028E | u(41D80003):    ADD R1, SB, VAR3 | 
| 028F | v               .FIXUP D | 
| 028F | v(8DA00002):    LDR SB, MT, MOD10 [Oberon] | 
| 0290 | v(42D8000E):    ADD R2, SB, VAR14 | 
| 0291 | v(82200008):    LDR R2, R2, 8H | 
| 0292 | w               .FIXUP D | 
| 0292 | w(8DA00003):    LDR SB, MT, MOD10 [Oberon] | 
| 0293 | w(43D8000E):    ADD R3, SB, VAR14 | 
| 0294 | w(8330000C):    LDR R3, R3, CH | 
| 0295 | x               .FIXUP P | 
| 0295 | x(F791500B):    BL MOD9 [Texts] PROC21 | 
| 0296 | y(40E80014):    ADD R0, SP, 14H | 
| 0297 | y               .FIXUP D | 
| 0297 | y(8D900005):    LDR SB, MT, MOD9 [Texts] | 
| 0298 | y(41D80003):    ADD R1, SB, VAR3 | 
| 0299 | z               .FIXUP P | 
| 0299 | z(F7916004):    BL MOD9 [Texts] PROC22 | 
 |     IF (S.class = Texts.Char)a & (bS.c = "^")c THENd | 
| 029A | a(80E00050):    LDR R0, SP, 50H | 
| 029B | a(40090006):    SUB R0, R0, 6H | 
| 029C | b(E900001D):    BNE 29 [02BAH] | 
| 029D | c(90E00060):    LDR R0, SP, 60H | 
| 029E | c(4009005E):    SUB R0, R0, 5EH | 
| 029F | d(E900001A):    BNE 26 [02BAH] | 
 |       Oberon.GetSelection(T,e beg,f end,g time)h;i | 
| 02A0 | e(40E80004):    ADD R0, SP, 4H | 
| 02A1 | f(41E80008):    ADD R1, SP, 8H | 
| 02A2 | g(42E8000C):    ADD R2, SP, CH | 
| 02A3 | h(43E80010):    ADD R3, SP, 10H | 
| 02A4 | i               .FIXUP P | 
| 02A4 | i(F7A2900B):    BL MOD10 [Oberon] PROC41 | 
 |       IF time >= 0 THENj Texts.OpenScanner(S,k T,l beg)m;n Texts.Scan(S)o;p | 
| 02A5 | j(80E00010):    LDR R0, SP, 10H | 
| 02A6 | j(40090000):    SUB R0, R0, 0H | 
| 02A7 | j(E5000011):    BLT 17 [02B9H] | 
| 02A8 | k(40E80014):    ADD R0, SP, 14H | 
| 02A9 | k               .FIXUP D | 
| 02A9 | k(8D900012):    LDR SB, MT, MOD9 [Texts] | 
| 02AA | k(41D80003):    ADD R1, SB, VAR3 | 
| 02AB | l(82E00004):    LDR R2, SP, 4H | 
| 02AC | m(83E00008):    LDR R3, SP, 8H | 
| 02AD | n               .FIXUP P | 
| 02AD | n(F7915009):    BL MOD9 [Texts] PROC21 | 
| 02AE | o(40E80014):    ADD R0, SP, 14H | 
| 02AF | o               .FIXUP D | 
| 02AF | o(8D900006):    LDR SB, MT, MOD9 [Texts] | 
| 02B0 | o(41D80003):    ADD R1, SB, VAR3 | 
| 02B1 | p               .FIXUP P | 
| 02B1 | p(F7916004):    BL MOD9 [Texts] PROC22 | 
 |         IF S.class = Texts.Name THENq Free1(S)r ENDs | 
| 02B2 | q(80E00050):    LDR R0, SP, 50H | 
| 02B3 | q(40090001):    SUB R0, R0, 1H | 
| 02B4 | q(E9000004):    BNE 4 [02B9H] | 
| 02B5 | r(40E80014):    ADD R0, SP, 14H | 
| 02B6 | r               .FIXUP D | 
| 02B6 | r(8D900007):    LDR SB, MT, MOD9 [Texts] | 
| 02B7 | r(41D80003):    ADD R1, SB, VAR3 | 
| 02B8 | s(F7FFFFA1):    BL -95 [025AH] | 
 |       END | 
 |     ELSE | 
 |       WHILEt S.class = Texts.Name DOu Free1(S)v;w Texts.Scan(S)x ENDy | 
| 02B9 | t(E700000C):    B 12 [02C6H] | 
| 02BA | u(80E00050):    LDR R0, SP, 50H | 
| 02BB | u(40090001):    SUB R0, R0, 1H | 
| 02BC | u(E9000009):    BNE 9 [02C6H] | 
| 02BD | v(40E80014):    ADD R0, SP, 14H | 
| 02BE | v               .FIXUP D | 
| 02BE | v(8D900008):    LDR SB, MT, MOD9 [Texts] | 
| 02BF | v(41D80003):    ADD R1, SB, VAR3 | 
| 02C0 | w(F7FFFF99):    BL -103 [025AH] | 
| 02C1 | x(40E80014):    ADD R0, SP, 14H | 
| 02C2 | x               .FIXUP D | 
| 02C2 | x(8D900004):    LDR SB, MT, MOD9 [Texts] | 
| 02C3 | x(41D80003):    ADD R1, SB, VAR3 | 
| 02C4 | y               .FIXUP P | 
| 02C4 | y(F7916013):    BL MOD9 [Texts] PROC22 | 
| 02C5 | y(E7FFFFF4):    B -12 [02BAH] | 
 |     END ; | 
 |     Oberon.Collect(0)z | 
| 02C6 | z(40000000):    MOV R0, R0, 0H | 
 |   ENDa Free; | 
| 02C7 | a               .FIXUP P | 
| 02C7 | a(F7A2D003):    BL MOD10 [Oberon] PROC45 | 
| 02C8 | a(8FE00000):    LDR LNK, SP, 0H | 
| 02C9 | a(4EE80088):    ADD SP, SP, 88H | 
| 02CA | a(C700000F):    B LNK | 
 |  | 
 |   PROCEDURE FreeFonts*; | 
 |   BEGINb Texts.WriteString(W,c "System.FreeFonts")d;e Fonts.Free;f EndLine | 
| 02CB | b               .PROC 15 | 
| 02CB | b               .COMMAND FreeFonts | 
| 02CB | b(4EE90004):    SUB SP, SP, 4H | 
| 02CC | b(AFE00000):    STR LNK, SP, 0H | 
| 02CD | c               .FIXUP D | 
| 02CD | c(8D00000B):    LDR SB, MT, MOD0 [System] | 
| 02CE | c(40D80000):    ADD R0, SB, 0H [data] | 
| 02CF | c               .FIXUP D | 
| 02CF | c(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 02D0 | c(41D80005):    ADD R1, SB, VAR5 | 
| 02D1 | d               .FIXUP D | 
| 02D1 | d(8D000002):    LDR SB, MT, MOD0 [System] | 
| 02D2 | d(42D800F4):    ADD R2, SB, F4H ["System.FreeFonts"] | 
| 02D3 | d(43000011):    MOV R3, R0, 11H | 
| 02D4 | e               .FIXUP P | 
| 02D4 | e(F791D00D):    BL MOD9 [Texts] PROC29 | 
| 02D5 | f               .FIXUP P | 
| 02D5 | f(F7806001):    BL MOD8 [Fonts] PROC6 | 
 |   ENDg FreeFonts; | 
| 02D6 | g(F7FFFD54):    BL -684 [002BH] | 
| 02D7 | g(8FE00000):    LDR LNK, SP, 0H | 
| 02D8 | g(4EE80004):    ADD SP, SP, 4H | 
| 02D9 | g(C700000F):    B LNK | 
 |  | 
 |   (* ------------- Toolbox of file system ---------------*) | 
 |  | 
 |   PROCEDURE List(name: FileDir.FileName; adr: LONGINT; VAR cont: BOOLEAN); | 
 |     VAR i0, i, j0, j: INTEGER; hp: FileDir.FileHeader; | 
 |   BEGINh | 
| 02DA | h(4EE90420):    SUB SP, SP, 420H | 
| 02DB | h(AFE00000):    STR LNK, SP, 0H | 
| 02DC | h(A0E00004):    STR R0, SP, 4H | 
| 02DD | h(A1E00008):    STR R1, SP, 8H | 
| 02DE | h(A2E0000C):    STR R2, SP, CH | 
 |     i := 0;i | 
| 02DF | i(40000000):    MOV R0, R0, 0H | 
| 02E0 | i(A0E00014):    STR R0, SP, 14H | 
 |     WHILE (pat[i]j > "*")k & (lpat[i]m = name[i]n)o DOp INC(i) ENDq ; | 
| 02E1 | j(80E00014):    LDR R0, SP, 14H | 
| 02E2 | j(41090020):    SUB R1, R0, 20H | 
| 02E3 | j(DA16E01C):    BLCC MT [trap=1, pos=5856] | 
| 02E4 | j               .FIXUP D | 
| 02E4 | j(8D000013):    LDR SB, MT, MOD0 [System] | 
| 02E5 | j(00D80000):    ADD R0, SB, R0 [global array] | 
| 02E6 | k(90000028):    LDR R0, R0, 28H | 
| 02E7 | k(4009002A):    SUB R0, R0, 2AH | 
| 02E8 | l(E6000012):    BLE 18 [02FBH] | 
| 02E9 | m(80E00014):    LDR R0, SP, 14H | 
| 02EA | m(41090020):    SUB R1, R0, 20H | 
| 02EB | m(DA16F11C):    BLCC MT [trap=1, pos=5873] | 
| 02EC | m               .FIXUP D | 
| 02EC | m(8D000008):    LDR SB, MT, MOD0 [System] | 
| 02ED | m(00D80000):    ADD R0, SB, R0 [global array] | 
| 02EE | n(81E00014):    LDR R1, SP, 14H | 
| 02EF | n(42190020):    SUB R2, R1, 20H | 
| 02F0 | n(DA16FB1C):    BLCC MT [trap=1, pos=5883] | 
| 02F1 | n(82E00004):    LDR R2, SP, 4H | 
| 02F2 | n(01280001):    ADD R1, R2, R1 | 
| 02F3 | o(90000028):    LDR R0, R0, 28H | 
| 02F4 | o(91100000):    LDR R1, R1, 0H | 
| 02F5 | o(00090001):    SUB R0, R0, R1 | 
| 02F6 | p(E9000004):    BNE 4 [02FBH] | 
| 02F7 | q(80E00014):    LDR R0, SP, 14H | 
| 02F8 | q(40080001):    ADD R0, R0, 1H | 
| 02F9 | q(A0E00014):    STR R0, SP, 14H | 
| 02FA | q(E7FFFFE6):    B -26 [02E1H] | 
 |     IF (pat[i]r = 0X)s & (tname[i]u = 0X)v THENw i0 := i;x j0 := i | 
| 02FB | r(80E00014):    LDR R0, SP, 14H | 
| 02FC | r(41090020):    SUB R1, R0, 20H | 
| 02FD | r(DA171B1C):    BLCC MT [trap=1, pos=5915] | 
| 02FE | r               .FIXUP D | 
| 02FE | r(8D000012):    LDR SB, MT, MOD0 [System] | 
| 02FF | r(00D80000):    ADD R0, SB, R0 [global array] | 
| 0300 | s(90000028):    LDR R0, R0, 28H | 
| 0301 | t(E900000C):    BNE 12 [030EH] | 
| 0302 | u(80E00014):    LDR R0, SP, 14H | 
| 0303 | u(41090020):    SUB R1, R0, 20H | 
| 0304 | u(DA172C1C):    BLCC MT [trap=1, pos=5932] | 
| 0305 | u(81E00004):    LDR R1, SP, 4H | 
| 0306 | u(00180000):    ADD R0, R1, R0 | 
| 0307 | v(90000000):    LDR R0, R0, 0H | 
| 0308 | w(E9000005):    BNE 5 [030EH] | 
| 0309 | x(80E00014):    LDR R0, SP, 14H | 
| 030A | x(A0E00010):    STR R0, SP, 10H | 
 |     ELSIFy patz[i]a = "*" THENb | 
| 030B | y(80E00014):    LDR R0, SP, 14H | 
| 030C | y(A0E00018):    STR R0, SP, 18H | 
| 030D | z(E700005B):    B 91 [0369H] | 
| 030E | a(80E00014):    LDR R0, SP, 14H | 
| 030F | a(41090020):    SUB R1, R0, 20H | 
| 0310 | a(DA17591C):    BLCC MT [trap=1, pos=5977] | 
| 0311 | a               .FIXUP D | 
| 0311 | a(8D000013):    LDR SB, MT, MOD0 [System] | 
| 0312 | a(00D80000):    ADD R0, SB, R0 [global array] | 
| 0313 | b(90000028):    LDR R0, R0, 28H | 
| 0314 | b(4009002A):    SUB R0, R0, 2AH | 
| 0315 | b(E9000053):    BNE 83 [0369H] | 
 |       i0 := i;c j0 := i+1;d | 
| 0316 | c(80E00014):    LDR R0, SP, 14H | 
| 0317 | c(A0E00010):    STR R0, SP, 10H | 
| 0318 | d(80E00014):    LDR R0, SP, 14H | 
| 0319 | d(40080001):    ADD R0, R0, 1H | 
| 031A | d(A0E00018):    STR R0, SP, 18H | 
 |       WHILE name[i0]e # 0X DOf | 
| 031B | e(80E00010):    LDR R0, SP, 10H | 
| 031C | e(41090020):    SUB R1, R0, 20H | 
| 031D | e(DA17931C):    BLCC MT [trap=1, pos=6035] | 
| 031E | e(81E00004):    LDR R1, SP, 4H | 
| 031F | e(00180000):    ADD R0, R1, R0 | 
| 0320 | f(90000000):    LDR R0, R0, 0H | 
| 0321 | f(E1000047):    BEQ 71 [0369H] | 
 |         i := i0;g j := j0;h | 
| 0322 | g(80E00010):    LDR R0, SP, 10H | 
| 0323 | g(A0E00014):    STR R0, SP, 14H | 
| 0324 | h(80E00018):    LDR R0, SP, 18H | 
| 0325 | h(A0E0001C):    STR R0, SP, 1CH | 
 |         WHILE (name[i]i # 0X)j & (kname[i]l = pat[j]m)n DOo INC(i);p INC(j) ENDq ; | 
| 0326 | i(80E00014):    LDR R0, SP, 14H | 
| 0327 | i(41090020):    SUB R1, R0, 20H | 
| 0328 | i(DA17CC1C):    BLCC MT [trap=1, pos=6092] | 
| 0329 | i(81E00004):    LDR R1, SP, 4H | 
| 032A | i(00180000):    ADD R0, R1, R0 | 
| 032B | j(90000000):    LDR R0, R0, 0H | 
| 032C | k(E1000015):    BEQ 21 [0342H] | 
| 032D | l(80E00014):    LDR R0, SP, 14H | 
| 032E | l(41090020):    SUB R1, R0, 20H | 
| 032F | l(DA17DD1C):    BLCC MT [trap=1, pos=6109] | 
| 0330 | l(81E00004):    LDR R1, SP, 4H | 
| 0331 | l(00180000):    ADD R0, R1, R0 | 
| 0332 | m(81E0001C):    LDR R1, SP, 1CH | 
| 0333 | m(42190020):    SUB R2, R1, 20H | 
| 0334 | m(DA17E61C):    BLCC MT [trap=1, pos=6118] | 
| 0335 | m               .FIXUP D | 
| 0335 | m(8D000024):    LDR SB, MT, MOD0 [System] | 
| 0336 | m(01D80001):    ADD R1, SB, R1 [global array] | 
| 0337 | n(90000000):    LDR R0, R0, 0H | 
| 0338 | n(91100028):    LDR R1, R1, 28H | 
| 0339 | n(00090001):    SUB R0, R0, R1 | 
| 033A | o(E9000007):    BNE 7 [0342H] | 
| 033B | p(80E00014):    LDR R0, SP, 14H | 
| 033C | p(40080001):    ADD R0, R0, 1H | 
| 033D | p(A0E00014):    STR R0, SP, 14H | 
| 033E | q(80E0001C):    LDR R0, SP, 1CH | 
| 033F | q(40080001):    ADD R0, R0, 1H | 
| 0340 | q(A0E0001C):    STR R0, SP, 1CH | 
| 0341 | q(E7FFFFE4):    B -28 [0326H] | 
 |         IF pat[j]r = 0X THENs | 
| 0342 | r(80E0001C):    LDR R0, SP, 1CH | 
| 0343 | r(41090020):    SUB R1, R0, 20H | 
| 0344 | r(DA18111C):    BLCC MT [trap=1, pos=6161] | 
| 0345 | r               .FIXUP D | 
| 0345 | r(8D000010):    LDR SB, MT, MOD0 [System] | 
| 0346 | r(00D80000):    ADD R0, SB, R0 [global array] | 
| 0347 | s(90000028):    LDR R0, R0, 28H | 
| 0348 | s(E900000E):    BNE 14 [0357H] | 
 |           IF name[i]t = 0X THENu (*match*) j0 := j ELSEv INCw(i0) ENDx | 
| 0349 | t(80E00014):    LDR R0, SP, 14H | 
| 034A | t(41090020):    SUB R1, R0, 20H | 
| 034B | t(DA18301C):    BLCC MT [trap=1, pos=6192] | 
| 034C | t(81E00004):    LDR R1, SP, 4H | 
| 034D | t(00180000):    ADD R0, R1, R0 | 
| 034E | u(90000000):    LDR R0, R0, 0H | 
| 034F | u(E9000003):    BNE 3 [0353H] | 
| 0350 | v(80E0001C):    LDR R0, SP, 1CH | 
| 0351 | v(A0E00018):    STR R0, SP, 18H | 
| 0352 | w(E7000003):    B 3 [0356H] | 
| 0353 | x(80E00010):    LDR R0, SP, 10H | 
| 0354 | x(40080001):    ADD R0, R0, 1H | 
| 0355 | x(A0E00010):    STR R0, SP, 10H | 
 |         ELSIF paty[j]z = "*" THENa i0 := i;b j0 := j+1 | 
| 0356 | y(E7000011):    B 17 [0368H] | 
| 0357 | z(80E0001C):    LDR R0, SP, 1CH | 
| 0358 | z(41090020):    SUB R1, R0, 20H | 
| 0359 | z(DA18721C):    BLCC MT [trap=1, pos=6258] | 
| 035A | z               .FIXUP D | 
| 035A | z(8D000015):    LDR SB, MT, MOD0 [System] | 
| 035B | z(00D80000):    ADD R0, SB, R0 [global array] | 
| 035C | a(90000028):    LDR R0, R0, 28H | 
| 035D | a(4009002A):    SUB R0, R0, 2AH | 
| 035E | a(E9000006):    BNE 6 [0365H] | 
| 035F | b(80E00014):    LDR R0, SP, 14H | 
| 0360 | b(A0E00010):    STR R0, SP, 10H | 
 |         ELSEc INCd(i0) | 
| 0361 | c(80E0001C):    LDR R0, SP, 1CH | 
| 0362 | c(40080001):    ADD R0, R0, 1H | 
| 0363 | c(A0E00018):    STR R0, SP, 18H | 
| 0364 | d(E7000003):    B 3 [0368H] | 
 |         ENDe | 
| 0365 | e(80E00010):    LDR R0, SP, 10H | 
| 0366 | e(40080001):    ADD R0, R0, 1H | 
| 0367 | e(A0E00010):    STR R0, SP, 10H | 
 |       ENDf | 
| 0368 | f(E7FFFFB2):    B -78 [031BH] | 
 |     END ; | 
 |     IF (name[i0]g = 0X)h & (ipat[j0]j = 0X)k THENl (*found*) | 
| 0369 | g(80E00010):    LDR R0, SP, 10H | 
| 036A | g(41090020):    SUB R1, R0, 20H | 
| 036B | g(DA18D61C):    BLCC MT [trap=1, pos=6358] | 
| 036C | g(81E00004):    LDR R1, SP, 4H | 
| 036D | g(00180000):    ADD R0, R1, R0 | 
| 036E | h(90000000):    LDR R0, R0, 0H | 
| 036F | i(E9000036):    BNE 54 [03A6H] | 
| 0370 | j(80E00018):    LDR R0, SP, 18H | 
| 0371 | j(41090020):    SUB R1, R0, 20H | 
| 0372 | j(DA18E71C):    BLCC MT [trap=1, pos=6375] | 
| 0373 | j               .FIXUP D | 
| 0373 | j(8D000019):    LDR SB, MT, MOD0 [System] | 
| 0374 | j(00D80000):    ADD R0, SB, R0 [global array] | 
| 0375 | k(90000028):    LDR R0, R0, 28H | 
| 0376 | l(E900002F):    BNE 47 [03A6H] | 
 |       Texts.WriteString(W,m name)n;o | 
| 0377 | m               .FIXUP D | 
| 0377 | m(8D000004):    LDR SB, MT, MOD0 [System] | 
| 0378 | m(40D80000):    ADD R0, SB, 0H [data] | 
| 0379 | m               .FIXUP D | 
| 0379 | m(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 037A | m(41D80005):    ADD R1, SB, VAR5 | 
| 037B | n(82E00004):    LDR R2, SP, 4H | 
| 037C | n(43000020):    MOV R3, R0, 20H | 
| 037D | o               .FIXUP P | 
| 037D | o(F791D0A8):    BL MOD9 [Texts] PROC29 | 
 |       IF pat[j0+1]p = "!" THENq (*option*) | 
| 037E | p(80E00018):    LDR R0, SP, 18H | 
| 037F | p(40080001):    ADD R0, R0, 1H | 
| 0380 | p(41090020):    SUB R1, R0, 20H | 
| 0381 | p(DA19311C):    BLCC MT [trap=1, pos=6449] | 
| 0382 | p               .FIXUP D | 
| 0382 | p(8D000009):    LDR SB, MT, MOD0 [System] | 
| 0383 | p(00D80000):    ADD R0, SB, R0 [global array] | 
| 0384 | q(90000028):    LDR R0, R0, 28H | 
| 0385 | q(40090021):    SUB R0, R0, 21H | 
| 0386 | q(E900001A):    BNE 26 [03A1H] | 
 |         Kernel.GetSector(adr,r hp)s;t | 
| 0387 | r(80E00008):    LDR R0, SP, 8H | 
| 0388 | s(41E80020):    ADD R1, SP, 20H | 
| 0389 | t               .FIXUP P | 
| 0389 | t(F710F00C):    BL MOD1 [Kernel] PROC15 | 
 |         Texts.Write(W,u 9X)v;w Texts.WriteClock(W,x hp.date)y;z | 
| 038A | u               .FIXUP D | 
| 038A | u(8D000008):    LDR SB, MT, MOD0 [System] | 
| 038B | u(40D80000):    ADD R0, SB, 0H [data] | 
| 038C | u               .FIXUP D | 
| 038C | u(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 038D | u(41D80005):    ADD R1, SB, VAR5 | 
| 038E | v(42000009):    MOV R2, R0, 9H | 
| 038F | w               .FIXUP P | 
| 038F | w(F791B006):    BL MOD9 [Texts] PROC27 | 
| 0390 | x               .FIXUP D | 
| 0390 | x(8D000004):    LDR SB, MT, MOD0 [System] | 
| 0391 | x(40D80000):    ADD R0, SB, 0H [data] | 
| 0392 | x               .FIXUP D | 
| 0392 | x(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 0393 | x(41D80005):    ADD R1, SB, VAR5 | 
| 0394 | y(82E0004C):    LDR R2, SP, 4CH | 
| 0395 | z               .FIXUP P | 
| 0395 | z(F7922006):    BL MOD9 [Texts] PROC34 | 
 |         Texts.WriteInt(W,a hp.aleng*FileDir.SectorSize +b hp.bleng -c FileDir.HeaderSize,d 8)e;f (*length*) | 
| 0396 | a               .FIXUP D | 
| 0396 | a(8D000004):    LDR SB, MT, MOD0 [System] | 
| 0397 | a(40D80000):    ADD R0, SB, 0H [data] | 
| 0398 | a               .FIXUP D | 
| 0398 | a(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 0399 | a(41D80005):    ADD R1, SB, VAR5 | 
| 039A | b(82E00044):    LDR R2, SP, 44H | 
| 039B | b(4221000A):    LSL R2, R2, AH | 
| 039C | c(83E00048):    LDR R3, SP, 48H | 
| 039D | c(02280003):    ADD R2, R2, R3 | 
| 039E | d(42290160):    SUB R2, R2, 160H | 
| 039F | e(43000008):    MOV R3, R0, 8H | 
| 03A0 | f               .FIXUP P | 
| 03A0 | f(F791E00B):    BL MOD9 [Texts] PROC30 | 
 |         (*Texts.WriteHex(W, adr)*) | 
 |       END ; | 
 |       Texts.WriteLn(W)g | 
| 03A1 | g               .FIXUP D | 
| 03A1 | g(8D000009):    LDR SB, MT, MOD0 [System] | 
| 03A2 | g(40D80000):    ADD R0, SB, 0H [data] | 
| 03A3 | g               .FIXUP D | 
| 03A3 | g(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 03A4 | g(41D80005):    ADD R1, SB, VAR5 | 
 |     ENDh | 
| 03A5 | h               .FIXUP P | 
| 03A5 | h(F791C005):    BL MOD9 [Texts] PROC28 | 
 |   ENDi List; | 
| 03A6 | i(8FE00000):    LDR LNK, SP, 0H | 
| 03A7 | i(4EE80420):    ADD SP, SP, 420H | 
| 03A8 | i(C700000F):    B LNK | 
 |  | 
 |   PROCEDURE Directory*; | 
 |     VAR X, Y, i: INTEGER; ch: CHAR; | 
 |       R: Texts.Reader; | 
 |       T, t: Texts.Text; | 
 |       V: Viewers.Viewer; | 
 |       beg, end, time: LONGINT; | 
 |       pre: ARRAY 32 OF CHAR; | 
 |   BEGINj Texts.OpenReader(R,k Oberon.Par.text,l Oberon.Par.pos)m;n Texts.Read(R,o ch)p;q | 
| 03A9 | j               .PROC 16 | 
| 03A9 | j               .COMMAND Directory | 
| 03A9 | j(4EE90080):    SUB SP, SP, 80H | 
| 03AA | j(AFE00000):    STR LNK, SP, 0H | 
| 03AB | k(40E80014):    ADD R0, SP, 14H | 
| 03AC | k               .FIXUP D | 
| 03AC | k(8D900009):    LDR SB, MT, MOD9 [Texts] | 
| 03AD | k(41D80002):    ADD R1, SB, VAR2 | 
| 03AE | l               .FIXUP D | 
| 03AE | l(8DA00002):    LDR SB, MT, MOD10 [Oberon] | 
| 03AF | l(42D8000E):    ADD R2, SB, VAR14 | 
| 03B0 | l(82200008):    LDR R2, R2, 8H | 
| 03B1 | m               .FIXUP D | 
| 03B1 | m(8DA00003):    LDR SB, MT, MOD10 [Oberon] | 
| 03B2 | m(43D8000E):    ADD R3, SB, VAR14 | 
| 03B3 | m(8330000C):    LDR R3, R3, CH | 
| 03B4 | n               .FIXUP P | 
| 03B4 | n(F791200F):    BL MOD9 [Texts] PROC18 | 
| 03B5 | o(40E80014):    ADD R0, SP, 14H | 
| 03B6 | o               .FIXUP D | 
| 03B6 | o(8D900005):    LDR SB, MT, MOD9 [Texts] | 
| 03B7 | o(41D80002):    ADD R1, SB, VAR2 | 
| 03B8 | p(42E80010):    ADD R2, SP, 10H | 
| 03B9 | q               .FIXUP P | 
| 03B9 | q(F7913005):    BL MOD9 [Texts] PROC19 | 
 |     WHILE ch = " " DOr Texts.Read(R,s ch)t ENDu; | 
| 03BA | r(90E00010):    LDR R0, SP, 10H | 
| 03BB | r(40090020):    SUB R0, R0, 20H | 
| 03BC | r(E9000006):    BNE 6 [03C3H] | 
| 03BD | s(40E80014):    ADD R0, SP, 14H | 
| 03BE | s               .FIXUP D | 
| 03BE | s(8D900008):    LDR SB, MT, MOD9 [Texts] | 
| 03BF | s(41D80002):    ADD R1, SB, VAR2 | 
| 03C0 | t(42E80010):    ADD R2, SP, 10H | 
| 03C1 | u               .FIXUP P | 
| 03C1 | u(F7913008):    BL MOD9 [Texts] PROC19 | 
| 03C2 | u(E7FFFFF7):    B -9 [03BAH] | 
 |     IF (ch = "^")v OR (wch = 0DX)x THENy | 
| 03C3 | v(90E00010):    LDR R0, SP, 10H | 
| 03C4 | v(4009005E):    SUB R0, R0, 5EH | 
| 03C5 | w(E1000003):    BEQ 3 [03C9H] | 
| 03C6 | x(90E00010):    LDR R0, SP, 10H | 
| 03C7 | x(4009000D):    SUB R0, R0, DH | 
| 03C8 | y(E900001C):    BNE 28 [03E5H] | 
 |       Oberon.GetSelection(T,z beg,a end,b time)c;d | 
| 03C9 | z(40E80048):    ADD R0, SP, 48H | 
| 03CA | a(41E80054):    ADD R1, SP, 54H | 
| 03CB | b(42E80058):    ADD R2, SP, 58H | 
| 03CC | c(43E8005C):    ADD R3, SP, 5CH | 
| 03CD | d               .FIXUP P | 
| 03CD | d(F7A2900C):    BL MOD10 [Oberon] PROC41 | 
 |       IF time >= 0 THENe | 
| 03CE | e(80E0005C):    LDR R0, SP, 5CH | 
| 03CF | e(40090000):    SUB R0, R0, 0H | 
| 03D0 | e(E5000014):    BLT 20 [03E5H] | 
 |         Texts.OpenReader(R,f T,g beg)h;i Texts.Read(R,j ch)k;l | 
| 03D1 | f(40E80014):    ADD R0, SP, 14H | 
| 03D2 | f               .FIXUP D | 
| 03D2 | f(8D900014):    LDR SB, MT, MOD9 [Texts] | 
| 03D3 | f(41D80002):    ADD R1, SB, VAR2 | 
| 03D4 | g(82E00048):    LDR R2, SP, 48H | 
| 03D5 | h(83E00054):    LDR R3, SP, 54H | 
| 03D6 | i               .FIXUP P | 
| 03D6 | i(F7912009):    BL MOD9 [Texts] PROC18 | 
| 03D7 | j(40E80014):    ADD R0, SP, 14H | 
| 03D8 | j               .FIXUP D | 
| 03D8 | j(8D900006):    LDR SB, MT, MOD9 [Texts] | 
| 03D9 | j(41D80002):    ADD R1, SB, VAR2 | 
| 03DA | k(42E80010):    ADD R2, SP, 10H | 
| 03DB | l               .FIXUP P | 
| 03DB | l(F7913005):    BL MOD9 [Texts] PROC19 | 
 |         WHILE ch <= " " DOm Texts.Read(R,n ch)o ENDp | 
| 03DC | m(90E00010):    LDR R0, SP, 10H | 
| 03DD | m(40090020):    SUB R0, R0, 20H | 
| 03DE | m(EE000006):    BGT 6 [03E5H] | 
| 03DF | n(40E80014):    ADD R0, SP, 14H | 
| 03E0 | n               .FIXUP D | 
| 03E0 | n(8D900008):    LDR SB, MT, MOD9 [Texts] | 
| 03E1 | n(41D80002):    ADD R1, SB, VAR2 | 
| 03E2 | o(42E80010):    ADD R2, SP, 10H | 
| 03E3 | p               .FIXUP P | 
| 03E3 | p(F7913008):    BL MOD9 [Texts] PROC19 | 
| 03E4 | p(E7FFFFF7):    B -9 [03DCH] | 
 |       END | 
 |     END ; | 
 |     i := 0;q | 
| 03E5 | q(40000000):    MOV R0, R0, 0H | 
| 03E6 | q(A0E0000C):    STR R0, SP, CH | 
 |     WHILE ch > "!" DOr pat[i]s := ch;t INC(i);u Texts.Read(R,v ch)w ENDx; | 
| 03E7 | r(90E00010):    LDR R0, SP, 10H | 
| 03E8 | r(40090021):    SUB R0, R0, 21H | 
| 03E9 | r(E6000010):    BLE 16 [03FAH] | 
| 03EA | s(80E0000C):    LDR R0, SP, CH | 
| 03EB | s(41090020):    SUB R1, R0, 20H | 
| 03EC | s(DA1CB41C):    BLCC MT [trap=1, pos=7348] | 
| 03ED | s               .FIXUP D | 
| 03ED | s(8D00000D):    LDR SB, MT, MOD0 [System] | 
| 03EE | s(00D80000):    ADD R0, SB, R0 [global array] | 
| 03EF | t(91E00010):    LDR R1, SP, 10H | 
| 03F0 | t(B1000028):    STR R1, R0, 28H | 
| 03F1 | u(80E0000C):    LDR R0, SP, CH | 
| 03F2 | u(40080001):    ADD R0, R0, 1H | 
| 03F3 | u(A0E0000C):    STR R0, SP, CH | 
| 03F4 | v(40E80014):    ADD R0, SP, 14H | 
| 03F5 | v               .FIXUP D | 
| 03F5 | v(8D900008):    LDR SB, MT, MOD9 [Texts] | 
| 03F6 | v(41D80002):    ADD R1, SB, VAR2 | 
| 03F7 | w(42E80010):    ADD R2, SP, 10H | 
| 03F8 | x               .FIXUP P | 
| 03F8 | x(F7913015):    BL MOD9 [Texts] PROC19 | 
| 03F9 | x(E7FFFFED):    B -19 [03E7H] | 
 |     pat[i]y := 0X;z | 
| 03FA | y(80E0000C):    LDR R0, SP, CH | 
| 03FB | y(41090020):    SUB R1, R0, 20H | 
| 03FC | y(DA1CE51C):    BLCC MT [trap=1, pos=7397] | 
| 03FD | y               .FIXUP D | 
| 03FD | y(8D000008):    LDR SB, MT, MOD0 [System] | 
| 03FE | y(00D80000):    ADD R0, SB, R0 [global array] | 
| 03FF | z(41000000):    MOV R1, R0, 0H | 
| 0400 | z(B1000028):    STR R1, R0, 28H | 
 |     IF ch = "!" THENa pat[i+1]b := "!" ENDc ;  (*directory option*) | 
| 0401 | a(90E00010):    LDR R0, SP, 10H | 
| 0402 | a(40090021):    SUB R0, R0, 21H | 
| 0403 | a(E9000008):    BNE 8 [040CH] | 
| 0404 | b(80E0000C):    LDR R0, SP, CH | 
| 0405 | b(40080001):    ADD R0, R0, 1H | 
| 0406 | b(41090020):    SUB R1, R0, 20H | 
| 0407 | b(DA1D0A1C):    BLCC MT [trap=1, pos=7434] | 
| 0408 | b               .FIXUP D | 
| 0408 | b(8D00000B):    LDR SB, MT, MOD0 [System] | 
| 0409 | b(00D80000):    ADD R0, SB, R0 [global array] | 
| 040A | c(41000021):    MOV R1, R0, 21H | 
| 040B | c(B1000028):    STR R1, R0, 28H | 
 |     i := 0;d | 
| 040C | d(40000000):    MOV R0, R0, 0H | 
| 040D | d(A0E0000C):    STR R0, SP, CH | 
 |     WHILE pat[i]e > "*" DOf pre[i]g := pat[i]h;i INC(i) ENDj; | 
| 040E | e(80E0000C):    LDR R0, SP, CH | 
| 040F | e(41090020):    SUB R1, R0, 20H | 
| 0410 | e(DA1D4A1C):    BLCC MT [trap=1, pos=7498] | 
| 0411 | e               .FIXUP D | 
| 0411 | e(8D000009):    LDR SB, MT, MOD0 [System] | 
| 0412 | e(00D80000):    ADD R0, SB, R0 [global array] | 
| 0413 | f(90000028):    LDR R0, R0, 28H | 
| 0414 | f(4009002A):    SUB R0, R0, 2AH | 
| 0415 | f(E600000F):    BLE 15 [0425H] | 
| 0416 | g(80E0000C):    LDR R0, SP, CH | 
| 0417 | g(41090020):    SUB R1, R0, 20H | 
| 0418 | g(DA1D5A1C):    BLCC MT [trap=1, pos=7514] | 
| 0419 | g(00E80000):    ADD R0, SP, R0 | 
| 041A | h(81E0000C):    LDR R1, SP, CH | 
| 041B | h(42190020):    SUB R2, R1, 20H | 
| 041C | h(DA1D641C):    BLCC MT [trap=1, pos=7524] | 
| 041D | h               .FIXUP D | 
| 041D | h(8D00000C):    LDR SB, MT, MOD0 [System] | 
| 041E | h(01D80001):    ADD R1, SB, R1 [global array] | 
| 041F | i(91100028):    LDR R1, R1, 28H | 
| 0420 | i(B1000060):    STR R1, R0, 60H | 
| 0421 | j(80E0000C):    LDR R0, SP, CH | 
| 0422 | j(40080001):    ADD R0, R0, 1H | 
| 0423 | j(A0E0000C):    STR R0, SP, CH | 
| 0424 | j(E7FFFFE9):    B -23 [040EH] | 
 |     pre[i]k := 0X;l | 
| 0425 | k(80E0000C):    LDR R0, SP, CH | 
| 0426 | k(41090020):    SUB R1, R0, 20H | 
| 0427 | k(DA1D7C1C):    BLCC MT [trap=1, pos=7548] | 
| 0428 | k(00E80000):    ADD R0, SP, R0 | 
| 0429 | l(41000000):    MOV R1, R0, 0H | 
| 042A | l(B1000060):    STR R1, R0, 60H | 
 |     Oberon.AllocateSystemViewer(Oberon.Par.vwr.mXn,o X,p Y)q;r t := TextFrames.Text("")s;t | 
| 042B | m               .FIXUP D | 
| 042B | m(8DA0000E):    LDR SB, MT, MOD10 [Oberon] | 
| 042C | m(40D8000E):    ADD R0, SB, VAR14 | 
| 042D | n(80000000):    LDR R0, R0, 0H | 
| 042E | n(D11DB44C):    BLEQ MT [trap=4, pos=7604] | 
| 042F | o(80000008):    LDR R0, R0, 8H | 
| 0430 | p(41E80004):    ADD R1, SP, 4H | 
| 0431 | q(42E80008):    ADD R2, SP, 8H | 
| 0432 | r               .FIXUP P | 
| 0432 | r(F7A2303A):    BL MOD10 [Oberon] PROC35 | 
| 0433 | s               .FIXUP D | 
| 0433 | s(8D000008):    LDR SB, MT, MOD0 [System] | 
| 0434 | s(40D80108):    ADD R0, SB, 108H [""] | 
| 0435 | s(41000001):    MOV R1, R0, 1H | 
| 0436 | t               .FIXUP P | 
| 0436 | t(F7C2B004):    BL MOD12 [TextFrames] PROC43 | 
| 0437 | t(A0E0004C):    STR R0, SP, 4CH | 
 |     V := MenuViewers.New( | 
 |       TextFrames.NewMenu("System.Directory",u StandardMenu)v,w | 
| 0438 | u               .FIXUP D | 
| 0438 | u(8D000005):    LDR SB, MT, MOD0 [System] | 
| 0439 | u(40D8010C):    ADD R0, SB, 10CH ["System.Directory"] | 
| 043A | u(41000011):    MOV R1, R0, 11H | 
| 043B | v(42D80048):    ADD R2, SB, 48H | 
| 043C | v(4300003C):    MOV R3, R0, 3CH | 
| 043D | w               .FIXUP P | 
| 043D | w(F7C2C007):    BL MOD12 [TextFrames] PROC44 | 
 |       TextFrames.NewText(tx,y 0)z,a TextFrames.menuH,b X,c Y)d;e | 
| 043E | x(4EE90004):    SUB SP, SP, 4H | 
| 043F | x(A0E00000):    STR R0, SP, 0H | 
| 0440 | y(80E00050):    LDR R0, SP, 50H | 
| 0441 | z(41000000):    MOV R1, R0, 0H | 
| 0442 | a               .FIXUP P | 
| 0442 | a(F7C2D005):    BL MOD12 [TextFrames] PROC45 | 
| 0443 | a(01000000):    MOV R1, R0, R0 | 
| 0444 | a(80E00000):    LDR R0, SP, 0H | 
| 0445 | a(4EE80004):    ADD SP, SP, 4H | 
| 0446 | b               .FIXUP D | 
| 0446 | b(8DC0000E):    LDR SB, MT, MOD12 [TextFrames] | 
| 0447 | b(82D00005):    LDR R2, SB, VAR5 | 
| 0448 | c(83E00004):    LDR R3, SP, 4H | 
| 0449 | d(84E00008):    LDR R4, SP, 8H | 
| 044A | e               .FIXUP P | 
| 044A | e(F7B04008):    BL MOD11 [MenuViewers] PROC4 | 
| 044B | e(A0E00050):    STR R0, SP, 50H | 
 |     FileDir.Enumerate(pre,f List)g;h Texts.Append(t,i W.buf)j | 
| 044C | f(40E80060):    ADD R0, SP, 60H | 
| 044D | f(41000020):    MOV R1, R0, 20H | 
| 044E | g(F7000000):    BL 0 [044FH] | 
| 044F | g(42F905D4):    SUB R2, LNK, 5D4H | 
| 0450 | h               .FIXUP P | 
| 0450 | h(F7207006):    BL MOD2 [FileDir] PROC7 | 
| 0451 | i(80E0004C):    LDR R0, SP, 4CH | 
| 0452 | j               .FIXUP D | 
| 0452 | j(8D00000C):    LDR SB, MT, MOD0 [System] | 
| 0453 | j(81D00000):    LDR R1, SB, 0H [data] | 
 |   ENDk Directory; | 
| 0454 | k               .FIXUP P | 
| 0454 | k(F790E004):    BL MOD9 [Texts] PROC14 | 
| 0455 | k(8FE00000):    LDR LNK, SP, 0H | 
| 0456 | k(4EE80080):    ADD SP, SP, 80H | 
| 0457 | k(C700000F):    B LNK | 
 |  | 
 |   PROCEDURE CopyFiles*; | 
 |     VAR f, g: Files.File; Rf, Rg: Files.Rider; ch: CHAR; | 
 |       name: ARRAY 32 OF CHAR; | 
 |       S: Texts.Scanner; | 
 |   BEGINl GetArg(S)m;n | 
| 0458 | l               .PROC 17 | 
| 0458 | l               .COMMAND CopyFiles | 
| 0458 | l(4EE900D4):    SUB SP, SP, D4H | 
| 0459 | l(AFE00000):    STR LNK, SP, 0H | 
| 045A | m(40E80060):    ADD R0, SP, 60H | 
| 045B | m               .FIXUP D | 
| 045B | m(8D900009):    LDR SB, MT, MOD9 [Texts] | 
| 045C | m(41D80003):    ADD R1, SB, VAR3 | 
| 045D | n(F7FFFBA2):    BL -1118 [0000H] | 
 |     Texts.WriteString(W,o "System.CopyFiles")p;q EndLine;r | 
| 045E | o               .FIXUP D | 
| 045E | o(8D000003):    LDR SB, MT, MOD0 [System] | 
| 045F | o(40D80000):    ADD R0, SB, 0H [data] | 
| 0460 | o               .FIXUP D | 
| 0460 | o(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 0461 | o(41D80005):    ADD R1, SB, VAR5 | 
| 0462 | p               .FIXUP D | 
| 0462 | p(8D000002):    LDR SB, MT, MOD0 [System] | 
| 0463 | p(42D80120):    ADD R2, SB, 120H ["System.CopyFiles"] | 
| 0464 | p(43000011):    MOV R3, R0, 11H | 
| 0465 | q               .FIXUP P | 
| 0465 | q(F791D011):    BL MOD9 [Texts] PROC29 | 
| 0466 | r(F7FFFBC4):    BL -1084 [002BH] | 
 |     WHILE S.class = Texts.Name DOs | 
| 0467 | s(80E0009C):    LDR R0, SP, 9CH | 
| 0468 | s(40090001):    SUB R0, R0, 1H | 
| 0469 | s(E9000080):    BNE 128 [04EAH] | 
 |       name := S.s;t Texts.Scan(S)u;v | 
| 046A | t(40E80040):    ADD R0, SP, 40H | 
| 046B | t(41E800B4):    ADD R1, SP, B4H | 
| 046C | t(42000008):    MOV R2, R0, 8H | 
| 046D | t(83100000):    LDR R3, R1, 0H | 
| 046E | t(41180004):    ADD R1, R1, 4H | 
| 046F | t(A3000000):    STR R3, R0, 0H | 
| 0470 | t(40080004):    ADD R0, R0, 4H | 
| 0471 | t(42290001):    SUB R2, R2, 1H | 
| 0472 | t(E9FFFFFA):    BNE -6 [046DH] | 
| 0473 | u(40E80060):    ADD R0, SP, 60H | 
| 0474 | u               .FIXUP D | 
| 0474 | u(8D900012):    LDR SB, MT, MOD9 [Texts] | 
| 0475 | u(41D80003):    ADD R1, SB, VAR3 | 
| 0476 | v               .FIXUP P | 
| 0476 | v(F7916011):    BL MOD9 [Texts] PROC22 | 
 |       IF (S.class = Texts.Char)w & (xS.c = "=")y THENz Texts.Scan(S)a;b | 
| 0477 | w(80E0009C):    LDR R0, SP, 9CH | 
| 0478 | w(40090006):    SUB R0, R0, 6H | 
| 0479 | x(E900006B):    BNE 107 [04E5H] | 
| 047A | y(90E000AC):    LDR R0, SP, ACH | 
| 047B | y(4009003D):    SUB R0, R0, 3DH | 
| 047C | z(E9000068):    BNE 104 [04E5H] | 
| 047D | a(40E80060):    ADD R0, SP, 60H | 
| 047E | a               .FIXUP D | 
| 047E | a(8D90000A):    LDR SB, MT, MOD9 [Texts] | 
| 047F | a(41D80003):    ADD R1, SB, VAR3 | 
| 0480 | b               .FIXUP P | 
| 0480 | b(F791600A):    BL MOD9 [Texts] PROC22 | 
 |         IF (S.class = Texts.Char)c & (dS.c = ">")e THENf Texts.Scan(S)g;h | 
| 0481 | c(80E0009C):    LDR R0, SP, 9CH | 
| 0482 | c(40090006):    SUB R0, R0, 6H | 
| 0483 | d(E9000061):    BNE 97 [04E5H] | 
| 0484 | e(90E000AC):    LDR R0, SP, ACH | 
| 0485 | e(4009003E):    SUB R0, R0, 3EH | 
| 0486 | f(E900005E):    BNE 94 [04E5H] | 
| 0487 | g(40E80060):    ADD R0, SP, 60H | 
| 0488 | g               .FIXUP D | 
| 0488 | g(8D90000A):    LDR SB, MT, MOD9 [Texts] | 
| 0489 | g(41D80003):    ADD R1, SB, VAR3 | 
| 048A | h               .FIXUP P | 
| 048A | h(F791600A):    BL MOD9 [Texts] PROC22 | 
 |           IF S.class = Texts.Name THENi | 
| 048B | i(80E0009C):    LDR R0, SP, 9CH | 
| 048C | i(40090001):    SUB R0, R0, 1H | 
| 048D | i(E9000057):    BNE 87 [04E5H] | 
 |             Texts.WriteString(W,j name)k;l Texts.WriteString(W,m " => ")n;o Texts.WriteString(W,p S.s)q;r | 
| 048E | j               .FIXUP D | 
| 048E | j(8D000006):    LDR SB, MT, MOD0 [System] | 
| 048F | j(40D80000):    ADD R0, SB, 0H [data] | 
| 0490 | j               .FIXUP D | 
| 0490 | j(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 0491 | j(41D80005):    ADD R1, SB, VAR5 | 
| 0492 | k(42E80040):    ADD R2, SP, 40H | 
| 0493 | k(43000020):    MOV R3, R0, 20H | 
| 0494 | l               .FIXUP P | 
| 0494 | l(F791D00A):    BL MOD9 [Texts] PROC29 | 
| 0495 | m               .FIXUP D | 
| 0495 | m(8D000005):    LDR SB, MT, MOD0 [System] | 
| 0496 | m(40D80000):    ADD R0, SB, 0H [data] | 
| 0497 | m               .FIXUP D | 
| 0497 | m(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 0498 | m(41D80005):    ADD R1, SB, VAR5 | 
| 0499 | n               .FIXUP D | 
| 0499 | n(8D000002):    LDR SB, MT, MOD0 [System] | 
| 049A | n(42D80134):    ADD R2, SB, 134H [" => "] | 
| 049B | n(43000005):    MOV R3, R0, 5H | 
| 049C | o               .FIXUP P | 
| 049C | o(F791D008):    BL MOD9 [Texts] PROC29 | 
| 049D | p               .FIXUP D | 
| 049D | p(8D000004):    LDR SB, MT, MOD0 [System] | 
| 049E | p(40D80000):    ADD R0, SB, 0H [data] | 
| 049F | p               .FIXUP D | 
| 049F | p(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 04A0 | p(41D80005):    ADD R1, SB, VAR5 | 
| 04A1 | q(42E800B4):    ADD R2, SP, B4H | 
| 04A2 | q(43000020):    MOV R3, R0, 20H | 
| 04A3 | r               .FIXUP P | 
| 04A3 | r(F791D007):    BL MOD9 [Texts] PROC29 | 
 |             Texts.WriteString(W,s " copying")t;u Texts.Append(Oberon.Log,v W.buf)w;x | 
| 04A4 | s               .FIXUP D | 
| 04A4 | s(8D000005):    LDR SB, MT, MOD0 [System] | 
| 04A5 | s(40D80000):    ADD R0, SB, 0H [data] | 
| 04A6 | s               .FIXUP D | 
| 04A6 | s(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 04A7 | s(41D80005):    ADD R1, SB, VAR5 | 
| 04A8 | t               .FIXUP D | 
| 04A8 | t(8D000002):    LDR SB, MT, MOD0 [System] | 
| 04A9 | t(42D8013C):    ADD R2, SB, 13CH [" copying"] | 
| 04AA | t(43000009):    MOV R3, R0, 9H | 
| 04AB | u               .FIXUP P | 
| 04AB | u(F791D008):    BL MOD9 [Texts] PROC29 | 
| 04AC | v               .FIXUP D | 
| 04AC | v(8DA00004):    LDR SB, MT, MOD10 [Oberon] | 
| 04AD | v(80D0000D):    LDR R0, SB, VAR13 | 
| 04AE | w               .FIXUP D | 
| 04AE | w(8D000002):    LDR SB, MT, MOD0 [System] | 
| 04AF | w(81D00000):    LDR R1, SB, 0H [data] | 
| 04B0 | x               .FIXUP P | 
| 04B0 | x(F790E005):    BL MOD9 [Texts] PROC14 | 
 |             f := Files.Old(name)y;z | 
| 04B1 | y(40E80040):    ADD R0, SP, 40H | 
| 04B2 | y(41000020):    MOV R1, R0, 20H | 
| 04B3 | z               .FIXUP P | 
| 04B3 | z(F7302003):    BL MOD3 [Files] PROC2 | 
| 04B4 | z(A0E00004):    STR R0, SP, 4H | 
 |             IF f # NIL THENa g := Files.New(S.s)b;c | 
| 04B5 | a(80E00004):    LDR R0, SP, 4H | 
| 04B6 | a(E1000025):    BEQ 37 [04DCH] | 
| 04B7 | b(40E800B4):    ADD R0, SP, B4H | 
| 04B8 | b(41000020):    MOV R1, R0, 20H | 
| 04B9 | c               .FIXUP P | 
| 04B9 | c(F7303006):    BL MOD3 [Files] PROC3 | 
| 04BA | c(A0E00008):    STR R0, SP, 8H | 
 |               Files.Set(Rf,d f,e 0)f;g Files.Set(Rg,h g,i 0)j;k Files.Read(Rf,l ch)m;n | 
| 04BB | d(40E8000C):    ADD R0, SP, CH | 
| 04BC | d               .FIXUP D | 
| 04BC | d(8D30000E):    LDR SB, MT, MOD3 [Files] | 
| 04BD | d(41D80001):    ADD R1, SB, VAR1 | 
| 04BE | e(82E00004):    LDR R2, SP, 4H | 
| 04BF | f(43000000):    MOV R3, R0, 0H | 
| 04C0 | g               .FIXUP P | 
| 04C0 | g(F730B007):    BL MOD3 [Files] PROC11 | 
| 04C1 | h(40E80024):    ADD R0, SP, 24H | 
| 04C2 | h               .FIXUP D | 
| 04C2 | h(8D300006):    LDR SB, MT, MOD3 [Files] | 
| 04C3 | h(41D80001):    ADD R1, SB, VAR1 | 
| 04C4 | i(82E00008):    LDR R2, SP, 8H | 
| 04C5 | j(43000000):    MOV R3, R0, 0H | 
| 04C6 | k               .FIXUP P | 
| 04C6 | k(F730B006):    BL MOD3 [Files] PROC11 | 
| 04C7 | l(40E8000C):    ADD R0, SP, CH | 
| 04C8 | l               .FIXUP D | 
| 04C8 | l(8D300006):    LDR SB, MT, MOD3 [Files] | 
| 04C9 | l(41D80001):    ADD R1, SB, VAR1 | 
| 04CA | m(42E8003C):    ADD R2, SP, 3CH | 
| 04CB | n               .FIXUP P | 
| 04CB | n(F7310005):    BL MOD3 [Files] PROC16 | 
 |               WHILE ~Rf.eof DOo Files.Write(Rg,p ch)q;r Files.Read(Rf,s ch)t ENDu; | 
| 04CC | o(90E0000C):    LDR R0, SP, CH | 
| 04CD | o(E900000B):    BNE 11 [04D9H] | 
| 04CE | p(40E80024):    ADD R0, SP, 24H | 
| 04CF | p               .FIXUP D | 
| 04CF | p(8D300007):    LDR SB, MT, MOD3 [Files] | 
| 04D0 | p(41D80001):    ADD R1, SB, VAR1 | 
| 04D1 | q(92E0003C):    LDR R2, SP, 3CH | 
| 04D2 | r               .FIXUP P | 
| 04D2 | r(F7318007):    BL MOD3 [Files] PROC24 | 
| 04D3 | s(40E8000C):    ADD R0, SP, CH | 
| 04D4 | s               .FIXUP D | 
| 04D4 | s(8D300005):    LDR SB, MT, MOD3 [Files] | 
| 04D5 | s(41D80001):    ADD R1, SB, VAR1 | 
| 04D6 | t(42E8003C):    ADD R2, SP, 3CH | 
| 04D7 | u               .FIXUP P | 
| 04D7 | u(F7310005):    BL MOD3 [Files] PROC16 | 
| 04D8 | u(E7FFFFF3):    B -13 [04CCH] | 
 |               Files.Register(g)v | 
| 04D9 | v(80E00008):    LDR R0, SP, 8H | 
 |             ELSEw Textsx.WriteString(W,y " failed")z | 
| 04DA | w               .FIXUP P | 
| 04DA | w(F7304003):    BL MOD3 [Files] PROC4 | 
| 04DB | x(E7000008):    B 8 [04E4H] | 
| 04DC | y               .FIXUP D | 
| 04DC | y(8D000008):    LDR SB, MT, MOD0 [System] | 
| 04DD | y(40D80000):    ADD R0, SB, 0H [data] | 
| 04DE | y               .FIXUP D | 
| 04DE | y(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 04DF | y(41D80005):    ADD R1, SB, VAR5 | 
| 04E0 | z               .FIXUP D | 
| 04E0 | z(8D000002):    LDR SB, MT, MOD0 [System] | 
| 04E1 | z(42D80148):    ADD R2, SB, 148H [" failed"] | 
| 04E2 | z(43000008):    MOV R3, R0, 8H | 
 |             ENDa ; | 
| 04E3 | a               .FIXUP P | 
| 04E3 | a(F791D009):    BL MOD9 [Texts] PROC29 | 
 |             EndLine | 
 |           ENDb | 
| 04E4 | b(F7FFFB46):    BL -1210 [002BH] | 
 |         END | 
 |       END ; | 
 |       Texts.Scan(S)c | 
| 04E5 | c(40E80060):    ADD R0, SP, 60H | 
| 04E6 | c               .FIXUP D | 
| 04E6 | c(8D900006):    LDR SB, MT, MOD9 [Texts] | 
| 04E7 | c(41D80003):    ADD R1, SB, VAR3 | 
 |     ENDd | 
| 04E8 | d               .FIXUP P | 
| 04E8 | d(F7916005):    BL MOD9 [Texts] PROC22 | 
| 04E9 | d(E7FFFF7D):    B -131 [0467H] | 
 |   ENDe CopyFiles; | 
| 04EA | e(8FE00000):    LDR LNK, SP, 0H | 
| 04EB | e(4EE800D4):    ADD SP, SP, D4H | 
| 04EC | e(C700000F):    B LNK | 
 |  | 
 |   PROCEDURE RenameFiles*; | 
 |     VAR res: INTEGER; | 
 |       name: ARRAY 32 OF CHAR; | 
 |       S: Texts.Scanner; | 
 |   BEGINf GetArg(S)g;h | 
| 04ED | f               .PROC 18 | 
| 04ED | f               .COMMAND RenameFiles | 
| 04ED | f(4EE9009C):    SUB SP, SP, 9CH | 
| 04EE | f(AFE00000):    STR LNK, SP, 0H | 
| 04EF | g(40E80028):    ADD R0, SP, 28H | 
| 04F0 | g               .FIXUP D | 
| 04F0 | g(8D90000A):    LDR SB, MT, MOD9 [Texts] | 
| 04F1 | g(41D80003):    ADD R1, SB, VAR3 | 
| 04F2 | h(F7FFFB0D):    BL -1267 [0000H] | 
 |     Texts.WriteString(W,i "System.RenameFiles")j;k EndLine;l | 
| 04F3 | i               .FIXUP D | 
| 04F3 | i(8D000003):    LDR SB, MT, MOD0 [System] | 
| 04F4 | i(40D80000):    ADD R0, SB, 0H [data] | 
| 04F5 | i               .FIXUP D | 
| 04F5 | i(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 04F6 | i(41D80005):    ADD R1, SB, VAR5 | 
| 04F7 | j               .FIXUP D | 
| 04F7 | j(8D000002):    LDR SB, MT, MOD0 [System] | 
| 04F8 | j(42D80150):    ADD R2, SB, 150H ["System.RenameFiles"] | 
| 04F9 | j(43000013):    MOV R3, R0, 13H | 
| 04FA | k               .FIXUP P | 
| 04FA | k(F791D012):    BL MOD9 [Texts] PROC29 | 
| 04FB | l(F7FFFB2F):    BL -1233 [002BH] | 
 |     WHILE S.class = Texts.Name DOm | 
| 04FC | m(80E00064):    LDR R0, SP, 64H | 
| 04FD | m(40090001):    SUB R0, R0, 1H | 
| 04FE | m(E9000059):    BNE 89 [0558H] | 
 |       name := S.s;n Texts.Scan(S)o;p | 
| 04FF | n(40E80008):    ADD R0, SP, 8H | 
| 0500 | n(41E8007C):    ADD R1, SP, 7CH | 
| 0501 | n(42000008):    MOV R2, R0, 8H | 
| 0502 | n(83100000):    LDR R3, R1, 0H | 
| 0503 | n(41180004):    ADD R1, R1, 4H | 
| 0504 | n(A3000000):    STR R3, R0, 0H | 
| 0505 | n(40080004):    ADD R0, R0, 4H | 
| 0506 | n(42290001):    SUB R2, R2, 1H | 
| 0507 | n(E9FFFFFA):    BNE -6 [0502H] | 
| 0508 | o(40E80028):    ADD R0, SP, 28H | 
| 0509 | o               .FIXUP D | 
| 0509 | o(8D900012):    LDR SB, MT, MOD9 [Texts] | 
| 050A | o(41D80003):    ADD R1, SB, VAR3 | 
| 050B | p               .FIXUP P | 
| 050B | p(F7916011):    BL MOD9 [Texts] PROC22 | 
 |       IF (S.class = Texts.Char)q & (rS.c = "=")s THENt Texts.Scan(S)u;v | 
| 050C | q(80E00064):    LDR R0, SP, 64H | 
| 050D | q(40090006):    SUB R0, R0, 6H | 
| 050E | r(E9000044):    BNE 68 [0553H] | 
| 050F | s(90E00074):    LDR R0, SP, 74H | 
| 0510 | s(4009003D):    SUB R0, R0, 3DH | 
| 0511 | t(E9000041):    BNE 65 [0553H] | 
| 0512 | u(40E80028):    ADD R0, SP, 28H | 
| 0513 | u               .FIXUP D | 
| 0513 | u(8D90000A):    LDR SB, MT, MOD9 [Texts] | 
| 0514 | u(41D80003):    ADD R1, SB, VAR3 | 
| 0515 | v               .FIXUP P | 
| 0515 | v(F791600A):    BL MOD9 [Texts] PROC22 | 
 |         IF (S.class = Texts.Char)w & (xS.c = ">")y THENz Texts.Scan(S)a;b | 
| 0516 | w(80E00064):    LDR R0, SP, 64H | 
| 0517 | w(40090006):    SUB R0, R0, 6H | 
| 0518 | x(E900003A):    BNE 58 [0553H] | 
| 0519 | y(90E00074):    LDR R0, SP, 74H | 
| 051A | y(4009003E):    SUB R0, R0, 3EH | 
| 051B | z(E9000037):    BNE 55 [0553H] | 
| 051C | a(40E80028):    ADD R0, SP, 28H | 
| 051D | a               .FIXUP D | 
| 051D | a(8D90000A):    LDR SB, MT, MOD9 [Texts] | 
| 051E | a(41D80003):    ADD R1, SB, VAR3 | 
| 051F | b               .FIXUP P | 
| 051F | b(F791600A):    BL MOD9 [Texts] PROC22 | 
 |           IF S.class = Texts.Name THENc | 
| 0520 | c(80E00064):    LDR R0, SP, 64H | 
| 0521 | c(40090001):    SUB R0, R0, 1H | 
| 0522 | c(E9000030):    BNE 48 [0553H] | 
 |             Texts.WriteString(W,d name)e;f Texts.WriteString(W,g " => ")h;i Texts.WriteString(W,j S.s)k;l | 
| 0523 | d               .FIXUP D | 
| 0523 | d(8D000006):    LDR SB, MT, MOD0 [System] | 
| 0524 | d(40D80000):    ADD R0, SB, 0H [data] | 
| 0525 | d               .FIXUP D | 
| 0525 | d(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 0526 | d(41D80005):    ADD R1, SB, VAR5 | 
| 0527 | e(42E80008):    ADD R2, SP, 8H | 
| 0528 | e(43000020):    MOV R3, R0, 20H | 
| 0529 | f               .FIXUP P | 
| 0529 | f(F791D00A):    BL MOD9 [Texts] PROC29 | 
| 052A | g               .FIXUP D | 
| 052A | g(8D000005):    LDR SB, MT, MOD0 [System] | 
| 052B | g(40D80000):    ADD R0, SB, 0H [data] | 
| 052C | g               .FIXUP D | 
| 052C | g(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 052D | g(41D80005):    ADD R1, SB, VAR5 | 
| 052E | h               .FIXUP D | 
| 052E | h(8D000002):    LDR SB, MT, MOD0 [System] | 
| 052F | h(42D80164):    ADD R2, SB, 164H [" => "] | 
| 0530 | h(43000005):    MOV R3, R0, 5H | 
| 0531 | i               .FIXUP P | 
| 0531 | i(F791D008):    BL MOD9 [Texts] PROC29 | 
| 0532 | j               .FIXUP D | 
| 0532 | j(8D000004):    LDR SB, MT, MOD0 [System] | 
| 0533 | j(40D80000):    ADD R0, SB, 0H [data] | 
| 0534 | j               .FIXUP D | 
| 0534 | j(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 0535 | j(41D80005):    ADD R1, SB, VAR5 | 
| 0536 | k(42E8007C):    ADD R2, SP, 7CH | 
| 0537 | k(43000020):    MOV R3, R0, 20H | 
| 0538 | l               .FIXUP P | 
| 0538 | l(F791D007):    BL MOD9 [Texts] PROC29 | 
 |             Texts.WriteString(W,m " renaming")n;o Files.Rename(name,p S.s,q res)r;s | 
| 0539 | m               .FIXUP D | 
| 0539 | m(8D000005):    LDR SB, MT, MOD0 [System] | 
| 053A | m(40D80000):    ADD R0, SB, 0H [data] | 
| 053B | m               .FIXUP D | 
| 053B | m(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 053C | m(41D80005):    ADD R1, SB, VAR5 | 
| 053D | n               .FIXUP D | 
| 053D | n(8D000002):    LDR SB, MT, MOD0 [System] | 
| 053E | n(42D8016C):    ADD R2, SB, 16CH [" renaming"] | 
| 053F | n(4300000A):    MOV R3, R0, AH | 
| 0540 | o               .FIXUP P | 
| 0540 | o(F791D008):    BL MOD9 [Texts] PROC29 | 
| 0541 | p(40E80008):    ADD R0, SP, 8H | 
| 0542 | p(41000020):    MOV R1, R0, 20H | 
| 0543 | q(42E8007C):    ADD R2, SP, 7CH | 
| 0544 | q(43000020):    MOV R3, R0, 20H | 
| 0545 | r(44E80004):    ADD R4, SP, 4H | 
| 0546 | s               .FIXUP P | 
| 0546 | s(F7308006):    BL MOD3 [Files] PROC8 | 
 |             IF res > 1 THENt Texts.WriteString(W,u " failed")v ENDw; | 
| 0547 | t(80E00004):    LDR R0, SP, 4H | 
| 0548 | t(40090001):    SUB R0, R0, 1H | 
| 0549 | t(E6000008):    BLE 8 [0552H] | 
| 054A | u               .FIXUP D | 
| 054A | u(8D00000D):    LDR SB, MT, MOD0 [System] | 
| 054B | u(40D80000):    ADD R0, SB, 0H [data] | 
| 054C | u               .FIXUP D | 
| 054C | u(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 054D | u(41D80005):    ADD R1, SB, VAR5 | 
| 054E | v               .FIXUP D | 
| 054E | v(8D000002):    LDR SB, MT, MOD0 [System] | 
| 054F | v(42D80178):    ADD R2, SB, 178H [" failed"] | 
| 0550 | v(43000008):    MOV R3, R0, 8H | 
| 0551 | w               .FIXUP P | 
| 0551 | w(F791D00B):    BL MOD9 [Texts] PROC29 | 
 |             EndLine | 
 |           ENDx | 
| 0552 | x(F7FFFAD8):    BL -1320 [002BH] | 
 |         END | 
 |       END ; | 
 |       Texts.Scan(S)y | 
| 0553 | y(40E80028):    ADD R0, SP, 28H | 
| 0554 | y               .FIXUP D | 
| 0554 | y(8D900006):    LDR SB, MT, MOD9 [Texts] | 
| 0555 | y(41D80003):    ADD R1, SB, VAR3 | 
 |     ENDz | 
| 0556 | z               .FIXUP P | 
| 0556 | z(F7916005):    BL MOD9 [Texts] PROC22 | 
| 0557 | z(E7FFFFA4):    B -92 [04FCH] | 
 |   ENDa RenameFiles; | 
| 0558 | a(8FE00000):    LDR LNK, SP, 0H | 
| 0559 | a(4EE8009C):    ADD SP, SP, 9CH | 
| 055A | a(C700000F):    B LNK | 
 |  | 
 |   PROCEDURE DeleteFiles*; | 
 |     VAR res: INTEGER; S: Texts.Scanner; | 
 |   BEGINb GetArg(S)c;d | 
| 055B | b               .PROC 19 | 
| 055B | b               .COMMAND DeleteFiles | 
| 055B | b(4EE9007C):    SUB SP, SP, 7CH | 
| 055C | b(AFE00000):    STR LNK, SP, 0H | 
| 055D | c(40E80008):    ADD R0, SP, 8H | 
| 055E | c               .FIXUP D | 
| 055E | c(8D90000A):    LDR SB, MT, MOD9 [Texts] | 
| 055F | c(41D80003):    ADD R1, SB, VAR3 | 
| 0560 | d(F7FFFA9F):    BL -1377 [0000H] | 
 |     Texts.WriteString(W,e "System.DeleteFiles")f;g EndLine;h | 
| 0561 | e               .FIXUP D | 
| 0561 | e(8D000003):    LDR SB, MT, MOD0 [System] | 
| 0562 | e(40D80000):    ADD R0, SB, 0H [data] | 
| 0563 | e               .FIXUP D | 
| 0563 | e(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 0564 | e(41D80005):    ADD R1, SB, VAR5 | 
| 0565 | f               .FIXUP D | 
| 0565 | f(8D000002):    LDR SB, MT, MOD0 [System] | 
| 0566 | f(42D80180):    ADD R2, SB, 180H ["System.DeleteFiles"] | 
| 0567 | f(43000013):    MOV R3, R0, 13H | 
| 0568 | g               .FIXUP P | 
| 0568 | g(F791D012):    BL MOD9 [Texts] PROC29 | 
| 0569 | h(F7FFFAC1):    BL -1343 [002BH] | 
 |     WHILE S.class = Texts.Name DOi | 
| 056A | i(80E00044):    LDR R0, SP, 44H | 
| 056B | i(40090001):    SUB R0, R0, 1H | 
| 056C | i(E9000023):    BNE 35 [0590H] | 
 |       Texts.WriteString(W,j S.s)k;l Texts.WriteString(W,m " deleting")n;o | 
| 056D | j               .FIXUP D | 
| 056D | j(8D000008):    LDR SB, MT, MOD0 [System] | 
| 056E | j(40D80000):    ADD R0, SB, 0H [data] | 
| 056F | j               .FIXUP D | 
| 056F | j(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 0570 | j(41D80005):    ADD R1, SB, VAR5 | 
| 0571 | k(42E8005C):    ADD R2, SP, 5CH | 
| 0572 | k(43000020):    MOV R3, R0, 20H | 
| 0573 | l               .FIXUP P | 
| 0573 | l(F791D00B):    BL MOD9 [Texts] PROC29 | 
| 0574 | m               .FIXUP D | 
| 0574 | m(8D000005):    LDR SB, MT, MOD0 [System] | 
| 0575 | m(40D80000):    ADD R0, SB, 0H [data] | 
| 0576 | m               .FIXUP D | 
| 0576 | m(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 0577 | m(41D80005):    ADD R1, SB, VAR5 | 
| 0578 | n               .FIXUP D | 
| 0578 | n(8D000002):    LDR SB, MT, MOD0 [System] | 
| 0579 | n(42D80194):    ADD R2, SB, 194H [" deleting"] | 
| 057A | n(4300000A):    MOV R3, R0, AH | 
| 057B | o               .FIXUP P | 
| 057B | o(F791D008):    BL MOD9 [Texts] PROC29 | 
 |       Files.Delete(S.s,p res)q;r | 
| 057C | p(40E8005C):    ADD R0, SP, 5CH | 
| 057D | p(41000020):    MOV R1, R0, 20H | 
| 057E | q(42E80004):    ADD R2, SP, 4H | 
| 057F | r               .FIXUP P | 
| 057F | r(F7307004):    BL MOD3 [Files] PROC7 | 
 |       IF res # 0 THENs Texts.WriteString(W,t " failed")u ENDv; | 
| 0580 | s(80E00004):    LDR R0, SP, 4H | 
| 0581 | s(E1000008):    BEQ 8 [058AH] | 
| 0582 | t               .FIXUP D | 
| 0582 | t(8D00000A):    LDR SB, MT, MOD0 [System] | 
| 0583 | t(40D80000):    ADD R0, SB, 0H [data] | 
| 0584 | t               .FIXUP D | 
| 0584 | t(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 0585 | t(41D80005):    ADD R1, SB, VAR5 | 
| 0586 | u               .FIXUP D | 
| 0586 | u(8D000002):    LDR SB, MT, MOD0 [System] | 
| 0587 | u(42D801A0):    ADD R2, SB, 1A0H [" failed"] | 
| 0588 | u(43000008):    MOV R3, R0, 8H | 
| 0589 | v               .FIXUP P | 
| 0589 | v(F791D00A):    BL MOD9 [Texts] PROC29 | 
 |       EndLine;w Texts.Scan(S)x | 
| 058A | w(F7FFFAA0):    BL -1376 [002BH] | 
| 058B | x(40E80008):    ADD R0, SP, 8H | 
| 058C | x               .FIXUP D | 
| 058C | x(8D900006):    LDR SB, MT, MOD9 [Texts] | 
| 058D | x(41D80003):    ADD R1, SB, VAR3 | 
 |     ENDy | 
| 058E | y               .FIXUP P | 
| 058E | y(F7916005):    BL MOD9 [Texts] PROC22 | 
| 058F | y(E7FFFFDA):    B -38 [056AH] | 
 |   ENDz DeleteFiles; | 
| 0590 | z(8FE00000):    LDR LNK, SP, 0H | 
| 0591 | z(4EE8007C):    ADD SP, SP, 7CH | 
| 0592 | z(C700000F):    B LNK | 
 |  | 
 |   (* ------------- Toolbox for system inspection ---------------*) | 
 |  | 
 |   PROCEDURE Watch*; | 
 |   BEGINa Texts.WriteString(W,b "System.Watch")c;d Texts.WriteLn(W)e;f | 
| 0593 | a               .PROC 20 | 
| 0593 | a               .COMMAND Watch | 
| 0593 | a(4EE90004):    SUB SP, SP, 4H | 
| 0594 | a(AFE00000):    STR LNK, SP, 0H | 
| 0595 | b               .FIXUP D | 
| 0595 | b(8D000009):    LDR SB, MT, MOD0 [System] | 
| 0596 | b(40D80000):    ADD R0, SB, 0H [data] | 
| 0597 | b               .FIXUP D | 
| 0597 | b(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 0598 | b(41D80005):    ADD R1, SB, VAR5 | 
| 0599 | c               .FIXUP D | 
| 0599 | c(8D000002):    LDR SB, MT, MOD0 [System] | 
| 059A | c(42D801A8):    ADD R2, SB, 1A8H ["System.Watch"] | 
| 059B | c(4300000D):    MOV R3, R0, DH | 
| 059C | d               .FIXUP P | 
| 059C | d(F791D00E):    BL MOD9 [Texts] PROC29 | 
| 059D | e               .FIXUP D | 
| 059D | e(8D000004):    LDR SB, MT, MOD0 [System] | 
| 059E | e(40D80000):    ADD R0, SB, 0H [data] | 
| 059F | e               .FIXUP D | 
| 059F | e(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 05A0 | e(41D80005):    ADD R1, SB, VAR5 | 
| 05A1 | f               .FIXUP P | 
| 05A1 | f(F791C005):    BL MOD9 [Texts] PROC28 | 
 |     Texts.WriteString(W,g "  Modules space (bytes)")h;i Texts.WriteInt(W,j Modules.AllocPtr,k 8)l;m | 
| 05A2 | g               .FIXUP D | 
| 05A2 | g(8D000003):    LDR SB, MT, MOD0 [System] | 
| 05A3 | g(40D80000):    ADD R0, SB, 0H [data] | 
| 05A4 | g               .FIXUP D | 
| 05A4 | g(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 05A5 | g(41D80005):    ADD R1, SB, VAR5 | 
| 05A6 | h               .FIXUP D | 
| 05A6 | h(8D000002):    LDR SB, MT, MOD0 [System] | 
| 05A7 | h(42D801B8):    ADD R2, SB, 1B8H ["  Modules space (bytes)"] | 
| 05A8 | h(43000018):    MOV R3, R0, 18H | 
| 05A9 | i               .FIXUP P | 
| 05A9 | i(F791D008):    BL MOD9 [Texts] PROC29 | 
| 05AA | j               .FIXUP D | 
| 05AA | j(8D000004):    LDR SB, MT, MOD0 [System] | 
| 05AB | j(40D80000):    ADD R0, SB, 0H [data] | 
| 05AC | j               .FIXUP D | 
| 05AC | j(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 05AD | j(41D80005):    ADD R1, SB, VAR5 | 
| 05AE | k               .FIXUP D | 
| 05AE | k(8D400002):    LDR SB, MT, MOD4 [Modules] | 
| 05AF | k(82D00004):    LDR R2, SB, VAR4 | 
| 05B0 | l(43000008):    MOV R3, R0, 8H | 
| 05B1 | m               .FIXUP P | 
| 05B1 | m(F791E008):    BL MOD9 [Texts] PROC30 | 
 |     Texts.WriteInt(W,n Modules.AllocPtr * 100 DIVo Kernel.heapOrg,p 4)q;r Texts.Write(W,s "%")t;u EndLine;v | 
| 05B2 | n               .FIXUP D | 
| 05B2 | n(8D000004):    LDR SB, MT, MOD0 [System] | 
| 05B3 | n(40D80000):    ADD R0, SB, 0H [data] | 
| 05B4 | n               .FIXUP D | 
| 05B4 | n(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 05B5 | n(41D80005):    ADD R1, SB, VAR5 | 
| 05B6 | o               .FIXUP D | 
| 05B6 | o(8D400002):    LDR SB, MT, MOD4 [Modules] | 
| 05B7 | o(82D00004):    LDR R2, SB, VAR4 | 
| 05B8 | o(422A0064):    MUL R2, R2, 64H | 
| 05B9 | p               .FIXUP D | 
| 05B9 | p(8D100003):    LDR SB, MT, MOD1 [Kernel] | 
| 05BA | p(83D00003):    LDR R3, SB, VAR3 | 
| 05BB | p(D628906C):    BLLE MT [trap=6, pos=10384] | 
| 05BC | p(022B0003):    DIV R2, R2, R3 | 
| 05BD | q(43000004):    MOV R3, R0, 4H | 
| 05BE | r               .FIXUP P | 
| 05BE | r(F791E00D):    BL MOD9 [Texts] PROC30 | 
| 05BF | s               .FIXUP D | 
| 05BF | s(8D000006):    LDR SB, MT, MOD0 [System] | 
| 05C0 | s(40D80000):    ADD R0, SB, 0H [data] | 
| 05C1 | s               .FIXUP D | 
| 05C1 | s(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 05C2 | s(41D80005):    ADD R1, SB, VAR5 | 
| 05C3 | t(42000025):    MOV R2, R0, 25H | 
| 05C4 | u               .FIXUP P | 
| 05C4 | u(F791B006):    BL MOD9 [Texts] PROC27 | 
| 05C5 | v(F7FFFA65):    BL -1435 [002BH] | 
 |     Texts.WriteString(W,w "  Heap speace")x;y Texts.WriteInt(W,z Kernel.allocated,a 8)b;c | 
| 05C6 | w               .FIXUP D | 
| 05C6 | w(8D000005):    LDR SB, MT, MOD0 [System] | 
| 05C7 | w(40D80000):    ADD R0, SB, 0H [data] | 
| 05C8 | w               .FIXUP D | 
| 05C8 | w(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 05C9 | w(41D80005):    ADD R1, SB, VAR5 | 
| 05CA | x               .FIXUP D | 
| 05CA | x(8D000002):    LDR SB, MT, MOD0 [System] | 
| 05CB | x(42D801D0):    ADD R2, SB, 1D0H ["  Heap speace"] | 
| 05CC | x(4300000E):    MOV R3, R0, EH | 
| 05CD | y               .FIXUP P | 
| 05CD | y(F791D009):    BL MOD9 [Texts] PROC29 | 
| 05CE | z               .FIXUP D | 
| 05CE | z(8D000004):    LDR SB, MT, MOD0 [System] | 
| 05CF | z(40D80000):    ADD R0, SB, 0H [data] | 
| 05D0 | z               .FIXUP D | 
| 05D0 | z(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 05D1 | z(41D80005):    ADD R1, SB, VAR5 | 
| 05D2 | a               .FIXUP D | 
| 05D2 | a(8D100002):    LDR SB, MT, MOD1 [Kernel] | 
| 05D3 | a(82D00001):    LDR R2, SB, VAR1 | 
| 05D4 | b(43000008):    MOV R3, R0, 8H | 
| 05D5 | c               .FIXUP P | 
| 05D5 | c(F791E008):    BL MOD9 [Texts] PROC30 | 
 |     Texts.WriteInt(W,d Kernel.allocated * 100 DIVe (Kernel.heapLim - Kernel.heapOrg)f,g 4)h;i Texts.Write(W,j "%")k;l EndLine;m | 
| 05D6 | d               .FIXUP D | 
| 05D6 | d(8D000004):    LDR SB, MT, MOD0 [System] | 
| 05D7 | d(40D80000):    ADD R0, SB, 0H [data] | 
| 05D8 | d               .FIXUP D | 
| 05D8 | d(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 05D9 | d(41D80005):    ADD R1, SB, VAR5 | 
| 05DA | e               .FIXUP D | 
| 05DA | e(8D100002):    LDR SB, MT, MOD1 [Kernel] | 
| 05DB | e(82D00001):    LDR R2, SB, VAR1 | 
| 05DC | e(422A0064):    MUL R2, R2, 64H | 
| 05DD | f               .FIXUP D | 
| 05DD | f(8D100003):    LDR SB, MT, MOD1 [Kernel] | 
| 05DE | f(83D00004):    LDR R3, SB, VAR4 | 
| 05DF | f               .FIXUP D | 
| 05DF | f(8D100002):    LDR SB, MT, MOD1 [Kernel] | 
| 05E0 | f(84D00003):    LDR R4, SB, VAR3 | 
| 05E1 | f(03390004):    SUB R3, R3, R4 | 
| 05E2 | g(D629596C):    BLLE MT [trap=6, pos=10585] | 
| 05E3 | g(022B0003):    DIV R2, R2, R3 | 
| 05E4 | h(43000004):    MOV R3, R0, 4H | 
| 05E5 | i               .FIXUP P | 
| 05E5 | i(F791E010):    BL MOD9 [Texts] PROC30 | 
| 05E6 | j               .FIXUP D | 
| 05E6 | j(8D000007):    LDR SB, MT, MOD0 [System] | 
| 05E7 | j(40D80000):    ADD R0, SB, 0H [data] | 
| 05E8 | j               .FIXUP D | 
| 05E8 | j(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 05E9 | j(41D80005):    ADD R1, SB, VAR5 | 
| 05EA | k(42000025):    MOV R2, R0, 25H | 
| 05EB | l               .FIXUP P | 
| 05EB | l(F791B006):    BL MOD9 [Texts] PROC27 | 
| 05EC | m(F7FFFA3E):    BL -1474 [002BH] | 
 |     Texts.WriteString(W,n "  Disk sectors ")o;p Texts.WriteInt(W,q Kernel.NofSectors,r 4)s;t | 
| 05ED | n               .FIXUP D | 
| 05ED | n(8D000005):    LDR SB, MT, MOD0 [System] | 
| 05EE | n(40D80000):    ADD R0, SB, 0H [data] | 
| 05EF | n               .FIXUP D | 
| 05EF | n(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 05F0 | n(41D80005):    ADD R1, SB, VAR5 | 
| 05F1 | o               .FIXUP D | 
| 05F1 | o(8D000002):    LDR SB, MT, MOD0 [System] | 
| 05F2 | o(42D801E0):    ADD R2, SB, 1E0H ["  Disk sectors "] | 
| 05F3 | o(43000010):    MOV R3, R0, 10H | 
| 05F4 | p               .FIXUP P | 
| 05F4 | p(F791D009):    BL MOD9 [Texts] PROC29 | 
| 05F5 | q               .FIXUP D | 
| 05F5 | q(8D000004):    LDR SB, MT, MOD0 [System] | 
| 05F6 | q(40D80000):    ADD R0, SB, 0H [data] | 
| 05F7 | q               .FIXUP D | 
| 05F7 | q(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 05F8 | q(41D80005):    ADD R1, SB, VAR5 | 
| 05F9 | r               .FIXUP D | 
| 05F9 | r(8D100002):    LDR SB, MT, MOD1 [Kernel] | 
| 05FA | r(82D00002):    LDR R2, SB, VAR2 | 
| 05FB | s(43000004):    MOV R3, R0, 4H | 
| 05FC | t               .FIXUP P | 
| 05FC | t(F791E008):    BL MOD9 [Texts] PROC30 | 
 |     Texts.WriteInt(W,u Kernel.NofSectors * 100 DIVv 10000H,w 4)x;y Texts.Write(W,z "%")a;b EndLine;c | 
| 05FD | u               .FIXUP D | 
| 05FD | u(8D000004):    LDR SB, MT, MOD0 [System] | 
| 05FE | u(40D80000):    ADD R0, SB, 0H [data] | 
| 05FF | u               .FIXUP D | 
| 05FF | u(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 0600 | u(41D80005):    ADD R1, SB, VAR5 | 
| 0601 | v               .FIXUP D | 
| 0601 | v(8D100002):    LDR SB, MT, MOD1 [Kernel] | 
| 0602 | v(82D00002):    LDR R2, SB, VAR2 | 
| 0603 | v(422A0064):    MUL R2, R2, 64H | 
| 0604 | w(42220010):    ASR R2, R2, 10H | 
| 0605 | x(43000004):    MOV R3, R0, 4H | 
| 0606 | y               .FIXUP P | 
| 0606 | y(F791E00A):    BL MOD9 [Texts] PROC30 | 
| 0607 | z               .FIXUP D | 
| 0607 | z(8D000006):    LDR SB, MT, MOD0 [System] | 
| 0608 | z(40D80000):    ADD R0, SB, 0H [data] | 
| 0609 | z               .FIXUP D | 
| 0609 | z(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 060A | z(41D80005):    ADD R1, SB, VAR5 | 
| 060B | a(42000025):    MOV R2, R0, 25H | 
| 060C | b               .FIXUP P | 
| 060C | b(F791B006):    BL MOD9 [Texts] PROC27 | 
| 060D | c(F7FFFA1D):    BL -1507 [002BH] | 
 |     Texts.WriteString(W,d "  Tasks")e;f Texts.WriteInt(W,g Oberon.NofTasks,h 4)i;j EndLine | 
| 060E | d               .FIXUP D | 
| 060E | d(8D000005):    LDR SB, MT, MOD0 [System] | 
| 060F | d(40D80000):    ADD R0, SB, 0H [data] | 
| 0610 | d               .FIXUP D | 
| 0610 | d(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 0611 | d(41D80005):    ADD R1, SB, VAR5 | 
| 0612 | e               .FIXUP D | 
| 0612 | e(8D000002):    LDR SB, MT, MOD0 [System] | 
| 0613 | e(42D801F0):    ADD R2, SB, 1F0H ["  Tasks"] | 
| 0614 | e(43000008):    MOV R3, R0, 8H | 
| 0615 | f               .FIXUP P | 
| 0615 | f(F791D009):    BL MOD9 [Texts] PROC29 | 
| 0616 | g               .FIXUP D | 
| 0616 | g(8D000004):    LDR SB, MT, MOD0 [System] | 
| 0617 | g(40D80000):    ADD R0, SB, 0H [data] | 
| 0618 | g               .FIXUP D | 
| 0618 | g(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 0619 | g(41D80005):    ADD R1, SB, VAR5 | 
| 061A | h               .FIXUP D | 
| 061A | h(8DA00002):    LDR SB, MT, MOD10 [Oberon] | 
| 061B | h(82D00012):    LDR R2, SB, VAR18 | 
| 061C | i(43000004):    MOV R3, R0, 4H | 
| 061D | j               .FIXUP P | 
| 061D | j(F791E008):    BL MOD9 [Texts] PROC30 | 
 |   ENDk Watch; | 
| 061E | k(F7FFFA0C):    BL -1524 [002BH] | 
| 061F | k(8FE00000):    LDR LNK, SP, 0H | 
| 0620 | k(4EE80004):    ADD SP, SP, 4H | 
| 0621 | k(C700000F):    B LNK | 
 |  | 
 |   PROCEDURE ShowModules*; | 
 |     VAR T: Texts.Text; | 
 |       V: Viewers.Viewer; | 
 |       M: Modules.Module; | 
 |       X, Y: INTEGER; | 
 |   BEGINl T := TextFrames.Text("")m;n | 
| 0622 | l               .PROC 21 | 
| 0622 | l               .COMMAND ShowModules | 
| 0622 | l(4EE90018):    SUB SP, SP, 18H | 
| 0623 | l(AFE00000):    STR LNK, SP, 0H | 
| 0624 | m               .FIXUP D | 
| 0624 | m(8D00000A):    LDR SB, MT, MOD0 [System] | 
| 0625 | m(40D801F8):    ADD R0, SB, 1F8H [""] | 
| 0626 | m(41000001):    MOV R1, R0, 1H | 
| 0627 | n               .FIXUP P | 
| 0627 | n(F7C2B00A):    BL MOD12 [TextFrames] PROC43 | 
| 0628 | n(A0E00004):    STR R0, SP, 4H | 
 |     Oberon.AllocateSystemViewer(Oberon.Par.vwr.oXp,q X,r Y)s;t | 
| 0629 | o               .FIXUP D | 
| 0629 | o(8DA00005):    LDR SB, MT, MOD10 [Oberon] | 
| 062A | o(40D8000E):    ADD R0, SB, VAR14 | 
| 062B | p(80000000):    LDR R0, R0, 0H | 
| 062C | p(D12B5A4C):    BLEQ MT [trap=4, pos=11098] | 
| 062D | q(80000008):    LDR R0, R0, 8H | 
| 062E | r(41E80010):    ADD R1, SP, 10H | 
| 062F | s(42E80014):    ADD R2, SP, 14H | 
| 0630 | t               .FIXUP P | 
| 0630 | t(F7A23009):    BL MOD10 [Oberon] PROC35 | 
 |     V := MenuViewers.New(TextFrames.NewMenu("System.ShowModules",u StandardMenu)v,w | 
| 0631 | u               .FIXUP D | 
| 0631 | u(8D000008):    LDR SB, MT, MOD0 [System] | 
| 0632 | u(40D801FC):    ADD R0, SB, 1FCH ["System.ShowModules"] | 
| 0633 | u(41000013):    MOV R1, R0, 13H | 
| 0634 | v(42D80048):    ADD R2, SB, 48H | 
| 0635 | v(4300003C):    MOV R3, R0, 3CH | 
| 0636 | w               .FIXUP P | 
| 0636 | w(F7C2C006):    BL MOD12 [TextFrames] PROC44 | 
 |         TextFrames.NewText(Tx,y 0)z,a TextFrames.menuH,b X,c Y)d;e | 
| 0637 | x(4EE90004):    SUB SP, SP, 4H | 
| 0638 | x(A0E00000):    STR R0, SP, 0H | 
| 0639 | y(80E00008):    LDR R0, SP, 8H | 
| 063A | z(41000000):    MOV R1, R0, 0H | 
| 063B | a               .FIXUP P | 
| 063B | a(F7C2D005):    BL MOD12 [TextFrames] PROC45 | 
| 063C | a(01000000):    MOV R1, R0, R0 | 
| 063D | a(80E00000):    LDR R0, SP, 0H | 
| 063E | a(4EE80004):    ADD SP, SP, 4H | 
| 063F | b               .FIXUP D | 
| 063F | b(8DC0000E):    LDR SB, MT, MOD12 [TextFrames] | 
| 0640 | b(82D00005):    LDR R2, SB, VAR5 | 
| 0641 | c(83E00010):    LDR R3, SP, 10H | 
| 0642 | d(84E00014):    LDR R4, SP, 14H | 
| 0643 | e               .FIXUP P | 
| 0643 | e(F7B04008):    BL MOD11 [MenuViewers] PROC4 | 
| 0644 | e(A0E00008):    STR R0, SP, 8H | 
 |     M := Modules.root;f | 
| 0645 | f               .FIXUP D | 
| 0645 | f(8D400006):    LDR SB, MT, MOD4 [Modules] | 
| 0646 | f(80D00002):    LDR R0, SB, VAR2 | 
| 0647 | f(A0E0000C):    STR R0, SP, CH | 
 |     WHILE M # NIL DOg | 
| 0648 | g(80E0000C):    LDR R0, SP, CH | 
| 0649 | g(E100003C):    BEQ 60 [0686H] | 
 |       IF M.nameh[0] # 0X THENi | 
| 064A | h(80E0000C):    LDR R0, SP, CH | 
| 064B | h(D12C2A4C):    BLEQ MT [trap=4, pos=11306] | 
| 064C | i(90000000):    LDR R0, R0, 0H | 
| 064D | i(E1000026):    BEQ 38 [0674H] | 
 |         Texts.WriteString(W,j M.namek)l;m Texts.Write(W,n 9X)o;p Texts.WriteHex(W,q ORD(M))r;s | 
| 064E | j               .FIXUP D | 
| 064E | j(8D000009):    LDR SB, MT, MOD0 [System] | 
| 064F | j(40D80000):    ADD R0, SB, 0H [data] | 
| 0650 | j               .FIXUP D | 
| 0650 | j(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 0651 | j(41D80005):    ADD R1, SB, VAR5 | 
| 0652 | k(82E0000C):    LDR R2, SP, CH | 
| 0653 | k(D12C5B4C):    BLEQ MT [trap=4, pos=11355] | 
| 0654 | l(43000020):    MOV R3, R0, 20H | 
| 0655 | m               .FIXUP P | 
| 0655 | m(F791D012):    BL MOD9 [Texts] PROC29 | 
| 0656 | n               .FIXUP D | 
| 0656 | n(8D000006):    LDR SB, MT, MOD0 [System] | 
| 0657 | n(40D80000):    ADD R0, SB, 0H [data] | 
| 0658 | n               .FIXUP D | 
| 0658 | n(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 0659 | n(41D80005):    ADD R1, SB, VAR5 | 
| 065A | o(42000009):    MOV R2, R0, 9H | 
| 065B | p               .FIXUP P | 
| 065B | p(F791B006):    BL MOD9 [Texts] PROC27 | 
| 065C | q               .FIXUP D | 
| 065C | q(8D000004):    LDR SB, MT, MOD0 [System] | 
| 065D | q(40D80000):    ADD R0, SB, 0H [data] | 
| 065E | q               .FIXUP D | 
| 065E | q(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 065F | q(41D80005):    ADD R1, SB, VAR5 | 
| 0660 | r(82E0000C):    LDR R2, SP, CH | 
| 0661 | s               .FIXUP P | 
| 0661 | s(F791F006):    BL MOD9 [Texts] PROC31 | 
 |         Texts.WriteHex(W,t M.codeu)v;w Texts.WriteInt(W,x M.refcnty,z 4)a | 
| 0662 | t               .FIXUP D | 
| 0662 | t(8D000004):    LDR SB, MT, MOD0 [System] | 
| 0663 | t(40D80000):    ADD R0, SB, 0H [data] | 
| 0664 | t               .FIXUP D | 
| 0664 | t(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 0665 | t(41D80005):    ADD R1, SB, VAR5 | 
| 0666 | u(82E0000C):    LDR R2, SP, CH | 
| 0667 | u(D12CAD4C):    BLEQ MT [trap=4, pos=11437] | 
| 0668 | v(82200038):    LDR R2, R2, 38H | 
| 0669 | w               .FIXUP P | 
| 0669 | w(F791F008):    BL MOD9 [Texts] PROC31 | 
| 066A | x               .FIXUP D | 
| 066A | x(8D000006):    LDR SB, MT, MOD0 [System] | 
| 066B | x(40D80000):    ADD R0, SB, 0H [data] | 
| 066C | x               .FIXUP D | 
| 066C | x(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 066D | x(41D80005):    ADD R1, SB, VAR5 | 
| 066E | y(82E0000C):    LDR R2, SP, CH | 
| 066F | y(D12CCA4C):    BLEQ MT [trap=4, pos=11466] | 
| 0670 | z(82200030):    LDR R2, R2, 30H | 
| 0671 | a(43000004):    MOV R3, R0, 4H | 
 |       ELSEb Textsc.WriteString(W,d "---")e | 
| 0672 | b               .FIXUP P | 
| 0672 | b(F791E009):    BL MOD9 [Texts] PROC30 | 
| 0673 | c(E7000008):    B 8 [067CH] | 
| 0674 | d               .FIXUP D | 
| 0674 | d(8D000008):    LDR SB, MT, MOD0 [System] | 
| 0675 | d(40D80000):    ADD R0, SB, 0H [data] | 
| 0676 | d               .FIXUP D | 
| 0676 | d(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 0677 | d(41D80005):    ADD R1, SB, VAR5 | 
| 0678 | e               .FIXUP D | 
| 0678 | e(8D000002):    LDR SB, MT, MOD0 [System] | 
| 0679 | e(42D80210):    ADD R2, SB, 210H ["---"] | 
| 067A | e(43000004):    MOV R3, R0, 4H | 
 |       ENDf ; | 
| 067B | f               .FIXUP P | 
| 067B | f(F791D009):    BL MOD9 [Texts] PROC29 | 
 |       Texts.WriteLn(W)g;h M := M.nexti | 
| 067C | g               .FIXUP D | 
| 067C | g(8D000004):    LDR SB, MT, MOD0 [System] | 
| 067D | g(40D80000):    ADD R0, SB, 0H [data] | 
| 067E | g               .FIXUP D | 
| 067E | g(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 067F | g(41D80005):    ADD R1, SB, VAR5 | 
| 0680 | h               .FIXUP P | 
| 0680 | h(F791C005):    BL MOD9 [Texts] PROC28 | 
| 0681 | i(80E0000C):    LDR R0, SP, CH | 
| 0682 | i(D12D254C):    BLEQ MT [trap=4, pos=11557] | 
 |     ENDj; | 
| 0683 | j(80000020):    LDR R0, R0, 20H | 
| 0684 | j(A0E0000C):    STR R0, SP, CH | 
| 0685 | j(E7FFFFC2):    B -62 [0648H] | 
 |     Texts.Append(T,k W.buf)l | 
| 0686 | k(80E00004):    LDR R0, SP, 4H | 
| 0687 | l               .FIXUP D | 
| 0687 | l(8D000009):    LDR SB, MT, MOD0 [System] | 
| 0688 | l(81D00000):    LDR R1, SB, 0H [data] | 
 |   ENDm ShowModules; | 
| 0689 | m               .FIXUP P | 
| 0689 | m(F790E009):    BL MOD9 [Texts] PROC14 | 
| 068A | m(8FE00000):    LDR LNK, SP, 0H | 
| 068B | m(4EE80018):    ADD SP, SP, 18H | 
| 068C | m(C700000F):    B LNK | 
 |  | 
 |   PROCEDURE ShowCommands*; | 
 |     VAR M: Modules.Module; | 
 |       comadr: LONGINT; ch: CHAR; | 
 |       T: Texts.Text; | 
 |       S: Texts.Scanner; | 
 |       V: Viewers.Viewer; | 
 |       X, Y: INTEGER; | 
 |   BEGINn GetArg(S)o;p | 
| 068D | n               .PROC 22 | 
| 068D | n               .COMMAND ShowCommands | 
| 068D | n(4EE90094):    SUB SP, SP, 94H | 
| 068E | n(AFE00000):    STR LNK, SP, 0H | 
| 068F | o(40E80014):    ADD R0, SP, 14H | 
| 0690 | o               .FIXUP D | 
| 0690 | o(8D900009):    LDR SB, MT, MOD9 [Texts] | 
| 0691 | o(41D80003):    ADD R1, SB, VAR3 | 
| 0692 | p(F7FFF96D):    BL -1683 [0000H] | 
 |     IF S.class = Texts.Name THENq | 
| 0693 | q(80E00050):    LDR R0, SP, 50H | 
| 0694 | q(40090001):    SUB R0, R0, 1H | 
| 0695 | q(E9000069):    BNE 105 [06FFH] | 
 |       Modules.Load(S.s,r M)s;t | 
| 0696 | r(40E80068):    ADD R0, SP, 68H | 
| 0697 | r(41000020):    MOV R1, R0, 20H | 
| 0698 | s(42E80004):    ADD R2, SP, 4H | 
| 0699 | t               .FIXUP P | 
| 0699 | t(F7408010):    BL MOD4 [Modules] PROC8 | 
 |       IF M # NIL THENu | 
| 069A | u(80E00004):    LDR R0, SP, 4H | 
| 069B | u(E1000063):    BEQ 99 [06FFH] | 
 |         Oberon.AllocateSystemViewer(Oberon.Par.vwr.vXw,x X,y Y)z;a T := TextFrames.Text("")b;c | 
| 069C | v               .FIXUP D | 
| 069C | v(8DA0000C):    LDR SB, MT, MOD10 [Oberon] | 
| 069D | v(40D8000E):    ADD R0, SB, VAR14 | 
| 069E | w(80000000):    LDR R0, R0, 0H | 
| 069F | w(D12EAA4C):    BLEQ MT [trap=4, pos=11946] | 
| 06A0 | x(80000008):    LDR R0, R0, 8H | 
| 06A1 | y(41E8008C):    ADD R1, SP, 8CH | 
| 06A2 | z(42E80090):    ADD R2, SP, 90H | 
| 06A3 | a               .FIXUP P | 
| 06A3 | a(F7A2300A):    BL MOD10 [Oberon] PROC35 | 
| 06A4 | b               .FIXUP D | 
| 06A4 | b(8D000008):    LDR SB, MT, MOD0 [System] | 
| 06A5 | b(40D80214):    ADD R0, SB, 214H [""] | 
| 06A6 | b(41000001):    MOV R1, R0, 1H | 
| 06A7 | c               .FIXUP P | 
| 06A7 | c(F7C2B004):    BL MOD12 [TextFrames] PROC43 | 
| 06A8 | c(A0E00010):    STR R0, SP, 10H | 
 |         V := MenuViewers.New(TextFrames.NewMenu("System.Commands",d StandardMenu)e,f | 
| 06A9 | d               .FIXUP D | 
| 06A9 | d(8D000005):    LDR SB, MT, MOD0 [System] | 
| 06AA | d(40D80218):    ADD R0, SB, 218H ["System.Commands"] | 
| 06AB | d(41000010):    MOV R1, R0, 10H | 
| 06AC | e(42D80048):    ADD R2, SB, 48H | 
| 06AD | e(4300003C):    MOV R3, R0, 3CH | 
| 06AE | f               .FIXUP P | 
| 06AE | f(F7C2C007):    BL MOD12 [TextFrames] PROC44 | 
 |             TextFrames.NewText(Tg,h 0)i,j TextFrames.menuH,k X,l Y)m;n | 
| 06AF | g(4EE90004):    SUB SP, SP, 4H | 
| 06B0 | g(A0E00000):    STR R0, SP, 0H | 
| 06B1 | h(80E00014):    LDR R0, SP, 14H | 
| 06B2 | i(41000000):    MOV R1, R0, 0H | 
| 06B3 | j               .FIXUP P | 
| 06B3 | j(F7C2D005):    BL MOD12 [TextFrames] PROC45 | 
| 06B4 | j(01000000):    MOV R1, R0, R0 | 
| 06B5 | j(80E00000):    LDR R0, SP, 0H | 
| 06B6 | j(4EE80004):    ADD SP, SP, 4H | 
| 06B7 | k               .FIXUP D | 
| 06B7 | k(8DC0000E):    LDR SB, MT, MOD12 [TextFrames] | 
| 06B8 | k(82D00005):    LDR R2, SB, VAR5 | 
| 06B9 | l(83E0008C):    LDR R3, SP, 8CH | 
| 06BA | m(84E00090):    LDR R4, SP, 90H | 
| 06BB | n               .FIXUP P | 
| 06BB | n(F7B04008):    BL MOD11 [MenuViewers] PROC4 | 
| 06BC | n(A0E00088):    STR R0, SP, 88H | 
 |         comadr := M.cmdo;p SYSTEM.GET(comadr, ch);q INC(comadr);r | 
| 06BD | o(80E00004):    LDR R0, SP, 4H | 
| 06BE | o(D12F754C):    BLEQ MT [trap=4, pos=12149] | 
| 06BF | p(80000040):    LDR R0, R0, 40H | 
| 06C0 | p(A0E00008):    STR R0, SP, 8H | 
| 06C1 | q(80E00008):    LDR R0, SP, 8H | 
| 06C2 | q(90000000):    LDR R0, R0, 0H | 
| 06C3 | q(B0E0000C):    STR R0, SP, CH | 
| 06C4 | r(80E00008):    LDR R0, SP, 8H | 
| 06C5 | r(40080001):    ADD R0, R0, 1H | 
| 06C6 | r(A0E00008):    STR R0, SP, 8H | 
 |         WHILE ch # 0X DOs | 
| 06C7 | s(90E0000C):    LDR R0, SP, CH | 
| 06C8 | s(E1000032):    BEQ 50 [06FBH] | 
 |           Texts.WriteString(W,t S.s)u;v Texts.Write(W,w ".")x;y | 
| 06C9 | t               .FIXUP D | 
| 06C9 | t(8D000012):    LDR SB, MT, MOD0 [System] | 
| 06CA | t(40D80000):    ADD R0, SB, 0H [data] | 
| 06CB | t               .FIXUP D | 
| 06CB | t(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 06CC | t(41D80005):    ADD R1, SB, VAR5 | 
| 06CD | u(42E80068):    ADD R2, SP, 68H | 
| 06CE | u(43000020):    MOV R3, R0, 20H | 
| 06CF | v               .FIXUP P | 
| 06CF | v(F791D014):    BL MOD9 [Texts] PROC29 | 
| 06D0 | w               .FIXUP D | 
| 06D0 | w(8D000005):    LDR SB, MT, MOD0 [System] | 
| 06D1 | w(40D80000):    ADD R0, SB, 0H [data] | 
| 06D2 | w               .FIXUP D | 
| 06D2 | w(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 06D3 | w(41D80005):    ADD R1, SB, VAR5 | 
| 06D4 | x(4200002E):    MOV R2, R0, 2EH | 
| 06D5 | y               .FIXUP P | 
| 06D5 | y(F791B006):    BL MOD9 [Texts] PROC27 | 
 |           REPEAT Texts.Write(W,z ch)a;b SYSTEM.GET(comadr, ch);c INC(comadr) | 
| 06D6 | z               .FIXUP D | 
| 06D6 | z(8D000004):    LDR SB, MT, MOD0 [System] | 
| 06D7 | z(40D80000):    ADD R0, SB, 0H [data] | 
| 06D8 | z               .FIXUP D | 
| 06D8 | z(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 06D9 | z(41D80005):    ADD R1, SB, VAR5 | 
| 06DA | a(92E0000C):    LDR R2, SP, CH | 
| 06DB | b               .FIXUP P | 
| 06DB | b(F791B006):    BL MOD9 [Texts] PROC27 | 
| 06DC | c(80E00008):    LDR R0, SP, 8H | 
| 06DD | c(90000000):    LDR R0, R0, 0H | 
| 06DE | c(B0E0000C):    STR R0, SP, CH | 
 |           UNTILd ch = 0X;e | 
| 06DF | d(80E00008):    LDR R0, SP, 8H | 
| 06E0 | d(40080001):    ADD R0, R0, 1H | 
| 06E1 | d(A0E00008):    STR R0, SP, 8H | 
| 06E2 | e(90E0000C):    LDR R0, SP, CH | 
| 06E3 | e(E9FFFFF2):    BNE -14 [06D6H] | 
 |           WHILE comadr MOD 4 #f 0 DOg INC(comadr) ENDh ; | 
| 06E4 | f(80E00008):    LDR R0, SP, 8H | 
| 06E5 | f(40040003):    AND R0, R0, 3H | 
| 06E6 | g(40090000):    SUB R0, R0, 0H | 
| 06E7 | g(E1000004):    BEQ 4 [06ECH] | 
| 06E8 | h(80E00008):    LDR R0, SP, 8H | 
| 06E9 | h(40080001):    ADD R0, R0, 1H | 
| 06EA | h(A0E00008):    STR R0, SP, 8H | 
| 06EB | h(E7FFFFF8):    B -8 [06E4H] | 
 |           Texts.WriteLn(W)i;j INC(comadr, 4);k SYSTEM.GET(comadr, ch);l INC(comadr) | 
| 06EC | i               .FIXUP D | 
| 06EC | i(8D000014):    LDR SB, MT, MOD0 [System] | 
| 06ED | i(40D80000):    ADD R0, SB, 0H [data] | 
| 06EE | i               .FIXUP D | 
| 06EE | i(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 06EF | i(41D80005):    ADD R1, SB, VAR5 | 
| 06F0 | j               .FIXUP P | 
| 06F0 | j(F791C015):    BL MOD9 [Texts] PROC28 | 
| 06F1 | k(80E00008):    LDR R0, SP, 8H | 
| 06F2 | k(40080004):    ADD R0, R0, 4H | 
| 06F3 | k(A0E00008):    STR R0, SP, 8H | 
| 06F4 | l(80E00008):    LDR R0, SP, 8H | 
| 06F5 | l(90000000):    LDR R0, R0, 0H | 
| 06F6 | l(B0E0000C):    STR R0, SP, CH | 
 |         ENDm ; | 
| 06F7 | m(80E00008):    LDR R0, SP, 8H | 
| 06F8 | m(40080001):    ADD R0, R0, 1H | 
| 06F9 | m(A0E00008):    STR R0, SP, 8H | 
| 06FA | m(E7FFFFCC):    B -52 [06C7H] | 
 |         Texts.Append(T,n W.buf)o | 
| 06FB | n(80E00010):    LDR R0, SP, 10H | 
| 06FC | o               .FIXUP D | 
| 06FC | o(8D00000E):    LDR SB, MT, MOD0 [System] | 
| 06FD | o(81D00000):    LDR R1, SB, 0H [data] | 
 |       ENDp | 
| 06FE | p               .FIXUP P | 
| 06FE | p(F790E00E):    BL MOD9 [Texts] PROC14 | 
 |     END | 
 |   ENDq ShowCommands; | 
| 06FF | q(8FE00000):    LDR LNK, SP, 0H | 
| 0700 | q(4EE80094):    ADD SP, SP, 94H | 
| 0701 | q(C700000F):    B LNK | 
 |  | 
 |   PROCEDURE ShowFonts*; | 
 |     VAR fnt: Fonts.Font; | 
 |   BEGINr Texts.WriteString(W,s "System.ShowFonts")t;u Texts.WriteLn(W)v;w fnt := Fonts.root;x | 
| 0702 | r               .PROC 23 | 
| 0702 | r               .COMMAND ShowFonts | 
| 0702 | r(4EE90008):    SUB SP, SP, 8H | 
| 0703 | r(AFE00000):    STR LNK, SP, 0H | 
| 0704 | s               .FIXUP D | 
| 0704 | s(8D000008):    LDR SB, MT, MOD0 [System] | 
| 0705 | s(40D80000):    ADD R0, SB, 0H [data] | 
| 0706 | s               .FIXUP D | 
| 0706 | s(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 0707 | s(41D80005):    ADD R1, SB, VAR5 | 
| 0708 | t               .FIXUP D | 
| 0708 | t(8D000002):    LDR SB, MT, MOD0 [System] | 
| 0709 | t(42D80228):    ADD R2, SB, 228H ["System.ShowFonts"] | 
| 070A | t(43000011):    MOV R3, R0, 11H | 
| 070B | u               .FIXUP P | 
| 070B | u(F791D00D):    BL MOD9 [Texts] PROC29 | 
| 070C | v               .FIXUP D | 
| 070C | v(8D000004):    LDR SB, MT, MOD0 [System] | 
| 070D | v(40D80000):    ADD R0, SB, 0H [data] | 
| 070E | v               .FIXUP D | 
| 070E | v(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 070F | v(41D80005):    ADD R1, SB, VAR5 | 
| 0710 | w               .FIXUP P | 
| 0710 | w(F791C005):    BL MOD9 [Texts] PROC28 | 
| 0711 | x               .FIXUP D | 
| 0711 | x(8D800003):    LDR SB, MT, MOD8 [Fonts] | 
| 0712 | x(80D00003):    LDR R0, SB, VAR3 | 
| 0713 | x(A0E00004):    STR R0, SP, 4H | 
 |     WHILE fnt # NIL DOy | 
| 0714 | y(80E00004):    LDR R0, SP, 4H | 
| 0715 | y(E1000018):    BEQ 24 [072EH] | 
 |       Texts.Write(W,z 9X)a;b Texts.WriteString(W,c fnt.named)e;f Texts.WriteLn(W)g;h fnt := fnt.nexti | 
| 0716 | z               .FIXUP D | 
| 0716 | z(8D000005):    LDR SB, MT, MOD0 [System] | 
| 0717 | z(40D80000):    ADD R0, SB, 0H [data] | 
| 0718 | z               .FIXUP D | 
| 0718 | z(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 0719 | z(41D80005):    ADD R1, SB, VAR5 | 
| 071A | a(42000009):    MOV R2, R0, 9H | 
| 071B | b               .FIXUP P | 
| 071B | b(F791B00B):    BL MOD9 [Texts] PROC27 | 
| 071C | c               .FIXUP D | 
| 071C | c(8D000004):    LDR SB, MT, MOD0 [System] | 
| 071D | c(40D80000):    ADD R0, SB, 0H [data] | 
| 071E | c               .FIXUP D | 
| 071E | c(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 071F | c(41D80005):    ADD R1, SB, VAR5 | 
| 0720 | d(82E00004):    LDR R2, SP, 4H | 
| 0721 | d(D132014C):    BLEQ MT [trap=4, pos=12801] | 
| 0722 | e(43000020):    MOV R3, R0, 20H | 
| 0723 | f               .FIXUP P | 
| 0723 | f(F791D008):    BL MOD9 [Texts] PROC29 | 
| 0724 | g               .FIXUP D | 
| 0724 | g(8D000006):    LDR SB, MT, MOD0 [System] | 
| 0725 | g(40D80000):    ADD R0, SB, 0H [data] | 
| 0726 | g               .FIXUP D | 
| 0726 | g(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 0727 | g(41D80005):    ADD R1, SB, VAR5 | 
| 0728 | h               .FIXUP P | 
| 0728 | h(F791C005):    BL MOD9 [Texts] PROC28 | 
| 0729 | i(80E00004):    LDR R0, SP, 4H | 
| 072A | i(D132254C):    BLEQ MT [trap=4, pos=12837] | 
 |     ENDj ; | 
| 072B | j(80000034):    LDR R0, R0, 34H | 
| 072C | j(A0E00004):    STR R0, SP, 4H | 
| 072D | j(E7FFFFE6):    B -26 [0714H] | 
 |     Texts.Append(Oberon.Log,k W.buf)l | 
| 072E | k               .FIXUP D | 
| 072E | k(8DA00008):    LDR SB, MT, MOD10 [Oberon] | 
| 072F | k(80D0000D):    LDR R0, SB, VAR13 | 
| 0730 | l               .FIXUP D | 
| 0730 | l(8D000002):    LDR SB, MT, MOD0 [System] | 
| 0731 | l(81D00000):    LDR R1, SB, 0H [data] | 
 |   ENDm ShowFonts; | 
| 0732 | m               .FIXUP P | 
| 0732 | m(F790E00A):    BL MOD9 [Texts] PROC14 | 
| 0733 | m(8FE00000):    LDR LNK, SP, 0H | 
| 0734 | m(4EE80008):    ADD SP, SP, 8H | 
| 0735 | m(C700000F):    B LNK | 
 |  | 
 |   PROCEDURE OpenViewers; | 
 |     VAR logV, toolV: Viewers.Viewer; | 
 |       menu, main: Display.Frame; | 
 |       d: LONGINT; X, Y: INTEGER; | 
 |   BEGINn d := Kernel.Clock();o Texts.WriteString(W,p "Oberon V5  NW 14.4.2013")q;r EndLine;s | 
| 0736 | n(4EE90020):    SUB SP, SP, 20H | 
| 0737 | n(AFE00000):    STR LNK, SP, 0H | 
| 0738 | o               .FIXUP P | 
| 0738 | o(F7112006):    BL MOD1 [Kernel] PROC18 | 
| 0739 | o(A0E00014):    STR R0, SP, 14H | 
| 073A | p               .FIXUP D | 
| 073A | p(8D00000A):    LDR SB, MT, MOD0 [System] | 
| 073B | p(40D80000):    ADD R0, SB, 0H [data] | 
| 073C | p               .FIXUP D | 
| 073C | p(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 073D | p(41D80005):    ADD R1, SB, VAR5 | 
| 073E | q               .FIXUP D | 
| 073E | q(8D000002):    LDR SB, MT, MOD0 [System] | 
| 073F | q(42D8023C):    ADD R2, SB, 23CH ["Oberon V5  NW 14.4.2013"] | 
| 0740 | q(43000018):    MOV R3, R0, 18H | 
| 0741 | r               .FIXUP P | 
| 0741 | r(F791D009):    BL MOD9 [Texts] PROC29 | 
| 0742 | s(F7FFF8E8):    BL -1816 [002BH] | 
 |     Oberon.AllocateSystemViewer(0,t X,u Y)v;w | 
| 0743 | t(40000000):    MOV R0, R0, 0H | 
| 0744 | u(41E80018):    ADD R1, SP, 18H | 
| 0745 | v(42E8001C):    ADD R2, SP, 1CH | 
| 0746 | w               .FIXUP P | 
| 0746 | w(F7A23005):    BL MOD10 [Oberon] PROC35 | 
 |     menu := TextFrames.NewMenu("System.Log",x LogMenu)y;z | 
| 0747 | x               .FIXUP D | 
| 0747 | x(8D000009):    LDR SB, MT, MOD0 [System] | 
| 0748 | x(40D80254):    ADD R0, SB, 254H ["System.Log"] | 
| 0749 | x(4100000B):    MOV R1, R0, BH | 
| 074A | y(42D80084):    ADD R2, SB, 84H | 
| 074B | y(4300003D):    MOV R3, R0, 3DH | 
| 074C | z               .FIXUP P | 
| 074C | z(F7C2C006):    BL MOD12 [TextFrames] PROC44 | 
| 074D | z(A0E0000C):    STR R0, SP, CH | 
 |     main := TextFrames.NewText(Oberon.Log,a 0)b;c | 
| 074E | a               .FIXUP D | 
| 074E | a(8DA00007):    LDR SB, MT, MOD10 [Oberon] | 
| 074F | a(80D0000D):    LDR R0, SB, VAR13 | 
| 0750 | b(41000000):    MOV R1, R0, 0H | 
| 0751 | c               .FIXUP P | 
| 0751 | c(F7C2D005):    BL MOD12 [TextFrames] PROC45 | 
| 0752 | c(A0E00010):    STR R0, SP, 10H | 
 |     logV := MenuViewers.New(menu,d main,e TextFrames.menuH,f X,g Y)h;i | 
| 0753 | d(80E0000C):    LDR R0, SP, CH | 
| 0754 | e(81E00010):    LDR R1, SP, 10H | 
| 0755 | f               .FIXUP D | 
| 0755 | f(8DC00007):    LDR SB, MT, MOD12 [TextFrames] | 
| 0756 | f(82D00005):    LDR R2, SB, VAR5 | 
| 0757 | g(83E00018):    LDR R3, SP, 18H | 
| 0758 | h(84E0001C):    LDR R4, SP, 1CH | 
| 0759 | i               .FIXUP P | 
| 0759 | i(F7B04008):    BL MOD11 [MenuViewers] PROC4 | 
| 075A | i(A0E00004):    STR R0, SP, 4H | 
 |     Oberon.AllocateSystemViewer(0,j X,k Y)l;m | 
| 075B | j(40000000):    MOV R0, R0, 0H | 
| 075C | k(41E80018):    ADD R1, SP, 18H | 
| 075D | l(42E8001C):    ADD R2, SP, 1CH | 
| 075E | m               .FIXUP P | 
| 075E | m(F7A23005):    BL MOD10 [Oberon] PROC35 | 
 |     menu := TextFrames.NewMenu("System.Tool",n StandardMenu)o;p | 
| 075F | n               .FIXUP D | 
| 075F | n(8D00000A):    LDR SB, MT, MOD0 [System] | 
| 0760 | n(40D80260):    ADD R0, SB, 260H ["System.Tool"] | 
| 0761 | n(4100000C):    MOV R1, R0, CH | 
| 0762 | o(42D80048):    ADD R2, SB, 48H | 
| 0763 | o(4300003C):    MOV R3, R0, 3CH | 
| 0764 | p               .FIXUP P | 
| 0764 | p(F7C2C006):    BL MOD12 [TextFrames] PROC44 | 
| 0765 | p(A0E0000C):    STR R0, SP, CH | 
 |     main := TextFrames.NewText(TextFrames.Text("System.Tool")q,r 0)s;t | 
| 0766 | q               .FIXUP D | 
| 0766 | q(8D000007):    LDR SB, MT, MOD0 [System] | 
| 0767 | q(40D8026C):    ADD R0, SB, 26CH ["System.Tool"] | 
| 0768 | q(4100000C):    MOV R1, R0, CH | 
| 0769 | r               .FIXUP P | 
| 0769 | r(F7C2B005):    BL MOD12 [TextFrames] PROC43 | 
| 076A | s(41000000):    MOV R1, R0, 0H | 
| 076B | t               .FIXUP P | 
| 076B | t(F7C2D002):    BL MOD12 [TextFrames] PROC45 | 
| 076C | t(A0E00010):    STR R0, SP, 10H | 
 |     toolV := MenuViewers.New(menu,u main,v TextFrames.menuH,w X,x Y)y | 
| 076D | u(80E0000C):    LDR R0, SP, CH | 
| 076E | v(81E00010):    LDR R1, SP, 10H | 
| 076F | w               .FIXUP D | 
| 076F | w(8DC00009):    LDR SB, MT, MOD12 [TextFrames] | 
| 0770 | w(82D00005):    LDR R2, SB, VAR5 | 
| 0771 | x(83E00018):    LDR R3, SP, 18H | 
| 0772 | y(84E0001C):    LDR R4, SP, 1CH | 
 |   ENDz OpenViewers; | 
| 0773 | z               .FIXUP P | 
| 0773 | z(F7B04008):    BL MOD11 [MenuViewers] PROC4 | 
| 0774 | z(A0E00008):    STR R0, SP, 8H | 
| 0775 | z(8FE00000):    LDR LNK, SP, 0H | 
| 0776 | z(4EE80020):    ADD SP, SP, 20H | 
| 0777 | z(C700000F):    B LNK | 
 |  | 
 |   PROCEDURE ExtendDisplay*; | 
 |     VAR V: Viewers.Viewer; | 
 |       X, Y, DX, DW, DH: INTEGER; | 
 |       S: Texts.Scanner; | 
 |   BEGINa GetArg(S)b;c | 
| 0778 | a               .PROC 24 | 
| 0778 | a               .COMMAND ExtendDisplay | 
| 0778 | a(4EE90090):    SUB SP, SP, 90H | 
| 0779 | a(AFE00000):    STR LNK, SP, 0H | 
| 077A | b(40E8001C):    ADD R0, SP, 1CH | 
| 077B | b               .FIXUP D | 
| 077B | b(8D90000C):    LDR SB, MT, MOD9 [Texts] | 
| 077C | b(41D80003):    ADD R1, SB, VAR3 | 
| 077D | c(F7FFF882):    BL -1918 [0000H] | 
 |     IF S.class = Texts.Name THENd | 
| 077E | d(80E00058):    LDR R0, SP, 58H | 
| 077F | d(40090001):    SUB R0, R0, 1H | 
| 0780 | d(E900002B):    BNE 43 [07ACH] | 
 |       DX := Viewers.curW;e DW := Oberon.DisplayWidth(DX)f;g DH := Oberon.DisplayHeight(DX)h;i | 
| 0781 | e               .FIXUP D | 
| 0781 | e(8D700006):    LDR SB, MT, MOD7 [Viewers] | 
| 0782 | e(80D00003):    LDR R0, SB, VAR3 | 
| 0783 | e(A0E00010):    STR R0, SP, 10H | 
| 0784 | f(80E00010):    LDR R0, SP, 10H | 
| 0785 | g               .FIXUP P | 
| 0785 | g(F7A1D012):    BL MOD10 [Oberon] PROC29 | 
| 0786 | g(A0E00014):    STR R0, SP, 14H | 
| 0787 | h(80E00010):    LDR R0, SP, 10H | 
| 0788 | i               .FIXUP P | 
| 0788 | i(F7A1E003):    BL MOD10 [Oberon] PROC30 | 
| 0789 | i(A0E00018):    STR R0, SP, 18H | 
 |       Oberon.OpenDisplay(DW DIV 8 *j 5,k DW DIV 8 *l 3,m DH)n;o | 
| 078A | j(80E00014):    LDR R0, SP, 14H | 
| 078B | j(40020003):    ASR R0, R0, 3H | 
| 078C | k(400A0005):    MUL R0, R0, 5H | 
| 078D | l(81E00014):    LDR R1, SP, 14H | 
| 078E | l(41120003):    ASR R1, R1, 3H | 
| 078F | m(411A0003):    MUL R1, R1, 3H | 
| 0790 | n(82E00018):    LDR R2, SP, 18H | 
| 0791 | o               .FIXUP P | 
| 0791 | o(F7A1C009):    BL MOD10 [Oberon] PROC28 | 
 |       Oberon.AllocateSystemViewer(DX,p X,q Y)r;s | 
| 0792 | p(80E00010):    LDR R0, SP, 10H | 
| 0793 | q(41E80008):    ADD R1, SP, 8H | 
| 0794 | r(42E8000C):    ADD R2, SP, CH | 
| 0795 | s               .FIXUP P | 
| 0795 | s(F7A23004):    BL MOD10 [Oberon] PROC35 | 
 |       V := MenuViewers.New( | 
 |         TextFrames.NewMenu(S.s,t StandardMenu)u,v | 
| 0796 | t(40E80070):    ADD R0, SP, 70H | 
| 0797 | t(41000020):    MOV R1, R0, 20H | 
| 0798 | u               .FIXUP D | 
| 0798 | u(8D000017):    LDR SB, MT, MOD0 [System] | 
| 0799 | u(42D80048):    ADD R2, SB, 48H ["System.Close System.Copy System.Grow Edit.Search Edit.Store"] | 
| 079A | u(4300003C):    MOV R3, R0, 3CH | 
| 079B | v               .FIXUP P | 
| 079B | v(F7C2C006):    BL MOD12 [TextFrames] PROC44 | 
 |         TextFrames.NewText(TextFramesw.Text(S.s)x,y 0)z,a | 
| 079C | w(4EE90004):    SUB SP, SP, 4H | 
| 079D | w(A0E00000):    STR R0, SP, 0H | 
| 079E | x(40E80074):    ADD R0, SP, 74H | 
| 079F | x(41000020):    MOV R1, R0, 20H | 
| 07A0 | y               .FIXUP P | 
| 07A0 | y(F7C2B005):    BL MOD12 [TextFrames] PROC43 | 
| 07A1 | z(41000000):    MOV R1, R0, 0H | 
| 07A2 | a               .FIXUP P | 
| 07A2 | a(F7C2D002):    BL MOD12 [TextFrames] PROC45 | 
| 07A3 | a(01000000):    MOV R1, R0, R0 | 
| 07A4 | a(80E00000):    LDR R0, SP, 0H | 
| 07A5 | a(4EE80004):    ADD SP, SP, 4H | 
 |         TextFrames.menuH,b X,c Y)d | 
| 07A6 | b               .FIXUP D | 
| 07A6 | b(8DC0000E):    LDR SB, MT, MOD12 [TextFrames] | 
| 07A7 | b(82D00005):    LDR R2, SB, VAR5 | 
| 07A8 | c(83E00008):    LDR R3, SP, 8H | 
| 07A9 | d(84E0000C):    LDR R4, SP, CH | 
 |     ENDe | 
| 07AA | e               .FIXUP P | 
| 07AA | e(F7B04008):    BL MOD11 [MenuViewers] PROC4 | 
| 07AB | e(A0E00004):    STR R0, SP, 4H | 
 |   ENDf ExtendDisplay; | 
| 07AC | f(8FE00000):    LDR LNK, SP, 0H | 
| 07AD | f(4EE80090):    ADD SP, SP, 90H | 
| 07AE | f(C700000F):    B LNK | 
 |  | 
 |   PROCEDURE Trap(VAR a: INTEGER; b: INTEGER); | 
 |     VAR u, v, w: INTEGER; mod: Modules.Module; | 
 |   BEGINg u := SYSTEM.REG(15);h SYSTEM.GET(u - 4,i v);j w := v DIV 10H MODk 10H;l (*trap number*) | 
| 07AF | g(4EE9001C):    SUB SP, SP, 1CH | 
| 07B0 | g(AFE00000):    STR LNK, SP, 0H | 
| 07B1 | g(A0E00004):    STR R0, SP, 4H | 
| 07B2 | g(A1E00008):    STR R1, SP, 8H | 
| 07B3 | h(0000000F):    MOV R0, R0, LNK | 
| 07B4 | h(A0E0000C):    STR R0, SP, CH | 
| 07B5 | i(80E0000C):    LDR R0, SP, CH | 
| 07B6 | i(40090004):    SUB R0, R0, 4H | 
| 07B7 | j(80000000):    LDR R0, R0, 0H | 
| 07B8 | j(A0E00010):    STR R0, SP, 10H | 
| 07B9 | k(80E00010):    LDR R0, SP, 10H | 
| 07BA | k(40020004):    ASR R0, R0, 4H | 
| 07BB | l(4004000F):    AND R0, R0, FH | 
| 07BC | l(A0E00014):    STR R0, SP, 14H | 
 |     IF w = 0 THENm Kernel.New(a,n b)o | 
| 07BD | m(80E00014):    LDR R0, SP, 14H | 
| 07BE | m(E9000004):    BNE 4 [07C3H] | 
| 07BF | n(80E00004):    LDR R0, SP, 4H | 
| 07C0 | o(81E00008):    LDR R1, SP, 8H | 
 |     ELSEp (*trap*) Textsq.WriteLn(W)r;s Texts.WriteString(W,t "  pos ")u;v Texts.WriteInt(W,w v DIV 100H MODx 10000H,y 4)z;a | 
| 07C1 | p               .FIXUP P | 
| 07C1 | p(F7108017):    BL MOD1 [Kernel] PROC8 | 
| 07C2 | q(E7000066):    B 102 [0829H] | 
| 07C3 | r               .FIXUP D | 
| 07C3 | r(8D00001D):    LDR SB, MT, MOD0 [System] | 
| 07C4 | r(40D80000):    ADD R0, SB, 0H [data] | 
| 07C5 | r               .FIXUP D | 
| 07C5 | r(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 07C6 | r(41D80005):    ADD R1, SB, VAR5 | 
| 07C7 | s               .FIXUP P | 
| 07C7 | s(F791C006):    BL MOD9 [Texts] PROC28 | 
| 07C8 | t               .FIXUP D | 
| 07C8 | t(8D000003):    LDR SB, MT, MOD0 [System] | 
| 07C9 | t(40D80000):    ADD R0, SB, 0H [data] | 
| 07CA | t               .FIXUP D | 
| 07CA | t(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 07CB | t(41D80005):    ADD R1, SB, VAR5 | 
| 07CC | u               .FIXUP D | 
| 07CC | u(8D000002):    LDR SB, MT, MOD0 [System] | 
| 07CD | u(42D80278):    ADD R2, SB, 278H ["  pos "] | 
| 07CE | u(43000007):    MOV R3, R0, 7H | 
| 07CF | v               .FIXUP P | 
| 07CF | v(F791D008):    BL MOD9 [Texts] PROC29 | 
| 07D0 | w               .FIXUP D | 
| 07D0 | w(8D000004):    LDR SB, MT, MOD0 [System] | 
| 07D1 | w(40D80000):    ADD R0, SB, 0H [data] | 
| 07D2 | w               .FIXUP D | 
| 07D2 | w(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 07D3 | w(41D80005):    ADD R1, SB, VAR5 | 
| 07D4 | x(82E00010):    LDR R2, SP, 10H | 
| 07D5 | x(42220008):    ASR R2, R2, 8H | 
| 07D6 | y(4224FFFF):    AND R2, R2, FFFFFFFFH | 
| 07D7 | z(43000004):    MOV R3, R0, 4H | 
| 07D8 | a               .FIXUP P | 
| 07D8 | a(F791E009):    BL MOD9 [Texts] PROC30 | 
 |       Texts.WriteString(W,b "  TRAP")c;d Texts.WriteInt(W,e w,f 4)g;h mod := Modules.root;i | 
| 07D9 | b               .FIXUP D | 
| 07D9 | b(8D000007):    LDR SB, MT, MOD0 [System] | 
| 07DA | b(40D80000):    ADD R0, SB, 0H [data] | 
| 07DB | b               .FIXUP D | 
| 07DB | b(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 07DC | b(41D80005):    ADD R1, SB, VAR5 | 
| 07DD | c               .FIXUP D | 
| 07DD | c(8D000002):    LDR SB, MT, MOD0 [System] | 
| 07DE | c(42D80280):    ADD R2, SB, 280H ["  TRAP"] | 
| 07DF | c(43000007):    MOV R3, R0, 7H | 
| 07E0 | d               .FIXUP P | 
| 07E0 | d(F791D008):    BL MOD9 [Texts] PROC29 | 
| 07E1 | e               .FIXUP D | 
| 07E1 | e(8D000004):    LDR SB, MT, MOD0 [System] | 
| 07E2 | e(40D80000):    ADD R0, SB, 0H [data] | 
| 07E3 | e               .FIXUP D | 
| 07E3 | e(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 07E4 | e(41D80005):    ADD R1, SB, VAR5 | 
| 07E5 | f(82E00014):    LDR R2, SP, 14H | 
| 07E6 | g(43000004):    MOV R3, R0, 4H | 
| 07E7 | h               .FIXUP P | 
| 07E7 | h(F791E007):    BL MOD9 [Texts] PROC30 | 
| 07E8 | i               .FIXUP D | 
| 07E8 | i(8D400005):    LDR SB, MT, MOD4 [Modules] | 
| 07E9 | i(80D00002):    LDR R0, SB, VAR2 | 
| 07EA | i(A0E00018):    STR R0, SP, 18H | 
 |       WHILE (mod # NIL)j & (k(u < mod.codel)m OR (nu >= mod.impo)p) DOq mod := mod.nextr ENDs ; | 
| 07EB | j(80E00018):    LDR R0, SP, 18H | 
| 07EC | k(E1000011):    BEQ 17 [07FEH] | 
| 07ED | l(80E00018):    LDR R0, SP, 18H | 
| 07EE | l(D138F74C):    BLEQ MT [trap=4, pos=14583] | 
| 07EF | m(81E0000C):    LDR R1, SP, CH | 
| 07F0 | m(80000038):    LDR R0, R0, 38H | 
| 07F1 | m(01190000):    SUB R1, R1, R0 | 
| 07F2 | n(E5000006):    BLT 6 [07F9H] | 
| 07F3 | o(80E00018):    LDR R0, SP, 18H | 
| 07F4 | o(D139094C):    BLEQ MT [trap=4, pos=14601] | 
| 07F5 | p(81E0000C):    LDR R1, SP, CH | 
| 07F6 | p(8000003C):    LDR R0, R0, 3CH | 
| 07F7 | p(01190000):    SUB R1, R1, R0 | 
| 07F8 | q(E5000005):    BLT 5 [07FEH] | 
| 07F9 | r(80E00018):    LDR R0, SP, 18H | 
| 07FA | r(D1391E4C):    BLEQ MT [trap=4, pos=14622] | 
| 07FB | s(80000020):    LDR R0, R0, 20H | 
| 07FC | s(A0E00018):    STR R0, SP, 18H | 
| 07FD | s(E7FFFFED):    B -19 [07EBH] | 
 |       IF mod # NIL THENt Texts.WriteString(W,u " in ")v;w Texts.WriteString(W,x mod.namey)z ENDa ; | 
| 07FE | t(80E00018):    LDR R0, SP, 18H | 
| 07FF | t(E1000010):    BEQ 16 [0810H] | 
| 0800 | u               .FIXUP D | 
| 0800 | u(8D000018):    LDR SB, MT, MOD0 [System] | 
| 0801 | u(40D80000):    ADD R0, SB, 0H [data] | 
| 0802 | u               .FIXUP D | 
| 0802 | u(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 0803 | u(41D80005):    ADD R1, SB, VAR5 | 
| 0804 | v               .FIXUP D | 
| 0804 | v(8D000002):    LDR SB, MT, MOD0 [System] | 
| 0805 | v(42D80288):    ADD R2, SB, 288H [" in "] | 
| 0806 | v(43000005):    MOV R3, R0, 5H | 
| 0807 | w               .FIXUP P | 
| 0807 | w(F791D020):    BL MOD9 [Texts] PROC29 | 
| 0808 | x               .FIXUP D | 
| 0808 | x(8D000004):    LDR SB, MT, MOD0 [System] | 
| 0809 | x(40D80000):    ADD R0, SB, 0H [data] | 
| 080A | x               .FIXUP D | 
| 080A | x(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 080B | x(41D80005):    ADD R1, SB, VAR5 | 
| 080C | y(82E00018):    LDR R2, SP, 18H | 
| 080D | y(D139784C):    BLEQ MT [trap=4, pos=14712] | 
| 080E | z(43000020):    MOV R3, R0, 20H | 
| 080F | a               .FIXUP P | 
| 080F | a(F791D008):    BL MOD9 [Texts] PROC29 | 
 |       Texts.WriteString(W,b " at")c;d Texts.WriteHex(W,e u)f;g | 
| 0810 | b               .FIXUP D | 
| 0810 | b(8D000006):    LDR SB, MT, MOD0 [System] | 
| 0811 | b(40D80000):    ADD R0, SB, 0H [data] | 
| 0812 | b               .FIXUP D | 
| 0812 | b(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 0813 | b(41D80005):    ADD R1, SB, VAR5 | 
| 0814 | c               .FIXUP D | 
| 0814 | c(8D000002):    LDR SB, MT, MOD0 [System] | 
| 0815 | c(42D80290):    ADD R2, SB, 290H [" at"] | 
| 0816 | c(43000004):    MOV R3, R0, 4H | 
| 0817 | d               .FIXUP P | 
| 0817 | d(F791D008):    BL MOD9 [Texts] PROC29 | 
| 0818 | e               .FIXUP D | 
| 0818 | e(8D000004):    LDR SB, MT, MOD0 [System] | 
| 0819 | e(40D80000):    ADD R0, SB, 0H [data] | 
| 081A | e               .FIXUP D | 
| 081A | e(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 081B | e(41D80005):    ADD R1, SB, VAR5 | 
| 081C | f(82E0000C):    LDR R2, SP, CH | 
| 081D | g               .FIXUP P | 
| 081D | g(F791F006):    BL MOD9 [Texts] PROC31 | 
 |       Texts.WriteLn(W)h;i Texts.Append(Oberon.Log,j W.buf)k;l Oberon.Reset | 
| 081E | h               .FIXUP D | 
| 081E | h(8D000004):    LDR SB, MT, MOD0 [System] | 
| 081F | h(40D80000):    ADD R0, SB, 0H [data] | 
| 0820 | h               .FIXUP D | 
| 0820 | h(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 0821 | h(41D80005):    ADD R1, SB, VAR5 | 
| 0822 | i               .FIXUP P | 
| 0822 | i(F791C005):    BL MOD9 [Texts] PROC28 | 
| 0823 | j               .FIXUP D | 
| 0823 | j(8DA00003):    LDR SB, MT, MOD10 [Oberon] | 
| 0824 | j(80D0000D):    LDR R0, SB, VAR13 | 
| 0825 | k               .FIXUP D | 
| 0825 | k(8D000002):    LDR SB, MT, MOD0 [System] | 
| 0826 | k(81D00000):    LDR R1, SB, 0H [data] | 
| 0827 | l               .FIXUP P | 
| 0827 | l(F790E005):    BL MOD9 [Texts] PROC14 | 
 |     ENDm | 
| 0828 | m               .FIXUP P | 
| 0828 | m(F7A32001):    BL MOD10 [Oberon] PROC50 | 
 |   ENDn Trap; | 
| 0829 | n(8FE00000):    LDR LNK, SP, 0H | 
| 082A | n(4EE8001C):    ADD SP, SP, 1CH | 
| 082B | n(C700000F):    B LNK | 
 |  | 
 |   PROCEDURE Abort; | 
 |     VAR n: INTEGER; | 
 |   BEGINo n := SYSTEM.REG(15);p Texts.WriteString(W,q "  ABORT  ")r;s Texts.WriteHex(W,t n)u;v | 
| 082C | o(4EE90008):    SUB SP, SP, 8H | 
| 082D | o(AFE00000):    STR LNK, SP, 0H | 
| 082E | p(0000000F):    MOV R0, R0, LNK | 
| 082F | p(A0E00004):    STR R0, SP, 4H | 
| 0830 | q               .FIXUP D | 
| 0830 | q(8D00000B):    LDR SB, MT, MOD0 [System] | 
| 0831 | q(40D80000):    ADD R0, SB, 0H [data] | 
| 0832 | q               .FIXUP D | 
| 0832 | q(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 0833 | q(41D80005):    ADD R1, SB, VAR5 | 
| 0834 | r               .FIXUP D | 
| 0834 | r(8D000002):    LDR SB, MT, MOD0 [System] | 
| 0835 | r(42D80294):    ADD R2, SB, 294H ["  ABORT  "] | 
| 0836 | r(4300000A):    MOV R3, R0, AH | 
| 0837 | s               .FIXUP P | 
| 0837 | s(F791D00F):    BL MOD9 [Texts] PROC29 | 
| 0838 | t               .FIXUP D | 
| 0838 | t(8D000004):    LDR SB, MT, MOD0 [System] | 
| 0839 | t(40D80000):    ADD R0, SB, 0H [data] | 
| 083A | t               .FIXUP D | 
| 083A | t(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 083B | t(41D80005):    ADD R1, SB, VAR5 | 
| 083C | u(82E00004):    LDR R2, SP, 4H | 
| 083D | v               .FIXUP P | 
| 083D | v(F791F006):    BL MOD9 [Texts] PROC31 | 
 |     Texts.WriteLn(W)w;x Texts.Append(Oberon.Log,y W.buf)z;a Oberon.Reset | 
| 083E | w               .FIXUP D | 
| 083E | w(8D000004):    LDR SB, MT, MOD0 [System] | 
| 083F | w(40D80000):    ADD R0, SB, 0H [data] | 
| 0840 | w               .FIXUP D | 
| 0840 | w(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 0841 | w(41D80005):    ADD R1, SB, VAR5 | 
| 0842 | x               .FIXUP P | 
| 0842 | x(F791C005):    BL MOD9 [Texts] PROC28 | 
| 0843 | y               .FIXUP D | 
| 0843 | y(8DA00003):    LDR SB, MT, MOD10 [Oberon] | 
| 0844 | y(80D0000D):    LDR R0, SB, VAR13 | 
| 0845 | z               .FIXUP D | 
| 0845 | z(8D000002):    LDR SB, MT, MOD0 [System] | 
| 0846 | z(81D00000):    LDR R1, SB, 0H [data] | 
| 0847 | a               .FIXUP P | 
| 0847 | a(F790E005):    BL MOD9 [Texts] PROC14 | 
 |   ENDb Abort; | 
| 0848 | b               .FIXUP P | 
| 0848 | b(F7A32001):    BL MOD10 [Oberon] PROC50 | 
| 0849 | b(8FE00000):    LDR LNK, SP, 0H | 
| 084A | b(4EE80008):    ADD SP, SP, 8H | 
| 084B | b(C700000F):    B LNK | 
 |    | 
 | BEGINc Texts.OpenWriter(W)d;e | 
| 084C | c               .PROC 0 | 
| 084C | c               .ENTRYPOINT | 
| 084C | c(4EE90004):    SUB SP, SP, 4H | 
| 084D | c(AFE00000):    STR LNK, SP, 0H | 
| 084E | d               .FIXUP D | 
| 084E | d(8D000009):    LDR SB, MT, MOD0 [System] | 
| 084F | d(40D80000):    ADD R0, SB, 0H [data] | 
| 0850 | d               .FIXUP D | 
| 0850 | d(8D900002):    LDR SB, MT, MOD9 [Texts] | 
| 0851 | d(41D80005):    ADD R1, SB, VAR5 | 
| 0852 | e               .FIXUP P | 
| 0852 | e(F791700A):    BL MOD9 [Texts] PROC23 | 
 |   Oberon.OpenLog(TextFrames.Text("")f)g;h OpenViewers;i | 
| 0853 | f               .FIXUP D | 
| 0853 | f(8D000003):    LDR SB, MT, MOD0 [System] | 
| 0854 | f(40D802A0):    ADD R0, SB, 2A0H [""] | 
| 0855 | f(41000001):    MOV R1, R0, 1H | 
| 0856 | g               .FIXUP P | 
| 0856 | g(F7C2B004):    BL MOD12 [TextFrames] PROC43 | 
| 0857 | h               .FIXUP P | 
| 0857 | h(F7A26001):    BL MOD10 [Oberon] PROC38 | 
| 0858 | i(F7FFFEDD):    BL -291 [0736H] | 
 |   Kernel.Install(SYSTEM.ADR(Trap),j 20H)k;l Kernel.Install(SYSTEM.ADR(Abort),m 0)n;o | 
| 0859 | j(F7000000):    BL 0 [085AH] | 
| 085A | j(40F902AC):    SUB R0, LNK, 2ACH | 
| 085B | k(41000020):    MOV R1, R0, 20H | 
| 085C | l               .FIXUP P | 
| 085C | l(F7114005):    BL MOD1 [Kernel] PROC20 | 
| 085D | m(F7000000):    BL 0 [085EH] | 
| 085E | m(40F900C8):    SUB R0, LNK, C8H | 
| 085F | n(41000000):    MOV R1, R0, 0H | 
| 0860 | o               .FIXUP P | 
| 0860 | o(F7114004):    BL MOD1 [Kernel] PROC20 | 
 | END System.p | 
| 0861 | p(8FE00000):    LDR LNK, SP, 0H | 
| 0862 | p(4EE80004):    ADD SP, SP, 4H | 
| 0863 | p(C700000F):    B LNK |