Draw

Used Exports

BUILTINS: BOOLEAN CHAR INC INTEGER LONGINT NEW
Display: FrameDesc.X FrameDesc.dsc FrameDesc.next
Files: Rename
Fonts: This
GraphicFrames: Change Erase Frame FrameDesc.graph FrameDesc.ticked Macro Open Restore Selected Store
Graphics: ColorMsg ColorMsg.col Delete FontMsg FontMsg.fnt Graph Open SetWidth WidMsg WidMsg.w
MenuViewers: New
Oberon: AllocateUserViewer GetSelection Log MarkedViewer Par Par.frame Par.pos Par.text Par.vwr
TextFrames: Frame FrameDesc.text NewMenu menuH
Texts: Append Char Int Name OpenScanner OpenWriter Scan Scanner Scanner.c Scanner.class Scanner.i Scanner.s Text WriteLn WriteString Writer Writer.buf
Viewers: Viewer

MODULE Draw; (*NW 29.6.88 / 12.11.94 / 18.11.2013*)
.MODULE Draw (KEY B28F8C85, VERSION 1, SIZE 00000BB8)
.IMPORT Files (KEY 73F5D686)
.IMPORT Fonts (KEY F4C9F557)
.IMPORT Viewers (KEY 25ABF199)
.IMPORT Display (KEY 4C08D3EA)
.IMPORT Texts (KEY 0B9E9984)
.IMPORT Oberon (KEY A89CCEE2)
.IMPORT TextFrames (KEY 650813D5)
.IMPORT MenuViewers (KEY 245ACC30)
.IMPORT Graphics (KEY F7357DD9)
.IMPORT Modules (KEY 41C6A19A)
.IMPORT GraphicFrames (KEY 84ABBF86)
.DATA 28H
.STRING 28H "System.Close System.Copy System.Grow Draw.Delete Draw.Ticks Draw.Restore Draw.Store"
.STRING 84H " storing"
.STRING 90H " storing"
.STRING 9CH "Draw - NW 9.8.2013"
.POINTER_REFERENCES 0H 4H 24H 18H
.FIXUP T 0H
IMPORT Files, Fonts, Viewers, Texts, Oberon,
TextFrames, MenuViewers, Graphics, GraphicFrames;
CONST Menu = "System.Close System.Copy System.Grow Draw.Delete Draw.Ticks Draw.Restore Draw.Store";
VAR W: Texts.Writer;
(*Exported commands:
Open, Delete,
SetWidth, ChangeColor, ChangeWidth, ChangeFont,
Store, Print, Macro, Ticks, Restore*)
PROCEDURE Open*;
VAR X, Y: INTEGER;
beg, end, t: LONGINT;
G: Graphics.Graph;
F: GraphicFrames.Frame;
V: Viewers.Viewer;
S: Texts.Scanner;
text: Texts.Text;
BEGINa Texts.OpenScanner(S,b Oberon.Par.text,c Oberon.Par.pos)d;e Texts.Scan(S)f;g
0000a .PROC 1
0000a .COMMAND Open
0000a(4EE9009C): SUB SP, SP, 9CH
0001a(AFE00000): STR LNK, SP, 0H
0002b(40E80024): ADD R0, SP, 24H
0003b .FIXUP D
0003b(8D500003): LDR SB, MT, MOD5 [Texts]
0004b(41D80003): ADD R1, SB, VAR3
0005c .FIXUP D
0005c(8D600002): LDR SB, MT, MOD6 [Oberon]
0006c(42D8000E): ADD R2, SB, VAR14
0007c(82200008): LDR R2, R2, 8H
0008d .FIXUP D
0008d(8D600003): LDR SB, MT, MOD6 [Oberon]
0009d(43D8000E): ADD R3, SB, VAR14
000Ad(8330000C): LDR R3, R3, CH
000Be .FIXUP P
000Be(F751500B): BL MOD5 [Texts] PROC21
000Cf(40E80024): ADD R0, SP, 24H
000Df .FIXUP D
000Df(8D500005): LDR SB, MT, MOD5 [Texts]
000Ef(41D80003): ADD R1, SB, VAR3
000Fg .FIXUP P
000Fg(F7516004): BL MOD5 [Texts] PROC22
IF (S.class = Texts.Char)h & (iS.c = "^")j THENk
0010h(80E00060): LDR R0, SP, 60H
0011h(40090006): SUB R0, R0, 6H
0012i(E9000015): BNE 21 [0028H]
0013j(90E00070): LDR R0, SP, 70H
0014j(4009005E): SUB R0, R0, 5EH
0015k(E9000012): BNE 18 [0028H]
Oberon.GetSelection(text,l beg,m end,n t)o;p
0016l(40E80098): ADD R0, SP, 98H
0017m(41E8000C): ADD R1, SP, CH
0018n(42E80010): ADD R2, SP, 10H
0019o(43E80014): ADD R3, SP, 14H
001Ap .FIXUP P
001Ap(F762900B): BL MOD6 [Oberon] PROC41
IF t >= 0 THENq Texts.OpenScanner(S,r text,s beg)t;u Texts.Scan(S)v ENDw
001Bq(80E00014): LDR R0, SP, 14H
001Cq(40090000): SUB R0, R0, 0H
001Dq(E500000A): BLT 10 [0028H]
001Er(40E80024): ADD R0, SP, 24H
001Fr .FIXUP D
001Fr(8D500012): LDR SB, MT, MOD5 [Texts]
0020r(41D80003): ADD R1, SB, VAR3
0021s(82E00098): LDR R2, SP, 98H
0022t(83E0000C): LDR R3, SP, CH
0023u .FIXUP P
0023u(F7515009): BL MOD5 [Texts] PROC21
0024v(40E80024): ADD R0, SP, 24H
0025v .FIXUP D
0025v(8D500006): LDR SB, MT, MOD5 [Texts]
0026v(41D80003): ADD R1, SB, VAR3
0027w .FIXUP P
0027w(F7516004): BL MOD5 [Texts] PROC22
END ;
IF S.class = Texts.Name THENx
0028x(80E00060): LDR R0, SP, 60H
0029x(40090001): SUB R0, R0, 1H
002Ax(E9000024): BNE 36 [004FH]
NEW(G);y Graphics.Open(G,z S.s)a;b
002By(40E80018): ADD R0, SP, 18H
002Cy .FIXUP D
002Cy(8D900007): LDR SB, MT, MOD9 [Graphics]
002Dy(41D80006): ADD R1, SB, VAR6
002Ey(D7039B0C): BL MT [trap=0, pos=923]
002Fz(80E00018): LDR R0, SP, 18H
0030a(41E80078): ADD R1, SP, 78H
0031a(42000020): MOV R2, R0, 20H
0032b .FIXUP P
0032b(F792A00B): BL MOD9 [Graphics] PROC42
NEW(F);c GraphicFrames.Open(F,d G)e;f
0033c(40E8001C): ADD R0, SP, 1CH
0034c .FIXUP D
0034c(8DB00008): LDR SB, MT, MOD11 [GraphicFrames]
0035c(41D80002): ADD R1, SB, VAR2
0036c(D703C00C): BL MT [trap=0, pos=960]
0037d(80E0001C): LDR R0, SP, 1CH
0038e(81E00018): LDR R1, SP, 18H
0039f .FIXUP P
0039f(F7B18007): BL MOD11 [GraphicFrames] PROC24
Oberon.AllocateUserViewer(Oberon.Par.vwr.gXh,i X,j Y)k;l
003Ag .FIXUP D
003Ag(8D600006): LDR SB, MT, MOD6 [Oberon]
003Bg(40D8000E): ADD R0, SB, VAR14
003Ch(80000000): LDR R0, R0, 0H
003Dh(D1040B4C): BLEQ MT [trap=4, pos=1035]
003Ei(80000008): LDR R0, R0, 8H
003Fj(41E80004): ADD R1, SP, 4H
0040k(42E80008): ADD R2, SP, 8H
0041l .FIXUP P
0041l(F7622008): BL MOD6 [Oberon] PROC34
V := MenuViewers.New(TextFrames.NewMenu(S.s,m Menu)n,o F,p TextFrames.menuH,q X,r Y)s
0042m(40E80078): ADD R0, SP, 78H
0043m(41000020): MOV R1, R0, 20H
0044n .FIXUP D
0044n(8D00000A): LDR SB, MT, MOD0 [Draw]
0045n(42D80028): ADD R2, SB, 28H ["System.Close System.Copy System.Grow Draw.Delete Draw.Ticks Draw.Restore Draw.Store"]
0046n(4300005A): MOV R3, R0, 5AH
0047o .FIXUP P
0047o(F772C006): BL MOD7 [TextFrames] PROC44
0048p(81E0001C): LDR R1, SP, 1CH
0049q .FIXUP D
0049q(8D700005): LDR SB, MT, MOD7 [TextFrames]
004Aq(82D00005): LDR R2, SB, VAR5
004Br(83E00004): LDR R3, SP, 4H
004Cs(84E00008): LDR R4, SP, 8H
ENDt
004Dt .FIXUP P
004Dt(F7804006): BL MOD8 [MenuViewers] PROC4
004Et(A0E00020): STR R0, SP, 20H
ENDu Open;
004Fu(8FE00000): LDR LNK, SP, 0H
0050u(4EE8009C): ADD SP, SP, 9CH
0051u(C700000F): B LNK
PROCEDURE Delete*;
VAR F: GraphicFrames.Frame;
BEGINv
0052v .PROC 2
0052v .COMMAND Delete
0052v(4EE90008): SUB SP, SP, 8H
0053v(AFE00000): STR LNK, SP, 0H
IF Oberon.Par.frame =w Oberon.Par.vwr.xdscy THENz
0054w .FIXUP D
0054w(8D60000B): LDR SB, MT, MOD6 [Oberon]
0055w(40D8000E): ADD R0, SB, VAR14
0056x .FIXUP D
0056x(8D600002): LDR SB, MT, MOD6 [Oberon]
0057x(41D8000E): ADD R1, SB, VAR14
0058y(81100000): LDR R1, R1, 0H
0059y(D104E74C): BLEQ MT [trap=4, pos=1255]
005Az(80000004): LDR R0, R0, 4H
005Bz(81100004): LDR R1, R1, 4H
005Cz(00090001): SUB R0, R0, R1
005Dz(E9000015): BNE 21 [0073H]
F := Oberon.Par.vwr.adscb.nextc(GraphicFrames.Frame)d;e
005Ea .FIXUP D
005Ea(8D600008): LDR SB, MT, MOD6 [Oberon]
005Fa(40D8000E): ADD R0, SB, VAR14
0060b(80000000): LDR R0, R0, 0H
0061b(D1050A4C): BLEQ MT [trap=4, pos=1290]
0062c(80000004): LDR R0, R0, 4H
0063c(D1050F4C): BLEQ MT [trap=4, pos=1295]
0064d(80000000): LDR R0, R0, 0H
0065d(E1000005): BEQ 5 [006BH]
0066d(810FFFF8): LDR R1, R0, FFFFFFF8H
0067d(81100004): LDR R1, R1, 4H
0068d .FIXUP D
0068d(8DB0000A): LDR SB, MT, MOD11 [GraphicFrames]
0069d(42D80002): ADD R2, SB, VAR2
006Ad(02290001): SUB R2, R2, R1
006Bd(D905242C): BLNE MT [trap=2, pos=1316]
006Ce(A0E00004): STR R0, SP, 4H
GraphicFrames.Erase(F)f;g Graphics.Delete(F.graphh)i
006Df(80E00004): LDR R0, SP, 4H
006Eg .FIXUP P
006Eg(F7B0D021): BL MOD11 [GraphicFrames] PROC13
006Fh(80E00004): LDR R0, SP, 4H
0070h(D1055B4C): BLEQ MT [trap=4, pos=1371]
0071i(8000001C): LDR R0, R0, 1CH
ENDj
0072j .FIXUP P
0072j(F7921004): BL MOD9 [Graphics] PROC33
ENDk Delete;
0073k(8FE00000): LDR LNK, SP, 0H
0074k(4EE80008): ADD SP, SP, 8H
0075k(C700000F): B LNK
PROCEDURE GetArg(VAR S: Texts.Scanner);
VAR T: Texts.Text; beg, end, time: LONGINT;
BEGINl Texts.OpenScanner(S,m Oberon.Par.text,n Oberon.Par.pos)o;p Texts.Scan(S)q;r
0076l(4EE9001C): SUB SP, SP, 1CH
0077l(AFE00000): STR LNK, SP, 0H
0078l(A0E00004): STR R0, SP, 4H
0079l(A1E00008): STR R1, SP, 8H
007Am(80E00004): LDR R0, SP, 4H
007Bm(81E00008): LDR R1, SP, 8H
007Cn .FIXUP D
007Cn(8D600014): LDR SB, MT, MOD6 [Oberon]
007Dn(42D8000E): ADD R2, SB, VAR14
007En(82200008): LDR R2, R2, 8H
007Fo .FIXUP D
007Fo(8D600003): LDR SB, MT, MOD6 [Oberon]
0080o(43D8000E): ADD R3, SB, VAR14
0081o(8330000C): LDR R3, R3, CH
0082p .FIXUP P
0082p(F7515010): BL MOD5 [Texts] PROC21
0083q(80E00004): LDR R0, SP, 4H
0084q(81E00008): LDR R1, SP, 8H
0085r .FIXUP P
0085r(F7516003): BL MOD5 [Texts] PROC22
IF (S.class = Texts.Char)s & (tS.c = "^")u THENv
0086s(80E00004): LDR R0, SP, 4H
0087s(8000003C): LDR R0, R0, 3CH
0088s(40090006): SUB R0, R0, 6H
0089t(E9000014): BNE 20 [009EH]
008Au(80E00004): LDR R0, SP, 4H
008Bu(9000004C): LDR R0, R0, 4CH
008Cu(4009005E): SUB R0, R0, 5EH
008Dv(E9000010): BNE 16 [009EH]
Oberon.GetSelection(T,w beg,x end,y time)z;a
008Ew(40E8000C): ADD R0, SP, CH
008Fx(41E80010): ADD R1, SP, 10H
0090y(42E80014): ADD R2, SP, 14H
0091z(43E80018): ADD R3, SP, 18H
0092a .FIXUP P
0092a(F762900D): BL MOD6 [Oberon] PROC41
IF time >= 0 THENb Texts.OpenScanner(S,c T,d beg)e;f Texts.Scan(S)g ENDh
0093b(80E00018): LDR R0, SP, 18H
0094b(40090000): SUB R0, R0, 0H
0095b(E5000008): BLT 8 [009EH]
0096c(80E00004): LDR R0, SP, 4H
0097c(81E00008): LDR R1, SP, 8H
0098d(82E0000C): LDR R2, SP, CH
0099e(83E00010): LDR R3, SP, 10H
009Af .FIXUP P
009Af(F7515008): BL MOD5 [Texts] PROC21
009Bg(80E00004): LDR R0, SP, 4H
009Cg(81E00008): LDR R1, SP, 8H
009Dh .FIXUP P
009Dh(F7516003): BL MOD5 [Texts] PROC22
END
ENDi GetArg;
009Ei(8FE00000): LDR LNK, SP, 0H
009Fi(4EE8001C): ADD SP, SP, 1CH
00A0i(C700000F): B LNK
PROCEDURE SetWidth*;
VAR S: Texts.Scanner;
BEGINj GetArg(S)k;l
00A1j .PROC 3
00A1j .COMMAND SetWidth
00A1j(4EE90078): SUB SP, SP, 78H
00A2j(AFE00000): STR LNK, SP, 0H
00A3k(40E80004): ADD R0, SP, 4H
00A4k .FIXUP D
00A4k(8D500025): LDR SB, MT, MOD5 [Texts]
00A5k(41D80003): ADD R1, SB, VAR3
00A6l(F7FFFFCF): BL -49 [0076H]
IF (S.class = Texts.Int)m & (nS.i > 0)o & (pS.i < 7)q THENr Graphics.SetWidth(S.i)s ENDt
00A7m(80E00040): LDR R0, SP, 40H
00A8m(40090003): SUB R0, R0, 3H
00A9n(E9000008): BNE 8 [00B2H]
00AAo(80E00044): LDR R0, SP, 44H
00ABo(40090000): SUB R0, R0, 0H
00ACp(E6000005): BLE 5 [00B2H]
00ADq(80E00044): LDR R0, SP, 44H
00AEq(40090007): SUB R0, R0, 7H
00AFr(ED000002): BGE 2 [00B2H]
00B0s(80E00044): LDR R0, SP, 44H
00B1t .FIXUP P
00B1t(F792B014): BL MOD9 [Graphics] PROC43
ENDu SetWidth;
00B2u(8FE00000): LDR LNK, SP, 0H
00B3u(4EE80078): ADD SP, SP, 78H
00B4u(C700000F): B LNK
PROCEDURE ChangeColor*;
VAR S: Texts.Scanner; CM: Graphics.ColorMsg;
BEGINv GetArg(S)w;x
00B5v .PROC 4
00B5v .COMMAND ChangeColor
00B5v(4EE9007C): SUB SP, SP, 7CH
00B6v(AFE00000): STR LNK, SP, 0H
00B7w(40E80004): ADD R0, SP, 4H
00B8w .FIXUP D
00B8w(8D500014): LDR SB, MT, MOD5 [Texts]
00B9w(41D80003): ADD R1, SB, VAR3
00BAx(F7FFFFBB): BL -69 [0076H]
IF S.class = Texts.Int THENy
00BBy(80E00040): LDR R0, SP, 40H
00BCy(40090003): SUB R0, R0, 3H
00BDy(E9000008): BNE 8 [00C6H]
CM.col := S.i MOD 16;z GraphicFrames.Change(GraphicFrames.Selected(),a CM)b
00BEz(80E00044): LDR R0, SP, 44H
00BFz(4004000F): AND R0, R0, FH
00C0z(A0E00078): STR R0, SP, 78H
00C1a .FIXUP P
00C1a(F7B0A010): BL MOD11 [GraphicFrames] PROC10
00C2b(41E80078): ADD R1, SP, 78H
00C3b .FIXUP D
00C3b(8D90000B): LDR SB, MT, MOD9 [Graphics]
00C4b(42D80004): ADD R2, SB, VAR4
ENDc
00C5c .FIXUP P
00C5c(F7B10004): BL MOD11 [GraphicFrames] PROC16
ENDd ChangeColor;
00C6d(8FE00000): LDR LNK, SP, 0H
00C7d(4EE8007C): ADD SP, SP, 7CH
00C8d(C700000F): B LNK
PROCEDURE ChangeWidth*;
VAR S: Texts.Scanner; WM: Graphics.WidMsg;
BEGINe GetArg(S)f;g
00C9e .PROC 5
00C9e .COMMAND ChangeWidth
00C9e(4EE9007C): SUB SP, SP, 7CH
00CAe(AFE00000): STR LNK, SP, 0H
00CBf(40E80004): ADD R0, SP, 4H
00CCf .FIXUP D
00CCf(8D500009): LDR SB, MT, MOD5 [Texts]
00CDf(41D80003): ADD R1, SB, VAR3
00CEg(F7FFFFA7): BL -89 [0076H]
IF S.class = Texts.Int THENh
00CFh(80E00040): LDR R0, SP, 40H
00D0h(40090003): SUB R0, R0, 3H
00D1h(E9000007): BNE 7 [00D9H]
WM.w := S.i;i GraphicFrames.Change(GraphicFrames.Selected(),j WM)k
00D2i(80E00044): LDR R0, SP, 44H
00D3i(A0E00078): STR R0, SP, 78H
00D4j .FIXUP P
00D4j(F7B0A00F): BL MOD11 [GraphicFrames] PROC10
00D5k(41E80078): ADD R1, SP, 78H
00D6k .FIXUP D
00D6k(8D90000A): LDR SB, MT, MOD9 [Graphics]
00D7k(42D80003): ADD R2, SB, VAR3
ENDl
00D8l .FIXUP P
00D8l(F7B10004): BL MOD11 [GraphicFrames] PROC16
ENDm ChangeWidth;
00D9m(8FE00000): LDR LNK, SP, 0H
00DAm(4EE8007C): ADD SP, SP, 7CH
00DBm(C700000F): B LNK
PROCEDURE ChangeFont*;
VAR S: Texts.Scanner; FM: Graphics.FontMsg;
BEGINn GetArg(S)o;p
00DCn .PROC 6
00DCn .COMMAND ChangeFont
00DCn(4EE9007C): SUB SP, SP, 7CH
00DDn(AFE00000): STR LNK, SP, 0H
00DEo(40E80004): ADD R0, SP, 4H
00DFo .FIXUP D
00DFo(8D500009): LDR SB, MT, MOD5 [Texts]
00E0o(41D80003): ADD R1, SB, VAR3
00E1p(F7FFFF94): BL -108 [0076H]
IF S.class = Texts.Name THENq
00E2q(80E00040): LDR R0, SP, 40H
00E3q(40090001): SUB R0, R0, 1H
00E4q(E900000B): BNE 11 [00F0H]
FM.fnt := Fonts.This(S.s)r;s
00E5r(40E80058): ADD R0, SP, 58H
00E6r(41000020): MOV R1, R0, 20H
00E7s .FIXUP P
00E7s(F720500F): BL MOD2 [Fonts] PROC5
00E8s(A0E00078): STR R0, SP, 78H
IF FM.fnt # NIL THENt GraphicFrames.Change(GraphicFrames.Selected(),u FM)v ENDw
00E9t(80E00078): LDR R0, SP, 78H
00EAt(E1000005): BEQ 5 [00F0H]
00EBu .FIXUP P
00EBu(F7B0A004): BL MOD11 [GraphicFrames] PROC10
00ECv(41E80078): ADD R1, SP, 78H
00EDv .FIXUP D
00EDv(8D90000E): LDR SB, MT, MOD9 [Graphics]
00EEv(42D80005): ADD R2, SB, VAR5
00EFw .FIXUP P
00EFw(F7B10004): BL MOD11 [GraphicFrames] PROC16
END
ENDx ChangeFont;
00F0x(8FE00000): LDR LNK, SP, 0H
00F1x(4EE8007C): ADD SP, SP, 7CH
00F2x(C700000F): B LNK
PROCEDURE Redraw(Q: BOOLEAN);
VAR v: Viewers.Viewer; G: GraphicFrames.Frame;
BEGINy
00F3y(4EE90010): SUB SP, SP, 10H
00F4y(AFE00000): STR LNK, SP, 0H
00F5y(A0E00004): STR R0, SP, 4H
IF Oberon.Par.frame =z Oberon.Par.vwr.adscb THENc v := Oberon.Par.vwr
00F6z .FIXUP D
00F6z(8D600009): LDR SB, MT, MOD6 [Oberon]
00F7z(40D8000E): ADD R0, SB, VAR14
00F8a .FIXUP D
00F8a(8D600002): LDR SB, MT, MOD6 [Oberon]
00F9a(41D8000E): ADD R1, SB, VAR14
00FAb(81100000): LDR R1, R1, 0H
00FBb(D10ADD4C): BLEQ MT [trap=4, pos=2781]
00FCc(80000004): LDR R0, R0, 4H
00FDc(81100004): LDR R1, R1, 4H
00FEc(00090001): SUB R0, R0, R1
00FFc(E9000005): BNE 5 [0105H]
ELSEd ve := Oberon.MarkedViewer()
0100d .FIXUP D
0100d(8D600008): LDR SB, MT, MOD6 [Oberon]
0101d(40D8000E): ADD R0, SB, VAR14
0102d(80000000): LDR R0, R0, 0H
0103d(A0E00008): STR R0, SP, 8H
0104e(E7000002): B 2 [0107H]
ENDf ;
0105f .FIXUP P
0105f(F7624016): BL MOD6 [Oberon] PROC36
0106f(A0E00008): STR R0, SP, 8H
IF (v # NIL)g & (hv.dsci # NIL)j & (kv.dscl.nextm IS GraphicFrames.Frame)n THENo
0107g(80E00008): LDR R0, SP, 8H
0108h(E100002B): BEQ 43 [0134H]
0109i(80E00008): LDR R0, SP, 8H
010Ai(D10B3E4C): BLEQ MT [trap=4, pos=2878]
010Bj(80000004): LDR R0, R0, 4H
010Ck(E1000027): BEQ 39 [0134H]
010Dl(80E00008): LDR R0, SP, 8H
010El(D10B4E4C): BLEQ MT [trap=4, pos=2894]
010Fm(80000004): LDR R0, R0, 4H
0110m(D10B534C): BLEQ MT [trap=4, pos=2899]
0111n(80000000): LDR R0, R0, 0H
0112n(E1000005): BEQ 5 [0118H]
0113n(810FFFF8): LDR R1, R0, FFFFFFF8H
0114n(81100004): LDR R1, R1, 4H
0115n .FIXUP D
0115n(8DB00015): LDR SB, MT, MOD11 [GraphicFrames]
0116n(42D80002): ADD R2, SB, VAR2
0117n(02290001): SUB R2, R2, R1
0118o(E900001B): BNE 27 [0134H]
G := v.dscp.nextq(GraphicFrames.Frame)r;s G.tickedt := Q OR ~uG.tickedv;w GraphicFrames.Restore(G)x
0119p(80E00008): LDR R0, SP, 8H
011Ap(D10B814C): BLEQ MT [trap=4, pos=2945]
011Bq(80000004): LDR R0, R0, 4H
011Cq(D10B864C): BLEQ MT [trap=4, pos=2950]
011Dr(80000000): LDR R0, R0, 0H
011Er(E1000005): BEQ 5 [0124H]
011Fr(810FFFF8): LDR R1, R0, FFFFFFF8H
0120r(81100004): LDR R1, R1, 4H
0121r .FIXUP D
0121r(8DB0000C): LDR SB, MT, MOD11 [GraphicFrames]
0122r(42D80002): ADD R2, SB, VAR2
0123r(02290001): SUB R2, R2, R1
0124r(D90B9B2C): BLNE MT [trap=2, pos=2971]
0125s(A0E0000C): STR R0, SP, CH
0126t(80E0000C): LDR R0, SP, CH
0127t(D10BA54C): BLEQ MT [trap=4, pos=2981]
0128u(91E00004): LDR R1, SP, 4H
0129u(E9000004): BNE 4 [012EH]
012Av(81E0000C): LDR R1, SP, CH
012Bv(D10BB74C): BLEQ MT [trap=4, pos=2999]
012Cw(9110003D): LDR R1, R1, 3DH
012Dw(E9000002): BNE 2 [0130H]
012Ew(41000001): MOV R1, R0, 1H
012Fw(E7000001): B 1 [0131H]
0130w(41000000): MOV R1, R0, 0H
0131w(B100003D): STR R1, R0, 3DH
0132x(80E0000C): LDR R0, SP, CH
ENDy
0133y .FIXUP P
0133y(F7B0802E): BL MOD11 [GraphicFrames] PROC8
ENDz Redraw;
0134z(8FE00000): LDR LNK, SP, 0H
0135z(4EE80010): ADD SP, SP, 10H
0136z(C700000F): B LNK
PROCEDURE Ticks*;
BEGINa Redraw(FALSE)b
0137a .PROC 7
0137a .COMMAND Ticks
0137a(4EE90004): SUB SP, SP, 4H
0138a(AFE00000): STR LNK, SP, 0H
0139b(40000000): MOV R0, R0, 0H
ENDc Ticks;
013Ac(F7FFFFB8): BL -72 [00F3H]
013Bc(8FE00000): LDR LNK, SP, 0H
013Cc(4EE80004): ADD SP, SP, 4H
013Dc(C700000F): B LNK
PROCEDURE Restore*;
BEGINd Redraw(TRUE)e
013Ed .PROC 8
013Ed .COMMAND Restore
013Ed(4EE90004): SUB SP, SP, 4H
013Fd(AFE00000): STR LNK, SP, 0H
0140e(40000001): MOV R0, R0, 1H
ENDf Restore;
0141f(F7FFFFB1): BL -79 [00F3H]
0142f(8FE00000): LDR LNK, SP, 0H
0143f(4EE80004): ADD SP, SP, 4H
0144f(C700000F): B LNK
PROCEDURE Backup (VAR name: ARRAY OF CHAR);
VAR res, i: INTEGER; ch: CHAR;
bak: ARRAY 32 OF CHAR;
BEGINg i := 0;h ch := name[0]i;j
0145g(4EE90038): SUB SP, SP, 38H
0146g(AFE00000): STR LNK, SP, 0H
0147g(A0E00004): STR R0, SP, 4H
0148g(A1E00008): STR R1, SP, 8H
0149h(40000000): MOV R0, R0, 0H
014Ah(A0E00010): STR R0, SP, 10H
014Bi(40000000): MOV R0, R0, 0H
014Ci(81E00008): LDR R1, SP, 8H
014Di(01090001): SUB R1, R0, R1
014Ei(DA0CE71C): BLCC MT [trap=1, pos=3303]
014Fi(81E00004): LDR R1, SP, 4H
0150i(00180000): ADD R0, R1, R0
0151j(90000000): LDR R0, R0, 0H
0152j(B0E00014): STR R0, SP, 14H
WHILE ch > 0X DOk bak[i]l := ch;m INC(i);n ch := name[i]o ENDp ;
0153k(90E00014): LDR R0, SP, 14H
0154k(40090000): SUB R0, R0, 0H
0155k(E6000012): BLE 18 [0168H]
0156l(80E00010): LDR R0, SP, 10H
0157l(41090020): SUB R1, R0, 20H
0158l(DA0D041C): BLCC MT [trap=1, pos=3332]
0159l(00E80000): ADD R0, SP, R0
015Am(91E00014): LDR R1, SP, 14H
015Bm(B1000018): STR R1, R0, 18H
015Cn(80E00010): LDR R0, SP, 10H
015Dn(40080001): ADD R0, R0, 1H
015En(A0E00010): STR R0, SP, 10H
015Fo(80E00010): LDR R0, SP, 10H
0160o(81E00008): LDR R1, SP, 8H
0161o(01090001): SUB R1, R0, R1
0162o(DA0D211C): BLCC MT [trap=1, pos=3361]
0163o(81E00004): LDR R1, SP, 4H
0164o(00180000): ADD R0, R1, R0
0165p(90000000): LDR R0, R0, 0H
0166p(B0E00014): STR R0, SP, 14H
0167p(E7FFFFEB): B -21 [0153H]
IF i < 28 THENq
0168q(80E00010): LDR R0, SP, 10H
0169q(4009001C): SUB R0, R0, 1CH
016Aq(ED000028): BGE 40 [0193H]
bak[i]r := ".";s bak[i+1]t := "B";u bak[i+2]v := "a";w bak[i+3]x := "k";y bak[i+4]z := 0X;a
016Br(80E00010): LDR R0, SP, 10H
016Cr(41090020): SUB R1, R0, 20H
016Dr(DA0D471C): BLCC MT [trap=1, pos=3399]
016Er(00E80000): ADD R0, SP, R0
016Fs(4100002E): MOV R1, R0, 2EH
0170s(B1000018): STR R1, R0, 18H
0171t(80E00010): LDR R0, SP, 10H
0172t(40080001): ADD R0, R0, 1H
0173t(41090020): SUB R1, R0, 20H
0174t(DA0D581C): BLCC MT [trap=1, pos=3416]
0175t(00E80000): ADD R0, SP, R0
0176u(41000042): MOV R1, R0, 42H
0177u(B1000018): STR R1, R0, 18H
0178v(80E00010): LDR R0, SP, 10H
0179v(40080002): ADD R0, R0, 2H
017Av(41090020): SUB R1, R0, 20H
017Bv(DA0D691C): BLCC MT [trap=1, pos=3433]
017Cv(00E80000): ADD R0, SP, R0
017Dw(41000061): MOV R1, R0, 61H
017Ew(B1000018): STR R1, R0, 18H
017Fx(80E00010): LDR R0, SP, 10H
0180x(40080003): ADD R0, R0, 3H
0181x(41090020): SUB R1, R0, 20H
0182x(DA0D7A1C): BLCC MT [trap=1, pos=3450]
0183x(00E80000): ADD R0, SP, R0
0184y(4100006B): MOV R1, R0, 6BH
0185y(B1000018): STR R1, R0, 18H
0186z(80E00010): LDR R0, SP, 10H
0187z(40080004): ADD R0, R0, 4H
0188z(41090020): SUB R1, R0, 20H
0189z(DA0D8B1C): BLCC MT [trap=1, pos=3467]
018Az(00E80000): ADD R0, SP, R0
018Ba(41000000): MOV R1, R0, 0H
018Ca(B1000018): STR R1, R0, 18H
Files.Rename(name,b bak,c res)d
018Db(80E00004): LDR R0, SP, 4H
018Eb(81E00008): LDR R1, SP, 8H
018Fc(42E80018): ADD R2, SP, 18H
0190c(43000020): MOV R3, R0, 20H
0191d(44E8000C): ADD R4, SP, CH
ENDe
0192e .FIXUP P
0192e(F710805F): BL MOD1 [Files] PROC8
ENDf Backup;
0193f(8FE00000): LDR LNK, SP, 0H
0194f(4EE80038): ADD SP, SP, 38H
0195f(C700000F): B LNK
PROCEDURE Store*;
VAR S: Texts.Scanner;
Menu: TextFrames.Frame; G: GraphicFrames.Frame;
v: Viewers.Viewer;
BEGINg
0196g .PROC 9
0196g .COMMAND Store
0196g(4EE90084): SUB SP, SP, 84H
0197g(AFE00000): STR LNK, SP, 0H
IF Oberon.Par.frame =h Oberon.Par.vwr.idscj THENk
0198h .FIXUP D
0198h(8D600077): LDR SB, MT, MOD6 [Oberon]
0199h(40D8000E): ADD R0, SB, VAR14
019Ai .FIXUP D
019Ai(8D600002): LDR SB, MT, MOD6 [Oberon]
019Bi(41D8000E): ADD R1, SB, VAR14
019Cj(81100000): LDR R1, R1, 0H
019Dj(D10E7E4C): BLEQ MT [trap=4, pos=3710]
019Ek(80000004): LDR R0, R0, 4H
019Fk(81100004): LDR R1, R1, 4H
01A0k(00090001): SUB R0, R0, R1
01A1k(E9000048): BNE 72 [01EAH]
Menu := Oberon.Par.vwr.ldscm(TextFrames.Frame)n;o G := Menu.nextp(GraphicFrames.Frame)q;r
01A2l .FIXUP D
01A2l(8D600008): LDR SB, MT, MOD6 [Oberon]
01A3l(40D8000E): ADD R0, SB, VAR14
01A4m(80000000): LDR R0, R0, 0H
01A5m(D10EA44C): BLEQ MT [trap=4, pos=3748]
01A6n(80000004): LDR R0, R0, 4H
01A7n(E1000005): BEQ 5 [01ADH]
01A8n(810FFFF8): LDR R1, R0, FFFFFFF8H
01A9n(81100004): LDR R1, R1, 4H
01AAn .FIXUP D
01AAn(8D700008): LDR SB, MT, MOD7 [TextFrames]
01ABn(42D80002): ADD R2, SB, VAR2
01ACn(02290001): SUB R2, R2, R1
01ADn(D90EB62C): BLNE MT [trap=2, pos=3766]
01AEo(A0E00078): STR R0, SP, 78H
01AFp(80E00078): LDR R0, SP, 78H
01B0p(D10EC64C): BLEQ MT [trap=4, pos=3782]
01B1q(80000000): LDR R0, R0, 0H
01B2q(E1000005): BEQ 5 [01B8H]
01B3q(810FFFF8): LDR R1, R0, FFFFFFF8H
01B4q(81100004): LDR R1, R1, 4H
01B5q .FIXUP D
01B5q(8DB0000B): LDR SB, MT, MOD11 [GraphicFrames]
01B6q(42D80002): ADD R2, SB, VAR2
01B7q(02290001): SUB R2, R2, R1
01B8q(D90EDB2C): BLNE MT [trap=2, pos=3803]
01B9r(A0E0007C): STR R0, SP, 7CH
Texts.OpenScanner(S,s Menu.textt,u 0)v;w Texts.Scan(S)x;y
01BAs(40E80004): ADD R0, SP, 4H
01BBs .FIXUP D
01BBs(8D500006): LDR SB, MT, MOD5 [Texts]
01BCs(41D80003): ADD R1, SB, VAR3
01BDt(82E00078): LDR R2, SP, 78H
01BEt(D10F014C): BLEQ MT [trap=4, pos=3841]
01BFu(8220001C): LDR R2, R2, 1CH
01C0v(43000000): MOV R3, R0, 0H
01C1w .FIXUP P
01C1w(F751502F): BL MOD5 [Texts] PROC21
01C2x(40E80004): ADD R0, SP, 4H
01C3x .FIXUP D
01C3x(8D500008): LDR SB, MT, MOD5 [Texts]
01C4x(41D80003): ADD R1, SB, VAR3
01C5y .FIXUP P
01C5y(F7516004): BL MOD5 [Texts] PROC22
IF S.class = Texts.Name THENz
01C6z(80E00040): LDR R0, SP, 40H
01C7z(40090001): SUB R0, R0, 1H
01C8z(E9000020): BNE 32 [01E9H]
Texts.WriteString(W,a S.s)b;c Texts.WriteString(W,d " storing")e;f
01C9a .FIXUP D
01C9a(8D000006): LDR SB, MT, MOD0 [Draw]
01CAa(40D80000): ADD R0, SB, 0H [data]
01CBa .FIXUP D
01CBa(8D500002): LDR SB, MT, MOD5 [Texts]
01CCa(41D80005): ADD R1, SB, VAR5
01CDb(42E80058): ADD R2, SP, 58H
01CEb(43000020): MOV R3, R0, 20H
01CFc .FIXUP P
01CFc(F751D00A): BL MOD5 [Texts] PROC29
01D0d .FIXUP D
01D0d(8D000005): LDR SB, MT, MOD0 [Draw]
01D1d(40D80000): ADD R0, SB, 0H [data]
01D2d .FIXUP D
01D2d(8D500002): LDR SB, MT, MOD5 [Texts]
01D3d(41D80005): ADD R1, SB, VAR5
01D4e .FIXUP D
01D4e(8D000002): LDR SB, MT, MOD0 [Draw]
01D5e(42D80084): ADD R2, SB, 84H [" storing"]
01D6e(43000009): MOV R3, R0, 9H
01D7f .FIXUP P
01D7f(F751D008): BL MOD5 [Texts] PROC29
Texts.WriteLn(W)g;h Texts.Append(Oberon.Log,i W.buf)j;k
01D8g .FIXUP D
01D8g(8D000004): LDR SB, MT, MOD0 [Draw]
01D9g(40D80000): ADD R0, SB, 0H [data]
01DAg .FIXUP D
01DAg(8D500002): LDR SB, MT, MOD5 [Texts]
01DBg(41D80005): ADD R1, SB, VAR5
01DCh .FIXUP P
01DCh(F751C005): BL MOD5 [Texts] PROC28
01DDi .FIXUP D
01DDi(8D600003): LDR SB, MT, MOD6 [Oberon]
01DEi(80D0000D): LDR R0, SB, VAR13
01DFj .FIXUP D
01DFj(8D000002): LDR SB, MT, MOD0 [Draw]
01E0j(81D00000): LDR R1, SB, 0H [data]
01E1k .FIXUP P
01E1k(F750E005): BL MOD5 [Texts] PROC14
Backup(S.s)l;m GraphicFrames.Store(G,n S.s)o
01E2l(40E80058): ADD R0, SP, 58H
01E3l(41000020): MOV R1, R0, 20H
01E4m(F7FFFF60): BL -160 [0145H]
01E5n(80E0007C): LDR R0, SP, 7CH
01E6o(41E80058): ADD R1, SP, 58H
01E7o(42000020): MOV R2, R0, 20H
ENDp
01E8p .FIXUP P
01E8p(F7B15007): BL MOD11 [GraphicFrames] PROC21
ELSE
Textsq.OpenScanner(S,r Oberon.Par.text,s Oberon.Par.pos)t;u Texts.Scan(S)v;w
01E9q(E7000050): B 80 [023AH]
01EAr(40E80004): ADD R0, SP, 4H
01EBr .FIXUP D
01EBr(8D50000C): LDR SB, MT, MOD5 [Texts]
01ECr(41D80003): ADD R1, SB, VAR3
01EDs .FIXUP D
01EDs(8D600002): LDR SB, MT, MOD6 [Oberon]
01EEs(42D8000E): ADD R2, SB, VAR14
01EFs(82200008): LDR R2, R2, 8H
01F0t .FIXUP D
01F0t(8D600003): LDR SB, MT, MOD6 [Oberon]
01F1t(43D8000E): ADD R3, SB, VAR14
01F2t(8330000C): LDR R3, R3, CH
01F3u .FIXUP P
01F3u(F751500B): BL MOD5 [Texts] PROC21
01F4v(40E80004): ADD R0, SP, 4H
01F5v .FIXUP D
01F5v(8D500005): LDR SB, MT, MOD5 [Texts]
01F6v(41D80003): ADD R1, SB, VAR3
01F7w .FIXUP P
01F7w(F7516004): BL MOD5 [Texts] PROC22
IF S.class = Texts.Name THENx
01F8x(80E00040): LDR R0, SP, 40H
01F9x(40090001): SUB R0, R0, 1H
01FAx(E900003F): BNE 63 [023AH]
v := Oberon.MarkedViewer();y
01FBy .FIXUP P
01FBy(F7624004): BL MOD6 [Oberon] PROC36
01FCy(A0E00080): STR R0, SP, 80H
IF (v.dscz # NIL)a & (bv.dscc.nextd IS GraphicFrames.Frame)e THENf
01FDz(80E00080): LDR R0, SP, 80H
01FEz(D110A14C): BLEQ MT [trap=4, pos=4257]
01FFa(80000004): LDR R0, R0, 4H
0200b(E1000039): BEQ 57 [023AH]
0201c(80E00080): LDR R0, SP, 80H
0202c(D110B14C): BLEQ MT [trap=4, pos=4273]
0203d(80000004): LDR R0, R0, 4H
0204d(D110B64C): BLEQ MT [trap=4, pos=4278]
0205e(80000000): LDR R0, R0, 0H
0206e(E1000005): BEQ 5 [020CH]
0207e(810FFFF8): LDR R1, R0, FFFFFFF8H
0208e(81100004): LDR R1, R1, 4H
0209e .FIXUP D
0209e(8DB00014): LDR SB, MT, MOD11 [GraphicFrames]
020Ae(42D80002): ADD R2, SB, VAR2
020Be(02290001): SUB R2, R2, R1
020Cf(E900002D): BNE 45 [023AH]
G := v.dscg.nexth(GraphicFrames.Frame)i;j
020Dg(80E00080): LDR R0, SP, 80H
020Eg(D110E84C): BLEQ MT [trap=4, pos=4328]
020Fh(80000004): LDR R0, R0, 4H
0210h(D110ED4C): BLEQ MT [trap=4, pos=4333]
0211i(80000000): LDR R0, R0, 0H
0212i(E1000005): BEQ 5 [0218H]
0213i(810FFFF8): LDR R1, R0, FFFFFFF8H
0214i(81100004): LDR R1, R1, 4H
0215i .FIXUP D
0215i(8DB0000C): LDR SB, MT, MOD11 [GraphicFrames]
0216i(42D80002): ADD R2, SB, VAR2
0217i(02290001): SUB R2, R2, R1
0218i(D911022C): BLNE MT [trap=2, pos=4354]
0219j(A0E0007C): STR R0, SP, 7CH
Texts.WriteString(W,k S.s)l;m Texts.WriteString(W,n " storing")o;p
021Ak .FIXUP D
021Ak(8D000005): LDR SB, MT, MOD0 [Draw]
021Bk(40D80000): ADD R0, SB, 0H [data]
021Ck .FIXUP D
021Ck(8D500002): LDR SB, MT, MOD5 [Texts]
021Dk(41D80005): ADD R1, SB, VAR5
021El(42E80058): ADD R2, SP, 58H
021Fl(43000020): MOV R3, R0, 20H
0220m .FIXUP P
0220m(F751D025): BL MOD5 [Texts] PROC29
0221n .FIXUP D
0221n(8D000005): LDR SB, MT, MOD0 [Draw]
0222n(40D80000): ADD R0, SB, 0H [data]
0223n .FIXUP D
0223n(8D500002): LDR SB, MT, MOD5 [Texts]
0224n(41D80005): ADD R1, SB, VAR5
0225o .FIXUP D
0225o(8D000002): LDR SB, MT, MOD0 [Draw]
0226o(42D80090): ADD R2, SB, 90H [" storing"]
0227o(43000009): MOV R3, R0, 9H
0228p .FIXUP P
0228p(F751D008): BL MOD5 [Texts] PROC29
Texts.WriteLn(W)q;r Texts.Append(Oberon.Log,s W.buf)t;u
0229q .FIXUP D
0229q(8D000004): LDR SB, MT, MOD0 [Draw]
022Aq(40D80000): ADD R0, SB, 0H [data]
022Bq .FIXUP D
022Bq(8D500002): LDR SB, MT, MOD5 [Texts]
022Cq(41D80005): ADD R1, SB, VAR5
022Dr .FIXUP P
022Dr(F751C005): BL MOD5 [Texts] PROC28
022Es .FIXUP D
022Es(8D600003): LDR SB, MT, MOD6 [Oberon]
022Fs(80D0000D): LDR R0, SB, VAR13
0230t .FIXUP D
0230t(8D000002): LDR SB, MT, MOD0 [Draw]
0231t(81D00000): LDR R1, SB, 0H [data]
0232u .FIXUP P
0232u(F750E005): BL MOD5 [Texts] PROC14
Backup(S.s)v;w GraphicFrames.Store(G,x S.s)y
0233v(40E80058): ADD R0, SP, 58H
0234v(41000020): MOV R1, R0, 20H
0235w(F7FFFF0F): BL -241 [0145H]
0236x(80E0007C): LDR R0, SP, 7CH
0237y(41E80058): ADD R1, SP, 58H
0238y(42000020): MOV R2, R0, 20H
ENDz
0239z .FIXUP P
0239z(F7B15007): BL MOD11 [GraphicFrames] PROC21
END
END
ENDa Store;
023Aa(8FE00000): LDR LNK, SP, 0H
023Ba(4EE80084): ADD SP, SP, 84H
023Ca(C700000F): B LNK
PROCEDURE Macro*;
VAR S: Texts.Scanner;
T: Texts.Text;
time, beg, end: LONGINT;
Lname: ARRAY 32 OF CHAR;
BEGINb Texts.OpenScanner(S,c Oberon.Par.text,d Oberon.Par.pos)e;f Texts.Scan(S)g;h
023Db .PROC 10
023Db .COMMAND Macro
023Db(4EE900A8): SUB SP, SP, A8H
023Eb(AFE00000): STR LNK, SP, 0H
023Fc(40E80004): ADD R0, SP, 4H
0240c .FIXUP D
0240c(8D500010): LDR SB, MT, MOD5 [Texts]
0241c(41D80003): ADD R1, SB, VAR3
0242d .FIXUP D
0242d(8D600002): LDR SB, MT, MOD6 [Oberon]
0243d(42D8000E): ADD R2, SB, VAR14
0244d(82200008): LDR R2, R2, 8H
0245e .FIXUP D
0245e(8D600003): LDR SB, MT, MOD6 [Oberon]
0246e(43D8000E): ADD R3, SB, VAR14
0247e(8330000C): LDR R3, R3, CH
0248f .FIXUP P
0248f(F751500F): BL MOD5 [Texts] PROC21
0249g(40E80004): ADD R0, SP, 4H
024Ag .FIXUP D
024Ag(8D500005): LDR SB, MT, MOD5 [Texts]
024Bg(41D80003): ADD R1, SB, VAR3
024Ch .FIXUP P
024Ch(F7516004): BL MOD5 [Texts] PROC22
IF S.class = Texts.Name THENi
024Di(80E00040): LDR R0, SP, 40H
024Ei(40090001): SUB R0, R0, 1H
024Fi(E9000015): BNE 21 [0265H]
Lname := S.s;j Texts.Scan(S)k;l
0250j(40E80088): ADD R0, SP, 88H
0251j(41E80058): ADD R1, SP, 58H
0252j(42000008): MOV R2, R0, 8H
0253j(83100000): LDR R3, R1, 0H
0254j(41180004): ADD R1, R1, 4H
0255j(A3000000): STR R3, R0, 0H
0256j(40080004): ADD R0, R0, 4H
0257j(42290001): SUB R2, R2, 1H
0258j(E9FFFFFA): BNE -6 [0253H]
0259k(40E80004): ADD R0, SP, 4H
025Ak .FIXUP D
025Ak(8D500010): LDR SB, MT, MOD5 [Texts]
025Bk(41D80003): ADD R1, SB, VAR3
025Cl .FIXUP P
025Cl(F7516010): BL MOD5 [Texts] PROC22
IF S.class = Texts.Name THENm GraphicFrames.Macro(Lname,n S.s)o ENDp ;
025Dm(80E00040): LDR R0, SP, 40H
025Em(40090001): SUB R0, R0, 1H
025Fm(E9000005): BNE 5 [0265H]
0260n(40E80088): ADD R0, SP, 88H
0261n(41000020): MOV R1, R0, 20H
0262o(42E80058): ADD R2, SP, 58H
0263o(43000020): MOV R3, R0, 20H
0264p .FIXUP P
0264p(F7B13008): BL MOD11 [GraphicFrames] PROC19
END
ENDq Macro;
0265q(8FE00000): LDR LNK, SP, 0H
0266q(4EE800A8): ADD SP, SP, A8H
0267q(C700000F): B LNK
BEGINr Texts.OpenWriter(W)s;t Texts.WriteString(W,u "Draw - NW 9.8.2013")v;w
0268r .PROC 0
0268r .ENTRYPOINT
0268r(4EE90004): SUB SP, SP, 4H
0269r(AFE00000): STR LNK, SP, 0H
026As .FIXUP D
026As(8D000010): LDR SB, MT, MOD0 [Draw]
026Bs(40D80000): ADD R0, SB, 0H [data]
026Cs .FIXUP D
026Cs(8D500002): LDR SB, MT, MOD5 [Texts]
026Ds(41D80005): ADD R1, SB, VAR5
026Et .FIXUP P
026Et(F751700A): BL MOD5 [Texts] PROC23
026Fu .FIXUP D
026Fu(8D000003): LDR SB, MT, MOD0 [Draw]
0270u(40D80000): ADD R0, SB, 0H [data]
0271u .FIXUP D
0271u(8D500002): LDR SB, MT, MOD5 [Texts]
0272u(41D80005): ADD R1, SB, VAR5
0273v .FIXUP D
0273v(8D000002): LDR SB, MT, MOD0 [Draw]
0274v(42D8009C): ADD R2, SB, 9CH ["Draw - NW 9.8.2013"]
0275v(43000013): MOV R3, R0, 13H
0276w .FIXUP P
0276w(F751D008): BL MOD5 [Texts] PROC29
Texts.WriteLn(W)x;y Texts.Append(Oberon.Log,z W.buf)a
0277x .FIXUP D
0277x(8D000004): LDR SB, MT, MOD0 [Draw]
0278x(40D80000): ADD R0, SB, 0H [data]
0279x .FIXUP D
0279x(8D500002): LDR SB, MT, MOD5 [Texts]
027Ax(41D80005): ADD R1, SB, VAR5
027By .FIXUP P
027By(F751C005): BL MOD5 [Texts] PROC28
027Cz .FIXUP D
027Cz(8D600003): LDR SB, MT, MOD6 [Oberon]
027Dz(80D0000D): LDR R0, SB, VAR13
027Ea .FIXUP D
027Ea(8D000002): LDR SB, MT, MOD0 [Draw]
027Fa(81D00000): LDR R1, SB, 0H [data]
ENDb Draw.c
0280b .FIXUP P
0280b(F750E005): BL MOD5 [Texts] PROC14
0281c(8FE00000): LDR LNK, SP, 0H
0282c(4EE80004): ADD SP, SP, 4H
0283c(C700000F): B LNK