TextFrames

Used Exports

BUILTINS: BOOLEAN CHAR DEC INC INTEGER LONGINT NEW SET
Display: CopyBlock CopyPattern Frame FrameDesc FrameDesc.H FrameDesc.W FrameDesc.X FrameDesc.Y FrameDesc.handle FrameMsg Handler Height ReplConst Width black block hook invert paint replace updown white
Fonts: Default Font FontDesc.height FontDesc.maxY FontDesc.minY GetPat
Input: Mouse
MenuViewers: ModifyMsg ModifyMsg.H ModifyMsg.Y ModifyMsg.dY ModifyMsg.id extend reduce
Modules: imported importing
Oberon: Call ControlMsg ControlMsg.id CopyMsg CopyMsg.F DrawMouse DrawMouseArrow FocusViewer GetSelection InputMsg InputMsg.X InputMsg.Y InputMsg.ch InputMsg.col InputMsg.fnt InputMsg.id InputMsg.keys InputMsg.voff Log Marker Marker.Draw Marker.Fade PassFocus RemoveMarks SelectionMsg SelectionMsg.beg SelectionMsg.end SelectionMsg.text SelectionMsg.time SetPar Time consume defocus neutralize track
Texts: Append Attributes BufDesc.len Buffer ChangeLooks Copy Delete Insert Name Open OpenBuf OpenReader OpenScanner OpenWriter Read Reader Reader.col Reader.eot Reader.fnt Save Scan Scanner Scanner.class Scanner.len Scanner.line Scanner.s Text TextDesc.changed TextDesc.len TextDesc.notify Write WriteLn WriteString Writer Writer.buf Writer.col Writer.fnt Writer.voff
Viewers: Broadcast This Viewer

MODULE TextFrames; (*JG 8.10.90 / NW 10.5.2013 / 11.2.2017*)
.MODULE TextFrames (KEY 650813D5, VERSION 1, SIZE 00005B80)
.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 Files (KEY 73F5D686)
.IMPORT Oberon (KEY A89CCEE2)
.IMPORT MenuViewers (KEY 245ACC30)
.TYPEDESC 00000020 FFFFFFFF FFFFFFFF FFFFFFFF 0000000C FFFFFFFF 00000020 FFFFFFFF FFFFFFFF FFFFFFFF 00000014 FFFFFFFF 00000100 0003000D FFFFFFFF FFFFFFFF 00000090 0000008C 00000074 0000005C 0000001C 00000000 00000004 FFFFFFFF 00000020 0006000C FFFFFFFF FFFFFFFF 00000004 FFFFFFFF 00000020 00078006 FFFFFFFF FFFFFFFF 00000000 FFFFFFFF
.DATA 94H
.STRING 124H "Call error: "
.STRING 134H " module not found"
.STRING 148H " bad version"
.STRING 158H " imports "
.STRING 164H " with bad key"
.STRING 174H " corrupted obj file"
.STRING 188H " command not found"
.STRING 19CH " insufficient space"
.STRING 1B0H ""
.STRING 1B4H " | "
.POINTER_REFERENCES 90H 94H D4H D8H F8H ECH FCH 100H 120H 114H
.FIXUP T 1FH
IMPORT Modules, Input, Display, Viewers, Fonts, Texts, Oberon, MenuViewers;
CONST replace* = 0; insert* = 1; delete* = 2; unmark* = 3; (*message id*)
BS = 8X; TAB = 9X; CR = 0DX; DEL = 7FX;
TYPE Line = POINTER TO LineDesc;
LineDesc = RECORD
len: LONGINT;
wid: INTEGER;
eot: BOOLEAN;
next: Line
END;
Location* = RECORD
org*, pos*: LONGINT;
dx*, x*, y*: INTEGER;
lin: Line
END;
Frame* = POINTER TO FrameDesc;
FrameDesc* = RECORD
(Display.FrameDesc)
text*: Texts.Text;
org*: LONGINT;
col*: INTEGER;
lsp*: INTEGER;
left*, right*, top*, bot*: INTEGER;
markH*: INTEGER;
time*: LONGINT;
hasCar*, hasSel*, hasMark: BOOLEAN;
carloc*: Location;
selbeg*, selend*: Location;
trailer: Line
END;
UpdateMsg* = RECORD (Display.FrameMsg)
id*: INTEGER;
text*: Texts.Text;
beg*, end*: LONGINT
END;
CopyOverMsg = RECORD (Display.FrameMsg)
text: Texts.Text;
beg, end: LONGINT
END;
VAR TBuf*, DelBuf: Texts.Buffer;
menuH*, barW*, left*, right*, top*, bot*, lsp*: INTEGER; (*standard sizes*)
asr, dsr, selH, markW, eolW: INTEGER;
nextCh: CHAR;
ScrollMarker: Oberon.Marker;
W, KW: Texts.Writer; (*keyboard writer*)
PROCEDURE Min (i, j: INTEGER): INTEGER;
BEGINa IF i < j THENb j := i ENDc ;
0000a(4EE9000C): SUB SP, SP, CH
0001a(AFE00000): STR LNK, SP, 0H
0002a(A0E00004): STR R0, SP, 4H
0003a(A1E00008): STR R1, SP, 8H
0004b(80E00004): LDR R0, SP, 4H
0005b(81E00008): LDR R1, SP, 8H
0006b .PROC 1
0006b(00090001): SUB R0, R0, R1
0007b(ED000002): BGE 2 [000AH]
0008c(80E00004): LDR R0, SP, 4H
0009c(A0E00008): STR R0, SP, 8H
RETURN j
ENDd Min;
000Ad(80E00008): LDR R0, SP, 8H
000Bd(8FE00000): LDR LNK, SP, 0H
000Cd .PROC 2
000Cd(4EE8000C): ADD SP, SP, CH
000Dd(C700000F): B LNK
(*------------------display support------------------------*)
PROCEDURE ReplConst (col: INTEGER; F: Frame; X, Y, W, H: INTEGER; mode: INTEGER);
BEGINe
000Ee(4EE90020): SUB SP, SP, 20H
000Fe(AFE00000): STR LNK, SP, 0H
0010e(A0E00004): STR R0, SP, 4H
0011e(A1E00008): STR R1, SP, 8H
0012e(A2E0000C): STR R2, SP, CH
0013e(A3E00010): STR R3, SP, 10H
0014e(A4E00014): STR R4, SP, 14H
0015e(A5E00018): STR R5, SP, 18H
0016e(A6E0001C): STR R6, SP, 1CH
IF X + W <=f F.Xg + F.Wh THENi Display.ReplConst(col,j X,k Y,l W,m H,n mode)o
0017f(80E0000C): LDR R0, SP, CH
0018f .PROC 3
0018f(81E00014): LDR R1, SP, 14H
0019f(00080001): ADD R0, R0, R1
001Ag(81E00008): LDR R1, SP, 8H
001Bg(D1067A4C): BLEQ MT [trap=4, pos=1658]
001Ch(82E00008): LDR R2, SP, 8H
001Dh(D106804C): BLEQ MT [trap=4, pos=1664]
001Ei(81100008): LDR R1, R1, 8H
001Fi(82200010): LDR R2, R2, 10H
0020i(01180002): ADD R1, R1, R2
0021i(00090001): SUB R0, R0, R1
0022i(EE000008): BGT 8 [002BH]
0023j(80E00004): LDR R0, SP, 4H
0024k .PROC 4
0024k(81E0000C): LDR R1, SP, CH
0025l(82E00010): LDR R2, SP, 10H
0026m .PROC 5
0026m(83E00014): LDR R3, SP, 14H
0027n .PROC 6
0027n(84E00018): LDR R4, SP, 18H
0028o .PROC 7
0028o(85E0001C): LDR R5, SP, 1CH
ELSIFp Xq < F.Xr + F.Ws THENt Display.ReplConst(col,u X,v Y,w F.Xx + F.Wy -z X,a H,b mode)c
0029p .PROC 8
0029p .FIXUP P
0029p(F730F029): BL MOD3 [Display] PROC15
002Aq .PROC 9
002Aq(E7000019): B 25 [0044H]
002Br .PROC 10
002Br(80E00008): LDR R0, SP, 8H
002Cr .PROC 11
002Cr(D106C04C): BLEQ MT [trap=4, pos=1728]
002Ds(81E00008): LDR R1, SP, 8H
002Es(D106C64C): BLEQ MT [trap=4, pos=1734]
002Ft(80000008): LDR R0, R0, 8H
0030t(81100010): LDR R1, R1, 10H
0031t(00080001): ADD R0, R0, R1
0032t(81E0000C): LDR R1, SP, CH
0033t(01190000): SUB R1, R1, R0
0034t(ED00000F): BGE 15 [0044H]
0035u(80E00004): LDR R0, SP, 4H
0036v(81E0000C): LDR R1, SP, CH
0037w(82E00010): LDR R2, SP, 10H
0038x(83E00008): LDR R3, SP, 8H
0039x(D106EC4C): BLEQ MT [trap=4, pos=1772]
003Ay(84E00008): LDR R4, SP, 8H
003By(D106F24C): BLEQ MT [trap=4, pos=1778]
003Cz(83300008): LDR R3, R3, 8H
003Dz(84400010): LDR R4, R4, 10H
003Ez(03380004): ADD R3, R3, R4
003Fa(84E0000C): LDR R4, SP, CH
0040a(03390004): SUB R3, R3, R4
0041b(84E00018): LDR R4, SP, 18H
0042c(85E0001C): LDR R5, SP, 1CH
ENDd
0043d .FIXUP P
0043d(F730F01A): BL MOD3 [Display] PROC15
ENDe ReplConst;
0044e(8FE00000): LDR LNK, SP, 0H
0045e(4EE80020): ADD SP, SP, 20H
0046e(C700000F): B LNK
PROCEDURE FlipSM(X, Y: INTEGER);
VAR DW, DH, CL: INTEGER;
BEGINf DW := Display.Width;g DH := Display.Height;h CL := DW;i
0047f(4EE90018): SUB SP, SP, 18H
0048f(AFE00000): STR LNK, SP, 0H
0049f(A0E00004): STR R0, SP, 4H
004Af(A1E00008): STR R1, SP, 8H
004Bg .FIXUP D
004Bg(8D30004B): LDR SB, MT, MOD3 [Display]
004Cg(80D00004): LDR R0, SB, VAR4
004Dg(A0E0000C): STR R0, SP, CH
004Eh .FIXUP D
004Eh(8D300003): LDR SB, MT, MOD3 [Display]
004Fh(80D00005): LDR R0, SB, VAR5
0050h(A0E00010): STR R0, SP, 10H
0051i(80E0000C): LDR R0, SP, CH
0052i(A0E00014): STR R0, SP, 14H
IF X < CL THENj
0053j(80E00004): LDR R0, SP, 4H
0054j(81E00014): LDR R1, SP, 14H
0055j(00090001): SUB R0, R0, R1
0056j(ED00000F): BGE 15 [0066H]
IF X < 3 THENk X := 3 ELSIFl Xm > DW - 4 THENn X := DW - 4 ENDo
0057k(80E00004): LDR R0, SP, 4H
0058k(40090003): SUB R0, R0, 3H
0059k(ED000003): BGE 3 [005DH]
005Al(40000003): MOV R0, R0, 3H
005Bl(A0E00004): STR R0, SP, 4H
005Cm(E7000008): B 8 [0065H]
005Dn(80E0000C): LDR R0, SP, CH
005En(40090004): SUB R0, R0, 4H
005Fn(81E00004): LDR R1, SP, 4H
0060n(01190000): SUB R1, R1, R0
0061n(E6000003): BLE 3 [0065H]
0062o(80E0000C): LDR R0, SP, CH
0063o(40090004): SUB R0, R0, 4H
0064o(A0E00004): STR R0, SP, 4H
ELSE
IFp X < CL + 3 THENq X := CL + 4 ELSIFr Xs > CL + DW -t 4 THENu X := CL + DW -v 4 ENDw
0065p(E7000015): B 21 [007BH]
0066q(80E00014): LDR R0, SP, 14H
0067q(40080003): ADD R0, R0, 3H
0068q(81E00004): LDR R1, SP, 4H
0069q(01190000): SUB R1, R1, R0
006Aq(ED000004): BGE 4 [006FH]
006Br(80E00014): LDR R0, SP, 14H
006Cr(40080004): ADD R0, R0, 4H
006Dr(A0E00004): STR R0, SP, 4H
006Es(E700000C): B 12 [007BH]
006Ft(80E00014): LDR R0, SP, 14H
0070t(81E0000C): LDR R1, SP, CH
0071t(00080001): ADD R0, R0, R1
0072u(40090004): SUB R0, R0, 4H
0073u(81E00004): LDR R1, SP, 4H
0074u(01190000): SUB R1, R1, R0
0075u(E6000005): BLE 5 [007BH]
0076v(80E00014): LDR R0, SP, 14H
0077v(81E0000C): LDR R1, SP, CH
0078v(00080001): ADD R0, R0, R1
0079w(40090004): SUB R0, R0, 4H
007Aw(A0E00004): STR R0, SP, 4H
END ;
IF Y < 6 THENx Y := 6 ELSIFy Yz > DH - 6 THENa Y := DH - 6 ENDb;
007Bx(80E00008): LDR R0, SP, 8H
007Cx(40090006): SUB R0, R0, 6H
007Dx(ED000003): BGE 3 [0081H]
007Ey(40000006): MOV R0, R0, 6H
007Fy(A0E00008): STR R0, SP, 8H
0080z(E7000008): B 8 [0089H]
0081a(80E00010): LDR R0, SP, 10H
0082a(40090006): SUB R0, R0, 6H
0083a(81E00008): LDR R1, SP, 8H
0084a(01190000): SUB R1, R1, R0
0085a(E6000003): BLE 3 [0089H]
0086b(80E00010): LDR R0, SP, 10H
0087b(40090006): SUB R0, R0, 6H
0088b(A0E00008): STR R0, SP, 8H
Display.CopyPattern(Display.white,c Display.updown,d X-4,e Y-4,f Display.invert)g
0089c(40000001): MOV R0, R0, 1H
008Ad .FIXUP D
008Ad(8D30003C): LDR SB, MT, MOD3 [Display]
008Bd(81D00009): LDR R1, SB, VAR9
008Ce(82E00004): LDR R2, SP, 4H
008De(42290004): SUB R2, R2, 4H
008Ef(83E00008): LDR R3, SP, 8H
008Ff(43390004): SUB R3, R3, 4H
0090g(44000002): MOV R4, R0, 2H
ENDh FlipSM;
0091h .FIXUP P
0091h(F731004E): BL MOD3 [Display] PROC16
0092h(8FE00000): LDR LNK, SP, 0H
0093h(4EE80018): ADD SP, SP, 18H
0094h(C700000F): B LNK
PROCEDURE UpdateMark (F: Frame); (*in scroll bar*)
VAR oldH: INTEGER;
BEGINi oldH := F.markHj;k F.markHl := F.orgm * F.Hn DIVo (F.textp.lenq + 1)r;s
0095i(4EE9000C): SUB SP, SP, CH
0096i(AFE00000): STR LNK, SP, 0H
0097i(A0E00004): STR R0, SP, 4H
0098j(80E00004): LDR R0, SP, 4H
0099j(D109584C): BLEQ MT [trap=4, pos=2392]
009Ak(8000003C): LDR R0, R0, 3CH
009Bk(A0E00008): STR R0, SP, 8H
009Cl(80E00004): LDR R0, SP, 4H
009Dl(D109614C): BLEQ MT [trap=4, pos=2401]
009Em(81E00004): LDR R1, SP, 4H
009Fm(D1096A4C): BLEQ MT [trap=4, pos=2410]
00A0n(82E00004): LDR R2, SP, 4H
00A1n(D109704C): BLEQ MT [trap=4, pos=2416]
00A2o(81100020): LDR R1, R1, 20H
00A3o(82200014): LDR R2, R2, 14H
00A4o(011A0002): MUL R1, R1, R2
00A5p(82E00004): LDR R2, SP, 4H
00A6p(D1097C4C): BLEQ MT [trap=4, pos=2428]
00A7q(8220001C): LDR R2, R2, 1CH
00A8q(D109804C): BLEQ MT [trap=4, pos=2432]
00A9r(82200000): LDR R2, R2, 0H
00AAr(42280001): ADD R2, R2, 1H
00ABs(D609866C): BLLE MT [trap=6, pos=2438]
00ACs(011B0002): DIV R1, R1, R2
00ADs(A100003C): STR R1, R0, 3CH
IF F.hasMarkt & (uF.leftv >= barW)w & (xF.markHy # oldH)z THENa
00AEt(80E00004): LDR R0, SP, 4H
00AFt(D109974C): BLEQ MT [trap=4, pos=2455]
00B0u(90000046): LDR R0, R0, 46H
00B1u(E1000037): BEQ 55 [00E9H]
00B2v(80E00004): LDR R0, SP, 4H
00B3v(D109A14C): BLEQ MT [trap=4, pos=2465]
00B4w(8000002C): LDR R0, R0, 2CH
00B5w .FIXUP D
00B5w(8D00002B): LDR SB, MT, MOD0 [TextFrames]
00B6w(81D0009C): LDR R1, SB, 9CH [data]
00B7w(00090001): SUB R0, R0, R1
00B8x(E5000030): BLT 48 [00E9H]
00B9y(80E00004): LDR R0, SP, 4H
00BAy(D109B54C): BLEQ MT [trap=4, pos=2485]
00BBz(8000003C): LDR R0, R0, 3CH
00BCz(81E00008): LDR R1, SP, 8H
00BDz(00090001): SUB R0, R0, R1
00BEa(E100002A): BEQ 42 [00E9H]
Display.ReplConst(Display.white,b F.Xc + 1,d F.Ye + F.Hf -g 1 -h oldH,i markW,j 1,k Display.invert)l;m
00BFb(40000001): MOV R0, R0, 1H
00C0c(81E00004): LDR R1, SP, 4H
00C1c(D109ED4C): BLEQ MT [trap=4, pos=2541]
00C2d(81100008): LDR R1, R1, 8H
00C3d(41180001): ADD R1, R1, 1H
00C4e(82E00004): LDR R2, SP, 4H
00C5e(D109F64C): BLEQ MT [trap=4, pos=2550]
00C6f(83E00004): LDR R3, SP, 4H
00C7f(D109FC4C): BLEQ MT [trap=4, pos=2556]
00C8g(8220000C): LDR R2, R2, CH
00C9g(83300014): LDR R3, R3, 14H
00CAg(02280003): ADD R2, R2, R3
00CBh(42290001): SUB R2, R2, 1H
00CCi(83E00008): LDR R3, SP, 8H
00CDi(02290003): SUB R2, R2, R3
00CEj .FIXUP D
00CEj(8D000019): LDR SB, MT, MOD0 [TextFrames]
00CFj(83D000C0): LDR R3, SB, C0H [data]
00D0k(44000001): MOV R4, R0, 1H
00D1l(45000002): MOV R5, R0, 2H
00D2m .FIXUP P
00D2m(F730F041): BL MOD3 [Display] PROC15
Display.ReplConst(Display.white,n F.Xo + 1,p F.Yq + F.Hr -s 1 -t F.markHu,v markW,w 1,x Display.invert)y
00D3n(40000001): MOV R0, R0, 1H
00D4o(81E00004): LDR R1, SP, 4H
00D5o(D10A4E4C): BLEQ MT [trap=4, pos=2638]
00D6p(81100008): LDR R1, R1, 8H
00D7p(41180001): ADD R1, R1, 1H
00D8q(82E00004): LDR R2, SP, 4H
00D9q(D10A574C): BLEQ MT [trap=4, pos=2647]
00DAr(83E00004): LDR R3, SP, 4H
00DBr(D10A5D4C): BLEQ MT [trap=4, pos=2653]
00DCs(8220000C): LDR R2, R2, CH
00DDs(83300014): LDR R3, R3, 14H
00DEs(02280003): ADD R2, R2, R3
00DFt(42290001): SUB R2, R2, 1H
00E0u(83E00004): LDR R3, SP, 4H
00E1u(D10A6B4C): BLEQ MT [trap=4, pos=2667]
00E2v(8330003C): LDR R3, R3, 3CH
00E3v(02290003): SUB R2, R2, R3
00E4w .FIXUP D
00E4w(8D000016): LDR SB, MT, MOD0 [TextFrames]
00E5w(83D000C0): LDR R3, SB, C0H [data]
00E6x(44000001): MOV R4, R0, 1H
00E7y(45000002): MOV R5, R0, 2H
ENDz
00E8z .FIXUP P
00E8z(F730F016): BL MOD3 [Display] PROC15
ENDa UpdateMark;
00E9a(8FE00000): LDR LNK, SP, 0H
00EAa(4EE8000C): ADD SP, SP, CH
00EBa(C700000F): B LNK
PROCEDURE SetChangeMark (F: Frame; on: BOOLEAN); (*in corner*)
BEGINb
00ECb(4EE9000C): SUB SP, SP, CH
00EDb(AFE00000): STR LNK, SP, 0H
00EEb(A0E00004): STR R0, SP, 4H
00EFb(A1E00008): STR R1, SP, 8H
IF F.Hc > menuH THENd
00F0c(80E00004): LDR R0, SP, 4H
00F1c(D10AF64C): BLEQ MT [trap=4, pos=2806]
00F2d(80000014): LDR R0, R0, 14H
00F3d .FIXUP D
00F3d(8D00000F): LDR SB, MT, MOD0 [TextFrames]
00F4d(81D00098): LDR R1, SB, 98H [data]
00F5d(00090001): SUB R0, R0, R1
00F6d(E600002F): BLE 47 [0126H]
IF on THENe Display.CopyPattern(Display.white,f Display.block,g F.Xh+F.Wi-j12,k F.Yl+F.Hm-n12,o Display.paint)p
00F7e(90E00008): LDR R0, SP, 8H
00F8e(E1000016): BEQ 22 [010FH]
00F9f(40000001): MOV R0, R0, 1H
00FAg .FIXUP D
00FAg(8D300007): LDR SB, MT, MOD3 [Display]
00FBg(81D0000A): LDR R1, SB, VAR10
00FCh(82E00004): LDR R2, SP, 4H
00FDh(D10B4B4C): BLEQ MT [trap=4, pos=2891]
00FEi(83E00004): LDR R3, SP, 4H
00FFi(D10B4F4C): BLEQ MT [trap=4, pos=2895]
0100j(82200008): LDR R2, R2, 8H
0101j(83300010): LDR R3, R3, 10H
0102j(02280003): ADD R2, R2, R3
0103k(4229000C): SUB R2, R2, CH
0104l(83E00004): LDR R3, SP, 4H
0105l(D10B574C): BLEQ MT [trap=4, pos=2903]
0106m(84E00004): LDR R4, SP, 4H
0107m(D10B5B4C): BLEQ MT [trap=4, pos=2907]
0108n(8330000C): LDR R3, R3, CH
0109n(84400014): LDR R4, R4, 14H
010An(03380004): ADD R3, R3, R4
010Bo(4339000C): SUB R3, R3, CH
010Cp(44000001): MOV R4, R0, 1H
ELSEq Displayr.ReplConst(F.cols,t F.Xu+F.Wv-w12,x F.Yy+F.Hz-a12,b 8,c 8,d Display.replace)e
010Dq .FIXUP P
010Dq(F7310025): BL MOD3 [Display] PROC16
010Er(E7000017): B 23 [0126H]
010Fs(80E00004): LDR R0, SP, 4H
0110s(D10B914C): BLEQ MT [trap=4, pos=2961]
0111t(80000024): LDR R0, R0, 24H
0112u(81E00004): LDR R1, SP, 4H
0113u(D10B964C): BLEQ MT [trap=4, pos=2966]
0114v(82E00004): LDR R2, SP, 4H
0115v(D10B9A4C): BLEQ MT [trap=4, pos=2970]
0116w(81100008): LDR R1, R1, 8H
0117w(82200010): LDR R2, R2, 10H
0118w(01180002): ADD R1, R1, R2
0119x(4119000C): SUB R1, R1, CH
011Ay(82E00004): LDR R2, SP, 4H
011By(D10BA24C): BLEQ MT [trap=4, pos=2978]
011Cz(83E00004): LDR R3, SP, 4H
011Dz(D10BA64C): BLEQ MT [trap=4, pos=2982]
011Ea(8220000C): LDR R2, R2, CH
011Fa(83300014): LDR R3, R3, 14H
0120a(02280003): ADD R2, R2, R3
0121b(4229000C): SUB R2, R2, CH
0122c(43000008): MOV R3, R0, 8H
0123d(44000008): MOV R4, R0, 8H
0124e(45000000): MOV R5, R0, 0H
ENDf
0125f .FIXUP P
0125f(F730F018): BL MOD3 [Display] PROC15
END
ENDg SetChangeMark;
0126g(8FE00000): LDR LNK, SP, 0H
0127g(4EE8000C): ADD SP, SP, CH
0128g(C700000F): B LNK
PROCEDURE Width (VAR R: Texts.Reader; len: LONGINT): INTEGER;
VAR patadr, pos: LONGINT; ox, dx, x, y, w, h: INTEGER;
BEGINh pos := 0;i ox := 0;j
0129h(4EE90030): SUB SP, SP, 30H
012Ah(AFE00000): STR LNK, SP, 0H
012Bh(A0E00004): STR R0, SP, 4H
012Ch(A1E00008): STR R1, SP, 8H
012Dh(A2E0000C): STR R2, SP, CH
012Ei(40000000): MOV R0, R0, 0H
012Fi(A0E00014): STR R0, SP, 14H
0130j(40000000): MOV R0, R0, 0H
0131j(A0E00018): STR R0, SP, 18H
WHILE pos < len DOk
0132k(80E00014): LDR R0, SP, 14H
0133k(81E0000C): LDR R1, SP, CH
0134k(00090001): SUB R0, R0, R1
0135k(ED000018): BGE 24 [014EH]
Fonts.GetPat(R.fnt,l nextCh,m dx,n x,o y,p w,q h,r patadr)s;t
0136l(80E00004): LDR R0, SP, 4H
0137l(80000004): LDR R0, R0, 4H
0138m .FIXUP D
0138m(8D00003E): LDR SB, MT, MOD0 [TextFrames]
0139m(91D000C8): LDR R1, SB, C8H [data]
013An(42E8001C): ADD R2, SP, 1CH
013Bo(43E80020): ADD R3, SP, 20H
013Cp(44E80024): ADD R4, SP, 24H
013Dq(45E80028): ADD R5, SP, 28H
013Er(46E8002C): ADD R6, SP, 2CH
013Fs(47E80010): ADD R7, SP, 10H
0140t .FIXUP P
0140t(F750401B): BL MOD5 [Fonts] PROC4
ox := ox + dx;u INC(pos);v Texts.Read(R,w nextCh)x
0141u(80E00018): LDR R0, SP, 18H
0142u(81E0001C): LDR R1, SP, 1CH
0143u(00080001): ADD R0, R0, R1
0144u(A0E00018): STR R0, SP, 18H
0145v(80E00014): LDR R0, SP, 14H
0146v(40080001): ADD R0, R0, 1H
0147v(A0E00014): STR R0, SP, 14H
0148w(80E00004): LDR R0, SP, 4H
0149w(81E00008): LDR R1, SP, 8H
014Ax .FIXUP D
014Ax(8D000012): LDR SB, MT, MOD0 [TextFrames]
014Bx(42D800C8): ADD R2, SB, C8H [data]
ENDy;
014Cy .FIXUP P
014Cy(F761300C): BL MOD6 [Texts] PROC19
014Dy(E7FFFFE4): B -28 [0132H]
RETURN ox
ENDz Width;
014Ez(80E00018): LDR R0, SP, 18H
014Fz(8FE00000): LDR LNK, SP, 0H
0150z(4EE80030): ADD SP, SP, 30H
0151z(C700000F): B LNK
PROCEDURE DisplayLine (F: Frame; L: Line;
VAR R: Texts.Reader; X, Y: INTEGER; len: LONGINT);
VAR patadr, NX, dx, x, y, w, h: INTEGER;
BEGINa NX := F.Xb + F.Wc;d
0152a(4EE9003C): SUB SP, SP, 3CH
0153a(AFE00000): STR LNK, SP, 0H
0154a(A0E00004): STR R0, SP, 4H
0155a(A1E00008): STR R1, SP, 8H
0156a(A2E0000C): STR R2, SP, CH
0157a(A3E00010): STR R3, SP, 10H
0158a(A4E00014): STR R4, SP, 14H
0159a(A5E00018): STR R5, SP, 18H
015Aa(A6E0001C): STR R6, SP, 1CH
015Bb(80E00004): LDR R0, SP, 4H
015Cb(D10DCE4C): BLEQ MT [trap=4, pos=3534]
015Dc(81E00004): LDR R1, SP, 4H
015Ec(D10DD44C): BLEQ MT [trap=4, pos=3540]
015Fd(80000008): LDR R0, R0, 8H
0160d(81100010): LDR R1, R1, 10H
0161d(00080001): ADD R0, R0, R1
0162d(A0E00024): STR R0, SP, 24H
WHILE (nextCh # CR)e & (fR.fnt # NIL)g DOh
0163e .FIXUP D
0163e(8D000019): LDR SB, MT, MOD0 [TextFrames]
0164e(90D000C8): LDR R0, SB, C8H [data]
0165e(4009000D): SUB R0, R0, DH
0166f(E1000030): BEQ 48 [0197H]
0167g(80E0000C): LDR R0, SP, CH
0168g(80000004): LDR R0, R0, 4H
0169h(E100002D): BEQ 45 [0197H]
Fonts.GetPat(R.fnt,i nextCh,j dx,k x,l y,m w,n h,o patadr)p;q
016Ai(80E0000C): LDR R0, SP, CH
016Bi(80000004): LDR R0, R0, 4H
016Cj .FIXUP D
016Cj(8D000009): LDR SB, MT, MOD0 [TextFrames]
016Dj(91D000C8): LDR R1, SB, C8H [data]
016Ek(42E80028): ADD R2, SP, 28H
016Fl(43E8002C): ADD R3, SP, 2CH
0170m(44E80030): ADD R4, SP, 30H
0171n(45E80034): ADD R5, SP, 34H
0172o(46E80038): ADD R6, SP, 38H
0173p(47E80020): ADD R7, SP, 20H
0174q .FIXUP P
0174q(F7504028): BL MOD5 [Fonts] PROC4
IF (X + x +r w <=s NX)t & (uh # 0)v THENw
0175r(80E00014): LDR R0, SP, 14H
0176r(81E0002C): LDR R1, SP, 2CH
0177r(00080001): ADD R0, R0, R1
0178s(81E00034): LDR R1, SP, 34H
0179s(00080001): ADD R0, R0, R1
017At(81E00024): LDR R1, SP, 24H
017Bt(00090001): SUB R0, R0, R1
017Cu(EE00000D): BGT 13 [018AH]
017Dv(80E00038): LDR R0, SP, 38H
017Ew(E100000B): BEQ 11 [018AH]
Display.CopyPattern(R.col,x patadr,y X + x,z Y + y,a Display.invert)b
017Fx(80E0000C): LDR R0, SP, CH
0180x(80000008): LDR R0, R0, 8H
0181y(81E00020): LDR R1, SP, 20H
0182z(82E00014): LDR R2, SP, 14H
0183z(83E0002C): LDR R3, SP, 2CH
0184z(02280003): ADD R2, R2, R3
0185a(83E00018): LDR R3, SP, 18H
0186a(84E00030): LDR R4, SP, 30H
0187a(03380004): ADD R3, R3, R4
0188b(44000002): MOV R4, R0, 2H
ENDc;
0189c .FIXUP P
0189c(F7310015): BL MOD3 [Display] PROC16
X := X + dx;d INC(len);e Texts.Read(R,f nextCh)g
018Ad(80E00014): LDR R0, SP, 14H
018Bd(81E00028): LDR R1, SP, 28H
018Cd(00080001): ADD R0, R0, R1
018Dd(A0E00014): STR R0, SP, 14H
018Ee(80E0001C): LDR R0, SP, 1CH
018Fe(40080001): ADD R0, R0, 1H
0190e(A0E0001C): STR R0, SP, 1CH
0191f(80E0000C): LDR R0, SP, CH
0192f(81E00010): LDR R1, SP, 10H
0193g .FIXUP D
0193g(8D000027): LDR SB, MT, MOD0 [TextFrames]
0194g(42D800C8): ADD R2, SB, C8H [data]
ENDh;
0195h .FIXUP P
0195h(F761300C): BL MOD6 [Texts] PROC19
0196h(E7FFFFCC): B -52 [0163H]
L.leni := len + 1;j L.widk := X + eolW -l (F.Xm + F.leftn)o;p
0197i(80E00008): LDR R0, SP, 8H
0198i(D10EFF4C): BLEQ MT [trap=4, pos=3839]
0199j(81E0001C): LDR R1, SP, 1CH
019Aj(41180001): ADD R1, R1, 1H
019Bj(A1000000): STR R1, R0, 0H
019Ck(80E00008): LDR R0, SP, 8H
019Dk(D10F114C): BLEQ MT [trap=4, pos=3857]
019El(81E00014): LDR R1, SP, 14H
019Fl .FIXUP D
019Fl(8D00000C): LDR SB, MT, MOD0 [TextFrames]
01A0l(82D000C4): LDR R2, SB, C4H [data]
01A1l(01180002): ADD R1, R1, R2
01A2m(82E00004): LDR R2, SP, 4H
01A3m(D10F244C): BLEQ MT [trap=4, pos=3876]
01A4n(83E00004): LDR R3, SP, 4H
01A5n(D10F2D4C): BLEQ MT [trap=4, pos=3885]
01A6o(82200008): LDR R2, R2, 8H
01A7o(8330002C): LDR R3, R3, 2CH
01A8o(02280003): ADD R2, R2, R3
01A9p(01190002): SUB R1, R1, R2
01AAp(A1000004): STR R1, R0, 4H
L.eotq := R.fnt = NIL;r Texts.Read(R,s nextCh)t
01ABq(80E00008): LDR R0, SP, 8H
01ACq(D10F394C): BLEQ MT [trap=4, pos=3897]
01ADr(81E0000C): LDR R1, SP, CH
01AEr(81100004): LDR R1, R1, 4H
01AFr(E9000002): BNE 2 [01B2H]
01B0r(41000001): MOV R1, R0, 1H
01B1r(E7000001): B 1 [01B3H]
01B2r(41000000): MOV R1, R0, 0H
01B3r(B1000008): STR R1, R0, 8H
01B4s(80E0000C): LDR R0, SP, CH
01B5s(81E00010): LDR R1, SP, 10H
01B6t .FIXUP D
01B6t(8D000017): LDR SB, MT, MOD0 [TextFrames]
01B7t(42D800C8): ADD R2, SB, C8H [data]
ENDu DisplayLine;
01B8u .FIXUP P
01B8u(F7613023): BL MOD6 [Texts] PROC19
01B9u(8FE00000): LDR LNK, SP, 0H
01BAu(4EE8003C): ADD SP, SP, 3CH
01BBu(C700000F): B LNK
PROCEDURE Validate (T: Texts.Text; VAR pos: LONGINT);
VAR R: Texts.Reader;
BEGINv
01BCv(4EE90040): SUB SP, SP, 40H
01BDv(AFE00000): STR LNK, SP, 0H
01BEv(A0E00004): STR R0, SP, 4H
01BFv(A1E00008): STR R1, SP, 8H
IF pos > T.lenw THENx pos := T.leny
01C0w(80E00004): LDR R0, SP, 4H
01C1w(D10FDF4C): BLEQ MT [trap=4, pos=4063]
01C2x(81E00008): LDR R1, SP, 8H
01C3x(81100000): LDR R1, R1, 0H
01C4x(80000000): LDR R0, R0, 0H
01C5x(01190000): SUB R1, R1, R0
01C6x(E6000006): BLE 6 [01CDH]
01C7y(80E00004): LDR R0, SP, 4H
01C8y(D10FF14C): BLEQ MT [trap=4, pos=4081]
ELSIFz posa > 0 THENb
01C9z(80000000): LDR R0, R0, 0H
01CAz(81E00008): LDR R1, SP, 8H
01CBz(A0100000): STR R0, R1, 0H
01CCa(E7000023): B 35 [01F0H]
01CDb(80E00008): LDR R0, SP, 8H
01CEb(80000000): LDR R0, R0, 0H
01CFb(40090000): SUB R0, R0, 0H
01D0b(E600001C): BLE 28 [01EDH]
DEC(pos);c Texts.OpenReader(R,d T,e pos)f;g
01D1c(80E00008): LDR R0, SP, 8H
01D2c(81000000): LDR R1, R0, 0H
01D3c(41190001): SUB R1, R1, 1H
01D4c(A1000000): STR R1, R0, 0H
01D5d(40E8000C): ADD R0, SP, CH
01D6d .FIXUP D
01D6d(8D600020): LDR SB, MT, MOD6 [Texts]
01D7d(41D80002): ADD R1, SB, VAR2
01D8e(82E00004): LDR R2, SP, 4H
01D9f(83E00008): LDR R3, SP, 8H
01DAf(83300000): LDR R3, R3, 0H
01DBg .FIXUP P
01DBg(F7612023): BL MOD6 [Texts] PROC18
REPEAT Texts.Read(R,h nextCh)i;j INC(pos) UNTILk R.eot OR (lnextCh = CR)m
01DCh(40E8000C): ADD R0, SP, CH
01DDh .FIXUP D
01DDh(8D600007): LDR SB, MT, MOD6 [Texts]
01DEh(41D80002): ADD R1, SB, VAR2
01DFi .FIXUP D
01DFi(8D000002): LDR SB, MT, MOD0 [TextFrames]
01E0i(42D800C8): ADD R2, SB, C8H [data]
01E1j .FIXUP P
01E1j(F7613006): BL MOD6 [Texts] PROC19
01E2k(80E00008): LDR R0, SP, 8H
01E3k(81000000): LDR R1, R0, 0H
01E4k(41180001): ADD R1, R1, 1H
01E5k(A1000000): STR R1, R0, 0H
01E6l(90E0000C): LDR R0, SP, CH
01E7l(E9000004): BNE 4 [01ECH]
01E8m .FIXUP D
01E8m(8D000009): LDR SB, MT, MOD0 [TextFrames]
01E9m(90D000C8): LDR R0, SB, C8H [data]
01EAm(4009000D): SUB R0, R0, DH
ELSEn poso := 0
01EBn(E9FFFFF0): BNE -16 [01DCH]
01ECo(E7000003): B 3 [01F0H]
ENDp
01EDp(40000000): MOV R0, R0, 0H
01EEp(81E00008): LDR R1, SP, 8H
01EFp(A0100000): STR R0, R1, 0H
ENDq Validate;
01F0q(8FE00000): LDR LNK, SP, 0H
01F1q(4EE80040): ADD SP, SP, 40H
01F2q(C700000F): B LNK
PROCEDURE Mark* (F: Frame; on: BOOLEAN);
BEGINr
01F3r .PROC 12
01F3r(4EE9000C): SUB SP, SP, CH
01F4r(AFE00000): STR LNK, SP, 0H
01F5r(A0E00004): STR R0, SP, 4H
01F6r(A1E00008): STR R1, SP, 8H
IF (F.Hs > 0)t & (uF.leftv >= barW)w & (x(F.hasMarky & ~zon)a OR (b~F.hasMarkc &d one)f) THENg
01F7s(80E00004): LDR R0, SP, 4H
01F8s(D110E94C): BLEQ MT [trap=4, pos=4329]
01F9t(80000014): LDR R0, R0, 14H
01FAt(40090000): SUB R0, R0, 0H
01FBu(E6000029): BLE 41 [0225H]
01FCv(80E00004): LDR R0, SP, 4H
01FDv(D110F84C): BLEQ MT [trap=4, pos=4344]
01FEw(8000002C): LDR R0, R0, 2CH
01FFw .FIXUP D
01FFw(8D000017): LDR SB, MT, MOD0 [TextFrames]
0200w(81D0009C): LDR R1, SB, 9CH [data]
0201w(00090001): SUB R0, R0, R1
0202x(E5000022): BLT 34 [0225H]
0203y(80E00004): LDR R0, SP, 4H
0204y(D1110F4C): BLEQ MT [trap=4, pos=4367]
0205z(90000046): LDR R0, R0, 46H
0206z(E1000002): BEQ 2 [0209H]
0207a(90E00008): LDR R0, SP, 8H
0208b(E1000006): BEQ 6 [020FH]
0209c(80E00004): LDR R0, SP, 4H
020Ac(D111254C): BLEQ MT [trap=4, pos=4389]
020Bd(90000046): LDR R0, R0, 46H
020Ce(E9000018): BNE 24 [0225H]
020Df(90E00008): LDR R0, SP, 8H
020Eg(E1000016): BEQ 22 [0225H]
Display.ReplConst(Display.white,h F.Xi + 1,j F.Yk + F.Hl -m 1 -n F.markHo,p markW,q 1,r Display.invert)s
020Fh(40000001): MOV R0, R0, 1H
0210i(81E00004): LDR R1, SP, 4H
0211i(D1115C4C): BLEQ MT [trap=4, pos=4444]
0212j(81100008): LDR R1, R1, 8H
0213j(41180001): ADD R1, R1, 1H
0214k(82E00004): LDR R2, SP, 4H
0215k(D111654C): BLEQ MT [trap=4, pos=4453]
0216l(83E00004): LDR R3, SP, 4H
0217l(D1116B4C): BLEQ MT [trap=4, pos=4459]
0218m(8220000C): LDR R2, R2, CH
0219m(83300014): LDR R3, R3, 14H
021Am(02280003): ADD R2, R2, R3
021Bn(42290001): SUB R2, R2, 1H
021Co(83E00004): LDR R3, SP, 4H
021Do(D111794C): BLEQ MT [trap=4, pos=4473]
021Ep(8330003C): LDR R3, R3, 3CH
021Fp(02290003): SUB R2, R2, R3
0220q .FIXUP D
0220q(8D000021): LDR SB, MT, MOD0 [TextFrames]
0221q(83D000C0): LDR R3, SB, C0H [data]
0222r(44000001): MOV R4, R0, 1H
0223s(45000002): MOV R5, R0, 2H
ENDt;
0224t .FIXUP P
0224t(F730F043): BL MOD3 [Display] PROC15
F.hasMarku := on
0225u(80E00004): LDR R0, SP, 4H
0226u(D111AB4C): BLEQ MT [trap=4, pos=4523]
ENDv Mark;
0227v(91E00008): LDR R1, SP, 8H
0228v(B1000046): STR R1, R0, 46H
0229v(8FE00000): LDR LNK, SP, 0H
022Av(4EE8000C): ADD SP, SP, CH
022Bv(C700000F): B LNK
PROCEDURE Restore* (F: Frame);
VAR R: Texts.Reader; L, l: Line; curY, botY: INTEGER;
BEGINw Display.ReplConst(F.colx,y F.Xz,a F.Yb,c F.Wd,e F.Hf,g Display.replace)h;i
022Cw .PROC 13
022Cw(4EE9004C): SUB SP, SP, 4CH
022Dw(AFE00000): STR LNK, SP, 0H
022Ew(A0E00004): STR R0, SP, 4H
022Fx(80E00004): LDR R0, SP, 4H
0230x(D1123A4C): BLEQ MT [trap=4, pos=4666]
0231y(80000024): LDR R0, R0, 24H
0232z(81E00004): LDR R1, SP, 4H
0233z(D1123F4C): BLEQ MT [trap=4, pos=4671]
0234a(81100008): LDR R1, R1, 8H
0235b(82E00004): LDR R2, SP, 4H
0236b(D112444C): BLEQ MT [trap=4, pos=4676]
0237c(8220000C): LDR R2, R2, CH
0238d(83E00004): LDR R3, SP, 4H
0239d(D112494C): BLEQ MT [trap=4, pos=4681]
023Ae(83300010): LDR R3, R3, 10H
023Bf(84E00004): LDR R4, SP, 4H
023Cf(D1124E4C): BLEQ MT [trap=4, pos=4686]
023Dg(84400014): LDR R4, R4, 14H
023Eh(45000000): MOV R5, R0, 0H
023Fi .FIXUP P
023Fi(F730F01B): BL MOD3 [Display] PROC15
IF F.leftj >= barW THENk
0240j(80E00004): LDR R0, SP, 4H
0241j(D1126F4C): BLEQ MT [trap=4, pos=4719]
0242k(8000002C): LDR R0, R0, 2CH
0243k .FIXUP D
0243k(8D000023): LDR SB, MT, MOD0 [TextFrames]
0244k(81D0009C): LDR R1, SB, 9CH [data]
0245k(00090001): SUB R0, R0, R1
0246k(E5000011): BLT 17 [0258H]
Display.ReplConst(Display.white,l F.Xm + barW -n 1,o F.Yp,q 1,r F.Hs,t Display.invert)u
0247l(40000001): MOV R0, R0, 1H
0248m(81E00004): LDR R1, SP, 4H
0249m(D112A74C): BLEQ MT [trap=4, pos=4775]
024An(81100008): LDR R1, R1, 8H
024Bn .FIXUP D
024Bn(8D000008): LDR SB, MT, MOD0 [TextFrames]
024Cn(82D0009C): LDR R2, SB, 9CH [data]
024Dn(01180002): ADD R1, R1, R2
024Eo(41190001): SUB R1, R1, 1H
024Fp(82E00004): LDR R2, SP, 4H
0250p(D112B74C): BLEQ MT [trap=4, pos=4791]
0251q(8220000C): LDR R2, R2, CH
0252r(43000001): MOV R3, R0, 1H
0253s(84E00004): LDR R4, SP, 4H
0254s(D112BF4C): BLEQ MT [trap=4, pos=4799]
0255t(84400014): LDR R4, R4, 14H
0256u(45000002): MOV R5, R0, 2H
ENDv;
0257v .FIXUP P
0257v(F730F018): BL MOD3 [Display] PROC15
Validate(F.textw,x F.orgy)z;a
0258w(80E00004): LDR R0, SP, 4H
0259w(D112ED4C): BLEQ MT [trap=4, pos=4845]
025Ax(8000001C): LDR R0, R0, 1CH
025By(81E00004): LDR R1, SP, 4H
025Cy(D112F44C): BLEQ MT [trap=4, pos=4852]
025Dz(41180020): ADD R1, R1, 20H
025Ea(F7FFFF5D): BL -163 [01BCH]
botY := F.Yb + F.botc +d dsr;e
025Fb(80E00004): LDR R0, SP, 4H
0260b(D113064C): BLEQ MT [trap=4, pos=4870]
0261c(81E00004): LDR R1, SP, 4H
0262c(D1130E4C): BLEQ MT [trap=4, pos=4878]
0263d(8000000C): LDR R0, R0, CH
0264d(81100038): LDR R1, R1, 38H
0265d(00080001): ADD R0, R0, R1
0266e .FIXUP D
0266e(8D00001B): LDR SB, MT, MOD0 [TextFrames]
0267e(81D000B8): LDR R1, SB, B8H [data]
0268e(00080001): ADD R0, R0, R1
0269e(A0E00048): STR R0, SP, 48H
Texts.OpenReader(R,f F.textg,h F.orgi)j;k Texts.Read(R,l nextCh)m;n
026Af(40E80008): ADD R0, SP, 8H
026Bf .FIXUP D
026Bf(8D600005): LDR SB, MT, MOD6 [Texts]
026Cf(41D80002): ADD R1, SB, VAR2
026Dg(82E00004): LDR R2, SP, 4H
026Eg(D113344C): BLEQ MT [trap=4, pos=4916]
026Fh(8220001C): LDR R2, R2, 1CH
0270i(83E00004): LDR R3, SP, 4H
0271i(D1133B4C): BLEQ MT [trap=4, pos=4923]
0272j(83300020): LDR R3, R3, 20H
0273k .FIXUP P
0273k(F761201C): BL MOD6 [Texts] PROC18
0274l(40E80008): ADD R0, SP, 8H
0275l .FIXUP D
0275l(8D60000A): LDR SB, MT, MOD6 [Texts]
0276l(41D80002): ADD R1, SB, VAR2
0277m .FIXUP D
0277m(8D000002): LDR SB, MT, MOD0 [TextFrames]
0278m(42D800C8): ADD R2, SB, C8H [data]
0279n .FIXUP P
0279n(F7613006): BL MOD6 [Texts] PROC19
L := F.trailero;p curY := F.Yq + F.Hr -s F.topt -u asr;v
027Ao(80E00004): LDR R0, SP, 4H
027Bo(D113674C): BLEQ MT [trap=4, pos=4967]
027Cp(80000090): LDR R0, R0, 90H
027Dp(A0E0003C): STR R0, SP, 3CH
027Eq(80E00004): LDR R0, SP, 4H
027Fq(D113744C): BLEQ MT [trap=4, pos=4980]
0280r(81E00004): LDR R1, SP, 4H
0281r(D1137A4C): BLEQ MT [trap=4, pos=4986]
0282s(8000000C): LDR R0, R0, CH
0283s(81100014): LDR R1, R1, 14H
0284s(00080001): ADD R0, R0, R1
0285t(81E00004): LDR R1, SP, 4H
0286t(D113824C): BLEQ MT [trap=4, pos=4994]
0287u(81100034): LDR R1, R1, 34H
0288u(00090001): SUB R0, R0, R1
0289v .FIXUP D
0289v(8D000012): LDR SB, MT, MOD0 [TextFrames]
028Av(81D000B4): LDR R1, SB, B4H [data]
028Bv(00090001): SUB R0, R0, R1
028Cv(A0E00044): STR R0, SP, 44H
WHILE ~L.eotw &x (ycurY >= botY)z DOa
028Dw(80E0003C): LDR R0, SP, 3CH
028Ew(D1139A4C): BLEQ MT [trap=4, pos=5018]
028Fx(90000008): LDR R0, R0, 8H
0290y(E9000023): BNE 35 [02B4H]
0291z(80E00044): LDR R0, SP, 44H
0292z(81E00048): LDR R1, SP, 48H
0293z(00090001): SUB R0, R0, R1
0294a(E500001F): BLT 31 [02B4H]
NEW(l);b
0295b(40E80040): ADD R0, SP, 40H
0296b .FIXUP D
0296b(8D00000D): LDR SB, MT, MOD0 [TextFrames]
0297b(41D80000): ADD R1, SB, 0H [data]
0298b(D713BC0C): BL MT [trap=0, pos=5052]
DisplayLine(F,c l,d R,e F.Xf + F.leftg,h curY,i 0)j;k
0299c(80E00004): LDR R0, SP, 4H
029Ad(81E00040): LDR R1, SP, 40H
029Be(42E80008): ADD R2, SP, 8H
029Ce .FIXUP D
029Ce(8D600006): LDR SB, MT, MOD6 [Texts]
029De(43D80002): ADD R3, SB, VAR2
029Ef(84E00004): LDR R4, SP, 4H
029Ff(D113DB4C): BLEQ MT [trap=4, pos=5083]
02A0g(85E00004): LDR R5, SP, 4H
02A1g(D113E44C): BLEQ MT [trap=4, pos=5092]
02A2h(84400008): LDR R4, R4, 8H
02A3h(8550002C): LDR R5, R5, 2CH
02A4h(04480005): ADD R4, R4, R5
02A5i(85E00044): LDR R5, SP, 44H
02A6j(46000000): MOV R6, R0, 0H
02A7k(F7FFFEAA): BL -342 [0152H]
L.nextl := l;m L := l;n curY := curY - lsp
02A8l(80E0003C): LDR R0, SP, 3CH
02A9l(D113FC4C): BLEQ MT [trap=4, pos=5116]
02AAm(81E00040): LDR R1, SP, 40H
02ABm(A100000C): STR R1, R0, CH
02ACn(80E00040): LDR R0, SP, 40H
02ADn(A0E0003C): STR R0, SP, 3CH
ENDo;
02AEo(80E00044): LDR R0, SP, 44H
02AFo .FIXUP D
02AFo(8D000013): LDR SB, MT, MOD0 [TextFrames]
02B0o(81D000B0): LDR R1, SB, B0H [data]
02B1o(00090001): SUB R0, R0, R1
02B2o(A0E00044): STR R0, SP, 44H
02B3o(E7FFFFD9): B -39 [028DH]
L.nextp := F.trailerq;r
02B4p(80E0003C): LDR R0, SP, 3CH
02B5p(D114314C): BLEQ MT [trap=4, pos=5169]
02B6q(81E00004): LDR R1, SP, 4H
02B7q(D1143E4C): BLEQ MT [trap=4, pos=5182]
02B8r(81100090): LDR R1, R1, 90H
02B9r(A100000C): STR R1, R0, CH
F.markHs := F.orgt * F.Hu DIVv (F.textw.lenx + 1)y
02BAs(80E00004): LDR R0, SP, 4H
02BBs(D1144B4C): BLEQ MT [trap=4, pos=5195]
02BCt(81E00004): LDR R1, SP, 4H
02BDt(D114544C): BLEQ MT [trap=4, pos=5204]
02BEu(82E00004): LDR R2, SP, 4H
02BFu(D1145A4C): BLEQ MT [trap=4, pos=5210]
02C0v(81100020): LDR R1, R1, 20H
02C1v(82200014): LDR R2, R2, 14H
02C2v(011A0002): MUL R1, R1, R2
02C3w(82E00004): LDR R2, SP, 4H
02C4w(D114664C): BLEQ MT [trap=4, pos=5222]
02C5x(8220001C): LDR R2, R2, 1CH
02C6x(D1146A4C): BLEQ MT [trap=4, pos=5226]
02C7y(82200000): LDR R2, R2, 0H
02C8y(42280001): ADD R2, R2, 1H
ENDz Restore;
02C9z(D614756C): BLLE MT [trap=6, pos=5237]
02CAz(011B0002): DIV R1, R1, R2
02CBz(A100003C): STR R1, R0, 3CH
02CCz(8FE00000): LDR LNK, SP, 0H
02CDz(4EE8004C): ADD SP, SP, 4CH
02CEz(C700000F): B LNK
PROCEDURE Suspend* (F: Frame);
BEGINa F.trailerb.nextc := F.trailerd
02CFa .PROC 14
02CFa(4EE90008): SUB SP, SP, 8H
02D0a(AFE00000): STR LNK, SP, 0H
02D1a(A0E00004): STR R0, SP, 4H
02D2b(80E00004): LDR R0, SP, 4H
02D3b(D114B34C): BLEQ MT [trap=4, pos=5299]
02D4c(80000090): LDR R0, R0, 90H
02D5c(D114B84C): BLEQ MT [trap=4, pos=5304]
02D6d(81E00004): LDR R1, SP, 4H
02D7d(D114C54C): BLEQ MT [trap=4, pos=5317]
ENDe Suspend;
02D8e(81100090): LDR R1, R1, 90H
02D9e(A100000C): STR R1, R0, CH
02DAe(8FE00000): LDR LNK, SP, 0H
02DBe(4EE80008): ADD SP, SP, 8H
02DCe(C700000F): B LNK
PROCEDURE Extend* (F: Frame; newY: INTEGER);
VAR R: Texts.Reader; L, l: Line;
org: LONGINT; curY, botY: INTEGER;
BEGINf Display.ReplConst(F.colg,h F.Xi,j newY,k F.Wl,m F.Yn - newY,o Display.replace)p;q
02DDf .PROC 15
02DDf(4EE90054): SUB SP, SP, 54H
02DEf(AFE00000): STR LNK, SP, 0H
02DFf(A0E00004): STR R0, SP, 4H
02E0f(A1E00008): STR R1, SP, 8H
02E1g(80E00004): LDR R0, SP, 4H
02E2g(D115704C): BLEQ MT [trap=4, pos=5488]
02E3h(80000024): LDR R0, R0, 24H
02E4i(81E00004): LDR R1, SP, 4H
02E5i(D115754C): BLEQ MT [trap=4, pos=5493]
02E6j(81100008): LDR R1, R1, 8H
02E7k(82E00008): LDR R2, SP, 8H
02E8l(83E00004): LDR R3, SP, 4H
02E9l(D115804C): BLEQ MT [trap=4, pos=5504]
02EAm(83300010): LDR R3, R3, 10H
02EBn(84E00004): LDR R4, SP, 4H
02ECn(D115854C): BLEQ MT [trap=4, pos=5509]
02EDo(8440000C): LDR R4, R4, CH
02EEo(85E00008): LDR R5, SP, 8H
02EFo(04490005): SUB R4, R4, R5
02F0p(45000000): MOV R5, R0, 0H
02F1q .FIXUP P
02F1q(F730F078): BL MOD3 [Display] PROC15
IF F.leftr >= barW THENs
02F2r(80E00004): LDR R0, SP, 4H
02F3r(D115AD4C): BLEQ MT [trap=4, pos=5549]
02F4s(8000002C): LDR R0, R0, 2CH
02F5s .FIXUP D
02F5s(8D000046): LDR SB, MT, MOD0 [TextFrames]
02F6s(81D0009C): LDR R1, SB, 9CH [data]
02F7s(00090001): SUB R0, R0, R1
02F8s(E5000011): BLT 17 [030AH]
Display.ReplConst(Display.white,t F.Xu + barW -v 1,w newY,x 1,y F.Yz - newY,a Display.invert)b
02F9t(40000001): MOV R0, R0, 1H
02FAu(81E00004): LDR R1, SP, 4H
02FBu(D115E54C): BLEQ MT [trap=4, pos=5605]
02FCv(81100008): LDR R1, R1, 8H
02FDv .FIXUP D
02FDv(8D000008): LDR SB, MT, MOD0 [TextFrames]
02FEv(82D0009C): LDR R2, SB, 9CH [data]
02FFv(01180002): ADD R1, R1, R2
0300w(41190001): SUB R1, R1, 1H
0301x(82E00008): LDR R2, SP, 8H
0302y(43000001): MOV R3, R0, 1H
0303z(84E00004): LDR R4, SP, 4H
0304z(D115FE4C): BLEQ MT [trap=4, pos=5630]
0305a(8440000C): LDR R4, R4, CH
0306a(85E00008): LDR R5, SP, 8H
0307a(04490005): SUB R4, R4, R5
0308b(45000002): MOV R5, R0, 2H
ENDc;
0309c .FIXUP P
0309c(F730F018): BL MOD3 [Display] PROC15
botY := F.Yd + F.bote +f dsr;g F.Hh := F.Hi + F.Yj -k newY;l F.Ym := newY;n
030Ad(80E00004): LDR R0, SP, 4H
030Bd(D1162F4C): BLEQ MT [trap=4, pos=5679]
030Ce(81E00004): LDR R1, SP, 4H
030De(D116374C): BLEQ MT [trap=4, pos=5687]
030Ef(8000000C): LDR R0, R0, CH
030Ff(81100038): LDR R1, R1, 38H
0310f(00080001): ADD R0, R0, R1
0311g .FIXUP D
0311g(8D000014): LDR SB, MT, MOD0 [TextFrames]
0312g(81D000B8): LDR R1, SB, B8H [data]
0313g(00080001): ADD R0, R0, R1
0314g(A0E00050): STR R0, SP, 50H
0315h(80E00004): LDR R0, SP, 4H
0316h(D116424C): BLEQ MT [trap=4, pos=5698]
0317i(81E00004): LDR R1, SP, 4H
0318i(D116494C): BLEQ MT [trap=4, pos=5705]
0319j(82E00004): LDR R2, SP, 4H
031Aj(D1164F4C): BLEQ MT [trap=4, pos=5711]
031Bk(81100014): LDR R1, R1, 14H
031Ck(8220000C): LDR R2, R2, CH
031Dk(01180002): ADD R1, R1, R2
031El(82E00008): LDR R2, SP, 8H
031Fl(01190002): SUB R1, R1, R2
0320l(A1000014): STR R1, R0, 14H
0321m(80E00004): LDR R0, SP, 4H
0322m(D1165B4C): BLEQ MT [trap=4, pos=5723]
0323n(81E00008): LDR R1, SP, 8H
0324n(A100000C): STR R1, R0, CH
IF F.trailero.nextp = F.trailerq THENr Validate(F.texts,t F.orgu)v ENDw;
0325o(80E00004): LDR R0, SP, 4H
0326o(D116754C): BLEQ MT [trap=4, pos=5749]
0327p(80000090): LDR R0, R0, 90H
0328p(D1167A4C): BLEQ MT [trap=4, pos=5754]
0329q(81E00004): LDR R1, SP, 4H
032Aq(D116864C): BLEQ MT [trap=4, pos=5766]
032Br(8000000C): LDR R0, R0, CH
032Cr(81100090): LDR R1, R1, 90H
032Dr(00090001): SUB R0, R0, R1
032Er(E9000007): BNE 7 [0336H]
032Fs(80E00004): LDR R0, SP, 4H
0330s(D1169B4C): BLEQ MT [trap=4, pos=5787]
0331t(8000001C): LDR R0, R0, 1CH
0332u(81E00004): LDR R1, SP, 4H
0333u(D116A24C): BLEQ MT [trap=4, pos=5794]
0334v(41180020): ADD R1, R1, 20H
0335w(F7FFFE86): BL -378 [01BCH]
L := F.trailerx;y org := F.orgz;a curY := F.Yb + F.Hc -d F.tope -f asr;g
0336x(80E00004): LDR R0, SP, 4H
0337x(D116BB4C): BLEQ MT [trap=4, pos=5819]
0338y(80000090): LDR R0, R0, 90H
0339y(A0E00040): STR R0, SP, 40H
033Az(80E00004): LDR R0, SP, 4H
033Bz(D116C94C): BLEQ MT [trap=4, pos=5833]
033Ca(80000020): LDR R0, R0, 20H
033Da(A0E00048): STR R0, SP, 48H
033Eb(80E00004): LDR R0, SP, 4H
033Fb(D116D64C): BLEQ MT [trap=4, pos=5846]
0340c(81E00004): LDR R1, SP, 4H
0341c(D116DC4C): BLEQ MT [trap=4, pos=5852]
0342d(8000000C): LDR R0, R0, CH
0343d(81100014): LDR R1, R1, 14H
0344d(00080001): ADD R0, R0, R1
0345e(81E00004): LDR R1, SP, 4H
0346e(D116E44C): BLEQ MT [trap=4, pos=5860]
0347f(81100034): LDR R1, R1, 34H
0348f(00090001): SUB R0, R0, R1
0349g .FIXUP D
0349g(8D000038): LDR SB, MT, MOD0 [TextFrames]
034Ag(81D000B4): LDR R1, SB, B4H [data]
034Bg(00090001): SUB R0, R0, R1
034Cg(A0E0004C): STR R0, SP, 4CH
WHILE (L.nexth # F.traileri)j & (kcurY >= botY)l DOm
034Dh(80E00040): LDR R0, SP, 40H
034Eh(D116FD4C): BLEQ MT [trap=4, pos=5885]
034Fi(81E00004): LDR R1, SP, 4H
0350i(D117094C): BLEQ MT [trap=4, pos=5897]
0351j(8000000C): LDR R0, R0, CH
0352j(81100090): LDR R1, R1, 90H
0353j(00090001): SUB R0, R0, R1
0354k(E1000014): BEQ 20 [0369H]
0355l(80E0004C): LDR R0, SP, 4CH
0356l(81E00050): LDR R1, SP, 50H
0357l(00090001): SUB R0, R0, R1
0358m(E5000010): BLT 16 [0369H]
L := L.nextn;o org := org + L.lenp;q curY := curY - lsp
0359n(80E00040): LDR R0, SP, 40H
035An(D117304C): BLEQ MT [trap=4, pos=5936]
035Bo(8000000C): LDR R0, R0, CH
035Co(A0E00040): STR R0, SP, 40H
035Dp(80E00040): LDR R0, SP, 40H
035Ep(D117444C): BLEQ MT [trap=4, pos=5956]
035Fq(81E00048): LDR R1, SP, 48H
0360q(80000000): LDR R0, R0, 0H
0361q(00180000): ADD R0, R1, R0
0362q(A0E00048): STR R0, SP, 48H
ENDr;
0363r(80E0004C): LDR R0, SP, 4CH
0364r .FIXUP D
0364r(8D00001B): LDR SB, MT, MOD0 [TextFrames]
0365r(81D000B0): LDR R1, SB, B0H [data]
0366r(00090001): SUB R0, R0, R1
0367r(A0E0004C): STR R0, SP, 4CH
0368r(E7FFFFE4): B -28 [034DH]
botY := F.Ys + F.bott +u dsr;v
0369s(80E00004): LDR R0, SP, 4H
036As(D117714C): BLEQ MT [trap=4, pos=6001]
036Bt(81E00004): LDR R1, SP, 4H
036Ct(D117794C): BLEQ MT [trap=4, pos=6009]
036Du(8000000C): LDR R0, R0, CH
036Eu(81100038): LDR R1, R1, 38H
036Fu(00080001): ADD R0, R0, R1
0370v .FIXUP D
0370v(8D00000C): LDR SB, MT, MOD0 [TextFrames]
0371v(81D000B8): LDR R1, SB, B8H [data]
0372v(00080001): ADD R0, R0, R1
0373v(A0E00050): STR R0, SP, 50H
Texts.OpenReader(R,w F.textx,y org)z;a Texts.Read(R,b nextCh)c;d
0374w(40E8000C): ADD R0, SP, CH
0375w .FIXUP D
0375w(8D600005): LDR SB, MT, MOD6 [Texts]
0376w(41D80002): ADD R1, SB, VAR2
0377x(82E00004): LDR R2, SP, 4H
0378x(D1179F4C): BLEQ MT [trap=4, pos=6047]
0379y(8220001C): LDR R2, R2, 1CH
037Az(83E00048): LDR R3, SP, 48H
037Ba .FIXUP P
037Ba(F7612072): BL MOD6 [Texts] PROC18
037Cb(40E8000C): ADD R0, SP, CH
037Db .FIXUP D
037Db(8D600008): LDR SB, MT, MOD6 [Texts]
037Eb(41D80002): ADD R1, SB, VAR2
037Fc .FIXUP D
037Fc(8D000002): LDR SB, MT, MOD0 [TextFrames]
0380c(42D800C8): ADD R2, SB, C8H [data]
0381d .FIXUP P
0381d(F7613006): BL MOD6 [Texts] PROC19
WHILE ~L.eote &f (gcurY >= botY)h DOi
0382e(80E00040): LDR R0, SP, 40H
0383e(D117CE4C): BLEQ MT [trap=4, pos=6094]
0384f(90000008): LDR R0, R0, 8H
0385g(E9000023): BNE 35 [03A9H]
0386h(80E0004C): LDR R0, SP, 4CH
0387h(81E00050): LDR R1, SP, 50H
0388h(00090001): SUB R0, R0, R1
0389i(E500001F): BLT 31 [03A9H]
NEW(l);j
038Aj(40E80044): ADD R0, SP, 44H
038Bj .FIXUP D
038Bj(8D00000C): LDR SB, MT, MOD0 [TextFrames]
038Cj(41D80000): ADD R1, SB, 0H [data]
038Dj(D717F00C): BL MT [trap=0, pos=6128]
DisplayLine(F,k l,l R,m F.Xn + F.lefto,p curY,q 0)r;s
038Ek(80E00004): LDR R0, SP, 4H
038Fl(81E00044): LDR R1, SP, 44H
0390m(42E8000C): ADD R2, SP, CH
0391m .FIXUP D
0391m(8D600006): LDR SB, MT, MOD6 [Texts]
0392m(43D80002): ADD R3, SB, VAR2
0393n(84E00004): LDR R4, SP, 4H
0394n(D1180F4C): BLEQ MT [trap=4, pos=6159]
0395o(85E00004): LDR R5, SP, 4H
0396o(D118184C): BLEQ MT [trap=4, pos=6168]
0397p(84400008): LDR R4, R4, 8H
0398p(8550002C): LDR R5, R5, 2CH
0399p(04480005): ADD R4, R4, R5
039Aq(85E0004C): LDR R5, SP, 4CH
039Br(46000000): MOV R6, R0, 0H
039Cs(F7FFFDB5): BL -587 [0152H]
L.nextt := l;u L := l;v curY := curY - lsp
039Dt(80E00040): LDR R0, SP, 40H
039Et(D118304C): BLEQ MT [trap=4, pos=6192]
039Fu(81E00044): LDR R1, SP, 44H
03A0u(A100000C): STR R1, R0, CH
03A1v(80E00044): LDR R0, SP, 44H
03A2v(A0E00040): STR R0, SP, 40H
ENDw;
03A3w(80E0004C): LDR R0, SP, 4CH
03A4w .FIXUP D
03A4w(8D000013): LDR SB, MT, MOD0 [TextFrames]
03A5w(81D000B0): LDR R1, SB, B0H [data]
03A6w(00090001): SUB R0, R0, R1
03A7w(A0E0004C): STR R0, SP, 4CH
03A8w(E7FFFFD9): B -39 [0382H]
L.nextx := F.trailery;z
03A9x(80E00040): LDR R0, SP, 40H
03AAx(D118654C): BLEQ MT [trap=4, pos=6245]
03ABy(81E00004): LDR R1, SP, 4H
03ACy(D118724C): BLEQ MT [trap=4, pos=6258]
03ADz(81100090): LDR R1, R1, 90H
03AEz(A100000C): STR R1, R0, CH
F.markHa := F.orgb * F.Hc DIVd (F.texte.lenf + 1)g
03AFa(80E00004): LDR R0, SP, 4H
03B0a(D1187F4C): BLEQ MT [trap=4, pos=6271]
03B1b(81E00004): LDR R1, SP, 4H
03B2b(D118884C): BLEQ MT [trap=4, pos=6280]
03B3c(82E00004): LDR R2, SP, 4H
03B4c(D1188E4C): BLEQ MT [trap=4, pos=6286]
03B5d(81100020): LDR R1, R1, 20H
03B6d(82200014): LDR R2, R2, 14H
03B7d(011A0002): MUL R1, R1, R2
03B8e(82E00004): LDR R2, SP, 4H
03B9e(D1189A4C): BLEQ MT [trap=4, pos=6298]
03BAf(8220001C): LDR R2, R2, 1CH
03BBf(D1189E4C): BLEQ MT [trap=4, pos=6302]
03BCg(82200000): LDR R2, R2, 0H
03BDg(42280001): ADD R2, R2, 1H
ENDh Extend;
03BEh(D618A96C): BLLE MT [trap=6, pos=6313]
03BFh(011B0002): DIV R1, R1, R2
03C0h(A100003C): STR R1, R0, 3CH
03C1h(8FE00000): LDR LNK, SP, 0H
03C2h(4EE80054): ADD SP, SP, 54H
03C3h(C700000F): B LNK
PROCEDURE Reduce* (F: Frame; newY: INTEGER);
VAR L: Line; curY, botY: INTEGER;
BEGINi F.Hj := F.Hk + F.Yl -m newY;n F.Yo := newY;p
03C4i .PROC 16
03C4i(4EE90018): SUB SP, SP, 18H
03C5i(AFE00000): STR LNK, SP, 0H
03C6i(A0E00004): STR R0, SP, 4H
03C7i(A1E00008): STR R1, SP, 8H
03C8j(80E00004): LDR R0, SP, 4H
03C9j(D119134C): BLEQ MT [trap=4, pos=6419]
03CAk(81E00004): LDR R1, SP, 4H
03CBk(D1191A4C): BLEQ MT [trap=4, pos=6426]
03CCl(82E00004): LDR R2, SP, 4H
03CDl(D119204C): BLEQ MT [trap=4, pos=6432]
03CEm(81100014): LDR R1, R1, 14H
03CFm(8220000C): LDR R2, R2, CH
03D0m(01180002): ADD R1, R1, R2
03D1n(82E00008): LDR R2, SP, 8H
03D2n(01190002): SUB R1, R1, R2
03D3n(A1000014): STR R1, R0, 14H
03D4o(80E00004): LDR R0, SP, 4H
03D5o(D1192C4C): BLEQ MT [trap=4, pos=6444]
03D6p(81E00008): LDR R1, SP, 8H
03D7p(A100000C): STR R1, R0, CH
botY := F.Yq + F.botr +s dsr;t
03D8q(80E00004): LDR R0, SP, 4H
03D9q(D119454C): BLEQ MT [trap=4, pos=6469]
03DAr(81E00004): LDR R1, SP, 4H
03DBr(D1194D4C): BLEQ MT [trap=4, pos=6477]
03DCs(8000000C): LDR R0, R0, CH
03DDs(81100038): LDR R1, R1, 38H
03DEs(00080001): ADD R0, R0, R1
03DFt .FIXUP D
03DFt(8D00003B): LDR SB, MT, MOD0 [TextFrames]
03E0t(81D000B8): LDR R1, SB, B8H [data]
03E1t(00080001): ADD R0, R0, R1
03E2t(A0E00014): STR R0, SP, 14H
L := F.traileru;v curY := F.Yw + F.Hx -y F.topz -a asr;b
03E3u(80E00004): LDR R0, SP, 4H
03E4u(D119674C): BLEQ MT [trap=4, pos=6503]
03E5v(80000090): LDR R0, R0, 90H
03E6v(A0E0000C): STR R0, SP, CH
03E7w(80E00004): LDR R0, SP, 4H
03E8w(D119744C): BLEQ MT [trap=4, pos=6516]
03E9x(81E00004): LDR R1, SP, 4H
03EAx(D1197A4C): BLEQ MT [trap=4, pos=6522]
03EBy(8000000C): LDR R0, R0, CH
03ECy(81100014): LDR R1, R1, 14H
03EDy(00080001): ADD R0, R0, R1
03EEz(81E00004): LDR R1, SP, 4H
03EFz(D119824C): BLEQ MT [trap=4, pos=6530]
03F0a(81100034): LDR R1, R1, 34H
03F1a(00090001): SUB R0, R0, R1
03F2b(81D000B4): LDR R1, SB, B4H
03F3b(00090001): SUB R0, R0, R1
03F4b(A0E00010): STR R0, SP, 10H
WHILE (L.nextc # F.trailerd)e & (fcurY >= botY)g DOh
03F5c(80E0000C): LDR R0, SP, CH
03F6c(D1199B4C): BLEQ MT [trap=4, pos=6555]
03F7d(81E00004): LDR R1, SP, 4H
03F8d(D119A74C): BLEQ MT [trap=4, pos=6567]
03F9e(8000000C): LDR R0, R0, CH
03FAe(81100090): LDR R1, R1, 90H
03FBe(00090001): SUB R0, R0, R1
03FCf(E100000E): BEQ 14 [040BH]
03FDg(80E00010): LDR R0, SP, 10H
03FEg(81E00014): LDR R1, SP, 14H
03FFg(00090001): SUB R0, R0, R1
0400h(E500000A): BLT 10 [040BH]
L := L.nexti;j curY := curY - lsp
0401i(80E0000C): LDR R0, SP, CH
0402i(D119CE4C): BLEQ MT [trap=4, pos=6606]
0403j(8000000C): LDR R0, R0, CH
0404j(A0E0000C): STR R0, SP, CH
ENDk;
0405k(80E00010): LDR R0, SP, 10H
0406k .FIXUP D
0406k(8D000027): LDR SB, MT, MOD0 [TextFrames]
0407k(81D000B0): LDR R1, SB, B0H [data]
0408k(00090001): SUB R0, R0, R1
0409k(A0E00010): STR R0, SP, 10H
040Ak(E7FFFFEA): B -22 [03F5H]
L.nextl := F.trailerm;n
040Bl(80E0000C): LDR R0, SP, CH
040Cl(D119F64C): BLEQ MT [trap=4, pos=6646]
040Dm(81E00004): LDR R1, SP, 4H
040Em(D11A034C): BLEQ MT [trap=4, pos=6659]
040Fn(81100090): LDR R1, R1, 90H
0410n(A100000C): STR R1, R0, CH
IF curY + asr >o F.Yp THENq
0411o(80E00010): LDR R0, SP, 10H
0412o .FIXUP D
0412o(8D00000C): LDR SB, MT, MOD0 [TextFrames]
0413o(81D000B4): LDR R1, SB, B4H [data]
0414o(00080001): ADD R0, R0, R1
0415p(81E00004): LDR R1, SP, 4H
0416p(D11A1C4C): BLEQ MT [trap=4, pos=6684]
0417q(8110000C): LDR R1, R1, CH
0418q(00090001): SUB R0, R0, R1
0419q(E600001E): BLE 30 [0438H]
Display.ReplConst(F.colr,s F.Xt + F.leftu,v F.Yw,x F.Wy - F.leftz,a curY + asr -b F.Yc,d Display.replace)e
041Ar(80E00004): LDR R0, SP, 4H
041Br(D11A3F4C): BLEQ MT [trap=4, pos=6719]
041Cs(80000024): LDR R0, R0, 24H
041Dt(81E00004): LDR R1, SP, 4H
041Et(D11A444C): BLEQ MT [trap=4, pos=6724]
041Fu(82E00004): LDR R2, SP, 4H
0420u(D11A4D4C): BLEQ MT [trap=4, pos=6733]
0421v(81100008): LDR R1, R1, 8H
0422v(8220002C): LDR R2, R2, 2CH
0423v(01180002): ADD R1, R1, R2
0424w(82E00004): LDR R2, SP, 4H
0425w(D11A524C): BLEQ MT [trap=4, pos=6738]
0426x(8220000C): LDR R2, R2, CH
0427y(83E00004): LDR R3, SP, 4H
0428y(D11A574C): BLEQ MT [trap=4, pos=6743]
0429z(84E00004): LDR R4, SP, 4H
042Az(D11A604C): BLEQ MT [trap=4, pos=6752]
042Ba(83300010): LDR R3, R3, 10H
042Ca(8440002C): LDR R4, R4, 2CH
042Da(03390004): SUB R3, R3, R4
042Eb(84E00010): LDR R4, SP, 10H
042Fb .FIXUP D
042Fb(8D00001D): LDR SB, MT, MOD0 [TextFrames]
0430b(85D000B4): LDR R5, SB, B4H [data]
0431b(04480005): ADD R4, R4, R5
0432c(85E00004): LDR R5, SP, 4H
0433c(D11A724C): BLEQ MT [trap=4, pos=6770]
0434d(8550000C): LDR R5, R5, CH
0435d(04490005): SUB R4, R4, R5
0436e(45000000): MOV R5, R0, 0H
ENDf;
0437f .FIXUP P
0437f(F730F0B6): BL MOD3 [Display] PROC15
F.markHg := F.orgh * F.Hi DIVj (F.textk.lenl + 1)m;n Mark(F,o TRUE)p
0438g(80E00004): LDR R0, SP, 4H
0439g(D11A994C): BLEQ MT [trap=4, pos=6809]
043Ah(81E00004): LDR R1, SP, 4H
043Bh(D11AA24C): BLEQ MT [trap=4, pos=6818]
043Ci(82E00004): LDR R2, SP, 4H
043Di(D11AA84C): BLEQ MT [trap=4, pos=6824]
043Ej(81100020): LDR R1, R1, 20H
043Fj(82200014): LDR R2, R2, 14H
0440j(011A0002): MUL R1, R1, R2
0441k(82E00004): LDR R2, SP, 4H
0442k(D11AB44C): BLEQ MT [trap=4, pos=6836]
0443l(8220001C): LDR R2, R2, 1CH
0444l(D11AB84C): BLEQ MT [trap=4, pos=6840]
0445m(82200000): LDR R2, R2, 0H
0446m(42280001): ADD R2, R2, 1H
0447n(D61ABE6C): BLLE MT [trap=6, pos=6846]
0448n(011B0002): DIV R1, R1, R2
0449n(A100003C): STR R1, R0, 3CH
044Ao(80E00004): LDR R0, SP, 4H
044Bp(41000001): MOV R1, R0, 1H
ENDq Reduce;
044Cq(F7FFFDA6): BL -602 [01F3H]
044Dq(8FE00000): LDR LNK, SP, 0H
044Eq(4EE80018): ADD SP, SP, 18H
044Fq(C700000F): B LNK
PROCEDURE Show* (F: Frame; pos: LONGINT);
VAR R: Texts.Reader; L, L0: Line;
org: LONGINT; curY, botY, Y0: INTEGER;
BEGINr
0450r .PROC 17
0450r(4EE90058): SUB SP, SP, 58H
0451r(AFE00000): STR LNK, SP, 0H
0452r(A0E00004): STR R0, SP, 4H
0453r(A1E00008): STR R1, SP, 8H
IF F.trailers.nextt # F.traileru THENv
0454s(80E00004): LDR R0, SP, 4H
0455s(D11B734C): BLEQ MT [trap=4, pos=7027]
0456t(80000090): LDR R0, R0, 90H
0457t(D11B784C): BLEQ MT [trap=4, pos=7032]
0458u(81E00004): LDR R1, SP, 4H
0459u(D11B844C): BLEQ MT [trap=4, pos=7044]
045Av(8000000C): LDR R0, R0, CH
045Bv(81100090): LDR R1, R1, 90H
045Cv(00090001): SUB R0, R0, R1
045Dv(E10001A7): BEQ 423 [0605H]
Validate(F.textw,x pos)y;z
045Ew(80E00004): LDR R0, SP, 4H
045Fw(D11B9F4C): BLEQ MT [trap=4, pos=7071]
0460x(8000001C): LDR R0, R0, 1CH
0461y(41E80008): ADD R1, SP, 8H
0462z(F7FFFD59): BL -679 [01BCH]
IF pos < F.orga THENb Mark(F,c FALSE)d;e
0463a(80E00004): LDR R0, SP, 4H
0464a(D11BBB4C): BLEQ MT [trap=4, pos=7099]
0465b(81E00008): LDR R1, SP, 8H
0466b(80000020): LDR R0, R0, 20H
0467b(01190000): SUB R1, R1, R0
0468b(ED000041): BGE 65 [04AAH]
0469c(80E00004): LDR R0, SP, 4H
046Ad(41000000): MOV R1, R0, 0H
046Be(F7FFFD87): BL -633 [01F3H]
Display.ReplConst(F.colf,g F.Xh + F.lefti,j F.Yk,l F.Wm - F.leftn,o F.Hp,q Display.replace)r;s
046Cf(80E00004): LDR R0, SP, 4H
046Df(D11BF04C): BLEQ MT [trap=4, pos=7152]
046Eg(80000024): LDR R0, R0, 24H
046Fh(81E00004): LDR R1, SP, 4H
0470h(D11BF54C): BLEQ MT [trap=4, pos=7157]
0471i(82E00004): LDR R2, SP, 4H
0472i(D11BFE4C): BLEQ MT [trap=4, pos=7166]
0473j(81100008): LDR R1, R1, 8H
0474j(8220002C): LDR R2, R2, 2CH
0475j(01180002): ADD R1, R1, R2
0476k(82E00004): LDR R2, SP, 4H
0477k(D11C034C): BLEQ MT [trap=4, pos=7171]
0478l(8220000C): LDR R2, R2, CH
0479m(83E00004): LDR R3, SP, 4H
047Am(D11C084C): BLEQ MT [trap=4, pos=7176]
047Bn(84E00004): LDR R4, SP, 4H
047Cn(D11C114C): BLEQ MT [trap=4, pos=7185]
047Do(83300010): LDR R3, R3, 10H
047Eo(8440002C): LDR R4, R4, 2CH
047Fo(03390004): SUB R3, R3, R4
0480p(84E00004): LDR R4, SP, 4H
0481p(D11C164C): BLEQ MT [trap=4, pos=7190]
0482q(84400014): LDR R4, R4, 14H
0483r(45000000): MOV R5, R0, 0H
0484s .FIXUP P
0484s(F730F04D): BL MOD3 [Display] PROC15
botY := F.Yt;u F.Yv := F.Yw + F.Hx;y F.Hz := 0;a
0485t(80E00004): LDR R0, SP, 4H
0486t(D11C3D4C): BLEQ MT [trap=4, pos=7229]
0487u(8000000C): LDR R0, R0, CH
0488u(A0E00050): STR R0, SP, 50H
0489v(80E00004): LDR R0, SP, 4H
048Av(D11C424C): BLEQ MT [trap=4, pos=7234]
048Bw(81E00004): LDR R1, SP, 4H
048Cw(D11C494C): BLEQ MT [trap=4, pos=7241]
048Dx(82E00004): LDR R2, SP, 4H
048Ex(D11C4F4C): BLEQ MT [trap=4, pos=7247]
048Fy(8110000C): LDR R1, R1, CH
0490y(82200014): LDR R2, R2, 14H
0491y(01180002): ADD R1, R1, R2
0492y(A100000C): STR R1, R0, CH
0493z(80E00004): LDR R0, SP, 4H
0494z(D11C544C): BLEQ MT [trap=4, pos=7252]
0495a(41000000): MOV R1, R0, 0H
0496a(A1000014): STR R1, R0, 14H
F.orgb := pos;c F.trailerd.nexte := F.trailerf;g Extend(F,h botY)i;j Mark(F,k TRUE)l
0497b(80E00004): LDR R0, SP, 4H
0498b(D11C684C): BLEQ MT [trap=4, pos=7272]
0499c(81E00008): LDR R1, SP, 8H
049Ac(A1000020): STR R1, R0, 20H
049Bd(80E00004): LDR R0, SP, 4H
049Cd(D11C7A4C): BLEQ MT [trap=4, pos=7290]
049De(80000090): LDR R0, R0, 90H
049Ee(D11C7F4C): BLEQ MT [trap=4, pos=7295]
049Ff(81E00004): LDR R1, SP, 4H
04A0f(D11C8C4C): BLEQ MT [trap=4, pos=7308]
04A1g(81100090): LDR R1, R1, 90H
04A2g(A100000C): STR R1, R0, CH
04A3h(80E00004): LDR R0, SP, 4H
04A4i(81E00050): LDR R1, SP, 50H
04A5j(F7FFFE37): BL -457 [02DDH]
04A6k(80E00004): LDR R0, SP, 4H
04A7l(41000001): MOV R1, R0, 1H
ELSIFm posn > F.orgo THENp
04A8m(F7FFFD4A): BL -694 [01F3H]
04A9n(E700015B): B 347 [0605H]
04AAo(80E00004): LDR R0, SP, 4H
04ABo(D11CC44C): BLEQ MT [trap=4, pos=7364]
04ACp(81E00008): LDR R1, SP, 8H
04ADp(80000020): LDR R0, R0, 20H
04AEp(01190000): SUB R1, R1, R0
04AFp(E6000155): BLE 341 [0605H]
org := F.orgq;r L := F.trailers.nextt;u curY := F.Yv + F.Hw -x F.topy -z asr;a
04B0q(80E00004): LDR R0, SP, 4H
04B1q(D11CDE4C): BLEQ MT [trap=4, pos=7390]
04B2r(80000020): LDR R0, R0, 20H
04B3r(A0E00048): STR R0, SP, 48H
04B4s(80E00004): LDR R0, SP, 4H
04B5s(D11CEE4C): BLEQ MT [trap=4, pos=7406]
04B6t(80000090): LDR R0, R0, 90H
04B7t(D11CF34C): BLEQ MT [trap=4, pos=7411]
04B8u(8000000C): LDR R0, R0, CH
04B9u(A0E00040): STR R0, SP, 40H
04BAv(80E00004): LDR R0, SP, 4H
04BBv(D11D004C): BLEQ MT [trap=4, pos=7424]
04BCw(81E00004): LDR R1, SP, 4H
04BDw(D11D064C): BLEQ MT [trap=4, pos=7430]
04BEx(8000000C): LDR R0, R0, CH
04BFx(81100014): LDR R1, R1, 14H
04C0x(00080001): ADD R0, R0, R1
04C1y(81E00004): LDR R1, SP, 4H
04C2y(D11D0E4C): BLEQ MT [trap=4, pos=7438]
04C3z(81100034): LDR R1, R1, 34H
04C4z(00090001): SUB R0, R0, R1
04C5a .FIXUP D
04C5a(8D000096): LDR SB, MT, MOD0 [TextFrames]
04C6a(81D000B4): LDR R1, SB, B4H [data]
04C7a(00090001): SUB R0, R0, R1
04C8a(A0E0004C): STR R0, SP, 4CH
WHILE (L.nextb # F.trailerc)d & (eorg # pos)f DOg
04C9b(80E00040): LDR R0, SP, 40H
04CAb(D11D2B4C): BLEQ MT [trap=4, pos=7467]
04CBc(81E00004): LDR R1, SP, 4H
04CCc(D11D374C): BLEQ MT [trap=4, pos=7479]
04CDd(8000000C): LDR R0, R0, CH
04CEd(81100090): LDR R1, R1, 90H
04CFd(00090001): SUB R0, R0, R1
04D0e(E1000014): BEQ 20 [04E5H]
04D1f(80E00048): LDR R0, SP, 48H
04D2f(81E00008): LDR R1, SP, 8H
04D3f(00090001): SUB R0, R0, R1
04D4g(E1000010): BEQ 16 [04E5H]
org := org + L.lenh;i L := L.nextj;k curY := curY - lsp;l
04D5h(80E00040): LDR R0, SP, 40H
04D6h(D11D664C): BLEQ MT [trap=4, pos=7526]
04D7i(81E00048): LDR R1, SP, 48H
04D8i(80000000): LDR R0, R0, 0H
04D9i(00180000): ADD R0, R1, R0
04DAi(A0E00048): STR R0, SP, 48H
04DBj(80E00040): LDR R0, SP, 40H
04DCj(D11D734C): BLEQ MT [trap=4, pos=7539]
04DDk(8000000C): LDR R0, R0, CH
04DEk(A0E00040): STR R0, SP, 40H
04DFl(80E0004C): LDR R0, SP, 4CH
04E0l .FIXUP D
04E0l(8D00001B): LDR SB, MT, MOD0 [TextFrames]
04E1l(81D000B0): LDR R1, SB, B0H [data]
04E2l(00090001): SUB R0, R0, R1
04E3l(A0E0004C): STR R0, SP, 4CH
ENDm;
04E4m(E7FFFFE4): B -28 [04C9H]
IF org = pos THENn
04E5n(80E00048): LDR R0, SP, 48H
04E6n(81E00008): LDR R1, SP, 8H
04E7n(00090001): SUB R0, R0, R1
04E8n(E90000DC): BNE 220 [05C5H]
F.orgo := org;p F.trailerq.nextr := L;s Y0 := curY;t
04E9o(80E00004): LDR R0, SP, 4H
04EAo(D11DBF4C): BLEQ MT [trap=4, pos=7615]
04EBp(81E00048): LDR R1, SP, 48H
04ECp(A1000020): STR R1, R0, 20H
04EDq(80E00004): LDR R0, SP, 4H
04EEq(D11DD14C): BLEQ MT [trap=4, pos=7633]
04EFr(80000090): LDR R0, R0, 90H
04F0r(D11DD64C): BLEQ MT [trap=4, pos=7638]
04F1s(81E00040): LDR R1, SP, 40H
04F2s(A100000C): STR R1, R0, CH
04F3t(80E0004C): LDR R0, SP, 4CH
04F4t(A0E00054): STR R0, SP, 54H
WHILE L.nextu # F.trailerv DOw (*!*)
04F5u(80E00040): LDR R0, SP, 40H
04F6u(D11DFF4C): BLEQ MT [trap=4, pos=7679]
04F7v(81E00004): LDR R1, SP, 4H
04F8v(D11E0B4C): BLEQ MT [trap=4, pos=7691]
04F9w(8000000C): LDR R0, R0, CH
04FAw(81100090): LDR R1, R1, 90H
04FBw(00090001): SUB R0, R0, R1
04FCw(E1000010): BEQ 16 [050DH]
org := org + L.lenx;y L := L.nextz;a curY := curY - lsp
04FDx(80E00040): LDR R0, SP, 40H
04FEx(D11E334C): BLEQ MT [trap=4, pos=7731]
04FFy(81E00048): LDR R1, SP, 48H
0500y(80000000): LDR R0, R0, 0H
0501y(00180000): ADD R0, R1, R0
0502y(A0E00048): STR R0, SP, 48H
0503z(80E00040): LDR R0, SP, 40H
0504z(D11E404C): BLEQ MT [trap=4, pos=7744]
0505a(8000000C): LDR R0, R0, CH
0506a(A0E00040): STR R0, SP, 40H
ENDb;
0507b(80E0004C): LDR R0, SP, 4CH
0508b .FIXUP D
0508b(8D000028): LDR SB, MT, MOD0 [TextFrames]
0509b(81D000B0): LDR R1, SB, B0H [data]
050Ab(00090001): SUB R0, R0, R1
050Bb(A0E0004C): STR R0, SP, 4CH
050Cb(E7FFFFE8): B -24 [04F5H]
Display.CopyBlock (F.Xc + F.leftd,e curY - dsr,f F.Wg - F.lefth,i Y0 + asr -j (curY - dsr)k,l
050Dc(80E00004): LDR R0, SP, 4H
050Ec(D11E844C): BLEQ MT [trap=4, pos=7812]
050Fd(81E00004): LDR R1, SP, 4H
0510d(D11E8D4C): BLEQ MT [trap=4, pos=7821]
0511e(80000008): LDR R0, R0, 8H
0512e(8110002C): LDR R1, R1, 2CH
0513e(00080001): ADD R0, R0, R1
0514f(81E0004C): LDR R1, SP, 4CH
0515f .FIXUP D
0515f(8D00000D): LDR SB, MT, MOD0 [TextFrames]
0516f(82D000B8): LDR R2, SB, B8H [data]
0517f(01190002): SUB R1, R1, R2
0518g(82E00004): LDR R2, SP, 4H
0519g(D11E9E4C): BLEQ MT [trap=4, pos=7838]
051Ah(83E00004): LDR R3, SP, 4H
051Bh(D11EA74C): BLEQ MT [trap=4, pos=7847]
051Ci(82200010): LDR R2, R2, 10H
051Di(8330002C): LDR R3, R3, 2CH
051Ei(02290003): SUB R2, R2, R3
051Fj(83E00054): LDR R3, SP, 54H
0520j(84D000B4): LDR R4, SB, B4H
0521j(03380004): ADD R3, R3, R4
0522k(84E0004C): LDR R4, SP, 4CH
0523k(85D000B8): LDR R5, SB, B8H
0524k(04490005): SUB R4, R4, R5
0525l(03390004): SUB R3, R3, R4
F.Xm + F.leftn,o curY - dsr +p F.Yq +r F.Hs -t F.topu -v asr -w Y0,x 0)y;z
0526m(84E00004): LDR R4, SP, 4H
0527m(D11ED34C): BLEQ MT [trap=4, pos=7891]
0528n(85E00004): LDR R5, SP, 4H
0529n(D11EDC4C): BLEQ MT [trap=4, pos=7900]
052Ao(84400008): LDR R4, R4, 8H
052Bo(8550002C): LDR R5, R5, 2CH
052Co(04480005): ADD R4, R4, R5
052Dp(85E0004C): LDR R5, SP, 4CH
052Ep(86D000B8): LDR R6, SB, B8H
052Fp(05590006): SUB R5, R5, R6
0530q(86E00004): LDR R6, SP, 4H
0531q(D11EEE4C): BLEQ MT [trap=4, pos=7918]
0532r(8660000C): LDR R6, R6, CH
0533r(05580006): ADD R5, R5, R6
0534s(86E00004): LDR R6, SP, 4H
0535s(D11EF44C): BLEQ MT [trap=4, pos=7924]
0536t(86600014): LDR R6, R6, 14H
0537t(05580006): ADD R5, R5, R6
0538u(86E00004): LDR R6, SP, 4H
0539u(D11EFC4C): BLEQ MT [trap=4, pos=7932]
053Av(86600034): LDR R6, R6, 34H
053Bv(05590006): SUB R5, R5, R6
053Cw(86D000B4): LDR R6, SB, B4H
053Dw(05590006): SUB R5, R5, R6
053Ex(86E00054): LDR R6, SP, 54H
053Fx(05590006): SUB R5, R5, R6
0540y(46000000): MOV R6, R0, 0H
0541z .FIXUP P
0541z(F73110BD): BL MOD3 [Display] PROC17
curY := curY + F.Ya +b F.Hc -d F.tope -f asr -g Y0;h
0542a(80E00004): LDR R0, SP, 4H
0543a(D11F294C): BLEQ MT [trap=4, pos=7977]
0544b(81E0004C): LDR R1, SP, 4CH
0545b(8000000C): LDR R0, R0, CH
0546b(00180000): ADD R0, R1, R0
0547c(81E00004): LDR R1, SP, 4H
0548c(D11F2F4C): BLEQ MT [trap=4, pos=7983]
0549d(81100014): LDR R1, R1, 14H
054Ad(00080001): ADD R0, R0, R1
054Be(81E00004): LDR R1, SP, 4H
054Ce(D11F374C): BLEQ MT [trap=4, pos=7991]
054Df(81100034): LDR R1, R1, 34H
054Ef(00090001): SUB R0, R0, R1
054Fg .FIXUP D
054Fg(8D00003A): LDR SB, MT, MOD0 [TextFrames]
0550g(81D000B4): LDR R1, SB, B4H [data]
0551g(00090001): SUB R0, R0, R1
0552h(81E00054): LDR R1, SP, 54H
0553h(00090001): SUB R0, R0, R1
0554h(A0E0004C): STR R0, SP, 4CH
Display.ReplConst(F.coli,j F.Xk + F.leftl,m F.Yn,o F.Wp - F.leftq,r curY - dsr -s F.Yt,u Display.replace)v;w
0555i(80E00004): LDR R0, SP, 4H
0556i(D11F654C): BLEQ MT [trap=4, pos=8037]
0557j(80000024): LDR R0, R0, 24H
0558k(81E00004): LDR R1, SP, 4H
0559k(D11F6A4C): BLEQ MT [trap=4, pos=8042]
055Al(82E00004): LDR R2, SP, 4H
055Bl(D11F734C): BLEQ MT [trap=4, pos=8051]
055Cm(81100008): LDR R1, R1, 8H
055Dm(8220002C): LDR R2, R2, 2CH
055Em(01180002): ADD R1, R1, R2
055Fn(82E00004): LDR R2, SP, 4H
0560n(D11F784C): BLEQ MT [trap=4, pos=8056]
0561o(8220000C): LDR R2, R2, CH
0562p(83E00004): LDR R3, SP, 4H
0563p(D11F7D4C): BLEQ MT [trap=4, pos=8061]
0564q(84E00004): LDR R4, SP, 4H
0565q(D11F864C): BLEQ MT [trap=4, pos=8070]
0566r(83300010): LDR R3, R3, 10H
0567r(8440002C): LDR R4, R4, 2CH
0568r(03390004): SUB R3, R3, R4
0569s(84E0004C): LDR R4, SP, 4CH
056As(85D000B8): LDR R5, SB, B8H
056Bs(04490005): SUB R4, R4, R5
056Ct(85E00004): LDR R5, SP, 4H
056Dt(D11F984C): BLEQ MT [trap=4, pos=8088]
056Eu(8550000C): LDR R5, R5, CH
056Fu(04490005): SUB R4, R4, R5
0570v(45000000): MOV R5, R0, 0H
0571w .FIXUP P
0571w(F730F030): BL MOD3 [Display] PROC15
botY := F.Yx + F.boty +z dsr;a
0572x(80E00004): LDR R0, SP, 4H
0573x(D11FC14C): BLEQ MT [trap=4, pos=8129]
0574y(81E00004): LDR R1, SP, 4H
0575y(D11FC94C): BLEQ MT [trap=4, pos=8137]
0576z(8000000C): LDR R0, R0, CH
0577z(81100038): LDR R1, R1, 38H
0578z(00080001): ADD R0, R0, R1
0579a .FIXUP D
0579a(8D00002A): LDR SB, MT, MOD0 [TextFrames]
057Aa(81D000B8): LDR R1, SB, B8H [data]
057Ba(00080001): ADD R0, R0, R1
057Ca(A0E00050): STR R0, SP, 50H
org := org + L.lenb;c curY := curY - lsp;d
057Db(80E00040): LDR R0, SP, 40H
057Eb(D11FED4C): BLEQ MT [trap=4, pos=8173]
057Fc(81E00048): LDR R1, SP, 48H
0580c(80000000): LDR R0, R0, 0H
0581c(00180000): ADD R0, R1, R0
0582c(A0E00048): STR R0, SP, 48H
0583d(80E0004C): LDR R0, SP, 4CH
0584d(81D000B0): LDR R1, SB, B0H
0585d(00090001): SUB R0, R0, R1
0586d(A0E0004C): STR R0, SP, 4CH
Texts.OpenReader(R,e F.textf,g org)h;i Texts.Read(R,j nextCh)k;l
0587e(40E8000C): ADD R0, SP, CH
0588e .FIXUP D
0588e(8D60000F): LDR SB, MT, MOD6 [Texts]
0589e(41D80002): ADD R1, SB, VAR2
058Af(82E00004): LDR R2, SP, 4H
058Bf(D120274C): BLEQ MT [trap=4, pos=8231]
058Cg(8220001C): LDR R2, R2, 1CH
058Dh(83E00048): LDR R3, SP, 48H
058Ei .FIXUP P
058Ei(F761201D): BL MOD6 [Texts] PROC18
058Fj(40E8000C): ADD R0, SP, CH
0590j .FIXUP D
0590j(8D600008): LDR SB, MT, MOD6 [Texts]
0591j(41D80002): ADD R1, SB, VAR2
0592k .FIXUP D
0592k(8D000002): LDR SB, MT, MOD0 [TextFrames]
0593k(42D800C8): ADD R2, SB, C8H [data]
0594l .FIXUP P
0594l(F7613006): BL MOD6 [Texts] PROC19
WHILE ~L.eotm &n (ocurY >= botY)p DOq
0595m(80E00040): LDR R0, SP, 40H
0596m(D1205C4C): BLEQ MT [trap=4, pos=8284]
0597n(90000008): LDR R0, R0, 8H
0598o(E9000023): BNE 35 [05BCH]
0599p(80E0004C): LDR R0, SP, 4CH
059Ap(81E00050): LDR R1, SP, 50H
059Bp(00090001): SUB R0, R0, R1
059Cq(E500001F): BLT 31 [05BCH]
NEW(L0);r DisplayLine(F,s L0,t R,u F.Xv + F.leftw,x curY,y 0)z;a
059Dr(40E80044): ADD R0, SP, 44H
059Er .FIXUP D
059Er(8D00000C): LDR SB, MT, MOD0 [TextFrames]
059Fr(41D80000): ADD R1, SB, 0H [data]
05A0r(D720850C): BL MT [trap=0, pos=8325]
05A1s(80E00004): LDR R0, SP, 4H
05A2t(81E00044): LDR R1, SP, 44H
05A3u(42E8000C): ADD R2, SP, CH
05A4u .FIXUP D
05A4u(8D600006): LDR SB, MT, MOD6 [Texts]
05A5u(43D80002): ADD R3, SB, VAR2
05A6v(84E00004): LDR R4, SP, 4H
05A7v(D1209F4C): BLEQ MT [trap=4, pos=8351]
05A8w(85E00004): LDR R5, SP, 4H
05A9w(D120A84C): BLEQ MT [trap=4, pos=8360]
05AAx(84400008): LDR R4, R4, 8H
05ABx(8550002C): LDR R5, R5, 2CH
05ACx(04480005): ADD R4, R4, R5
05ADy(85E0004C): LDR R5, SP, 4CH
05AEz(46000000): MOV R6, R0, 0H
05AFa(F7FFFBA2): BL -1118 [0152H]
L.nextb := L0;c L := L0;d curY := curY - lsp
05B0b(80E00040): LDR R0, SP, 40H
05B1b(D120C64C): BLEQ MT [trap=4, pos=8390]
05B2c(81E00044): LDR R1, SP, 44H
05B3c(A100000C): STR R1, R0, CH
05B4d(80E00044): LDR R0, SP, 44H
05B5d(A0E00040): STR R0, SP, 40H
ENDe;
05B6e(80E0004C): LDR R0, SP, 4CH
05B7e .FIXUP D
05B7e(8D000013): LDR SB, MT, MOD0 [TextFrames]
05B8e(81D000B0): LDR R1, SB, B0H [data]
05B9e(00090001): SUB R0, R0, R1
05BAe(A0E0004C): STR R0, SP, 4CH
05BBe(E7FFFFD9): B -39 [0595H]
L.nextf := F.trailerg;h UpdateMark(F)i
05BCf(80E00040): LDR R0, SP, 40H
05BDf(D121094C): BLEQ MT [trap=4, pos=8457]
05BEg(81E00004): LDR R1, SP, 4H
05BFg(D121164C): BLEQ MT [trap=4, pos=8470]
05C0h(81100090): LDR R1, R1, 90H
05C1h(A100000C): STR R1, R0, CH
05C2i(80E00004): LDR R0, SP, 4H
ELSEj Markk(F,l FALSE)m;n
05C3j(F7FFFAD1): BL -1327 [0095H]
05C4k(E7000040): B 64 [0605H]
05C5l(80E00004): LDR R0, SP, 4H
05C6m(41000000): MOV R1, R0, 0H
05C7n(F7FFFC2B): BL -981 [01F3H]
Display.ReplConst(F.colo,p F.Xq + F.leftr,s F.Yt,u F.Wv - F.leftw,x F.Hy,z Display.replace)a;b
05C8o(80E00004): LDR R0, SP, 4H
05C9o(D121644C): BLEQ MT [trap=4, pos=8548]
05CAp(80000024): LDR R0, R0, 24H
05CBq(81E00004): LDR R1, SP, 4H
05CCq(D121694C): BLEQ MT [trap=4, pos=8553]
05CDr(82E00004): LDR R2, SP, 4H
05CEr(D121724C): BLEQ MT [trap=4, pos=8562]
05CFs(81100008): LDR R1, R1, 8H
05D0s(8220002C): LDR R2, R2, 2CH
05D1s(01180002): ADD R1, R1, R2
05D2t(82E00004): LDR R2, SP, 4H
05D3t(D121774C): BLEQ MT [trap=4, pos=8567]
05D4u(8220000C): LDR R2, R2, CH
05D5v(83E00004): LDR R3, SP, 4H
05D6v(D1217C4C): BLEQ MT [trap=4, pos=8572]
05D7w(84E00004): LDR R4, SP, 4H
05D8w(D121854C): BLEQ MT [trap=4, pos=8581]
05D9x(83300010): LDR R3, R3, 10H
05DAx(8440002C): LDR R4, R4, 2CH
05DBx(03390004): SUB R3, R3, R4
05DCy(84E00004): LDR R4, SP, 4H
05DDy(D1218A4C): BLEQ MT [trap=4, pos=8586]
05DEz(84400014): LDR R4, R4, 14H
05DFa(45000000): MOV R5, R0, 0H
05E0b .FIXUP P
05E0b(F730F04C): BL MOD3 [Display] PROC15
botY := F.Yc;d F.Ye := F.Yf + F.Hg;h F.Hi := 0;j
05E1c(80E00004): LDR R0, SP, 4H
05E2c(D121B34C): BLEQ MT [trap=4, pos=8627]
05E3d(8000000C): LDR R0, R0, CH
05E4d(A0E00050): STR R0, SP, 50H
05E5e(80E00004): LDR R0, SP, 4H
05E6e(D121B84C): BLEQ MT [trap=4, pos=8632]
05E7f(81E00004): LDR R1, SP, 4H
05E8f(D121BF4C): BLEQ MT [trap=4, pos=8639]
05E9g(82E00004): LDR R2, SP, 4H
05EAg(D121C54C): BLEQ MT [trap=4, pos=8645]
05EBh(8110000C): LDR R1, R1, CH
05ECh(82200014): LDR R2, R2, 14H
05EDh(01180002): ADD R1, R1, R2
05EEh(A100000C): STR R1, R0, CH
05EFi(80E00004): LDR R0, SP, 4H
05F0i(D121CA4C): BLEQ MT [trap=4, pos=8650]
05F1j(41000000): MOV R1, R0, 0H
05F2j(A1000014): STR R1, R0, 14H
F.orgk := pos;l F.trailerm.nextn := F.trailero;p Extend(F,q botY)r;s
05F3k(80E00004): LDR R0, SP, 4H
05F4k(D121E04C): BLEQ MT [trap=4, pos=8672]
05F5l(81E00008): LDR R1, SP, 8H
05F6l(A1000020): STR R1, R0, 20H
05F7m(80E00004): LDR R0, SP, 4H
05F8m(D121F24C): BLEQ MT [trap=4, pos=8690]
05F9n(80000090): LDR R0, R0, 90H
05FAn(D121F74C): BLEQ MT [trap=4, pos=8695]
05FBo(81E00004): LDR R1, SP, 4H
05FCo(D122044C): BLEQ MT [trap=4, pos=8708]
05FDp(81100090): LDR R1, R1, 90H
05FEp(A100000C): STR R1, R0, CH
05FFq(80E00004): LDR R0, SP, 4H
0600r(81E00050): LDR R1, SP, 50H
0601s(F7FFFCDB): BL -805 [02DDH]
Mark(F,t TRUE)u
0602t(80E00004): LDR R0, SP, 4H
0603u(41000001): MOV R1, R0, 1H
ENDv
0604v(F7FFFBEE): BL -1042 [01F3H]
END
END ;
SetChangeMark(F,w F.textx.changedy)z
0605w(80E00004): LDR R0, SP, 4H
0606x(81E00004): LDR R1, SP, 4H
0607x(D1226A4C): BLEQ MT [trap=4, pos=8810]
0608y(8110001C): LDR R1, R1, 1CH
0609y(D122724C): BLEQ MT [trap=4, pos=8818]
060Az(91100004): LDR R1, R1, 4H
ENDa Show;
060Ba(F7FFFAE0): BL -1312 [00ECH]
060Ca(8FE00000): LDR LNK, SP, 0H
060Da(4EE80058): ADD SP, SP, 58H
060Ea(C700000F): B LNK
PROCEDURE LocateLine (F: Frame; y: INTEGER; VAR loc: Location);
VAR L: Line; org: LONGINT; cury: INTEGER;
BEGINb org := F.orgc;d L := F.trailere.nextf;g cury := F.Hh - F.topi -j asr;k
060Fb(4EE90020): SUB SP, SP, 20H
0610b(AFE00000): STR LNK, SP, 0H
0611b(A0E00004): STR R0, SP, 4H
0612b(A1E00008): STR R1, SP, 8H
0613b(A2E0000C): STR R2, SP, CH
0614b(A3E00010): STR R3, SP, 10H
0615c(80E00004): LDR R0, SP, 4H
0616c(D123054C): BLEQ MT [trap=4, pos=8965]
0617d(80000020): LDR R0, R0, 20H
0618d(A0E00018): STR R0, SP, 18H
0619e(80E00004): LDR R0, SP, 4H
061Ae(D123154C): BLEQ MT [trap=4, pos=8981]
061Bf(80000090): LDR R0, R0, 90H
061Cf(D1231A4C): BLEQ MT [trap=4, pos=8986]
061Dg(8000000C): LDR R0, R0, CH
061Eg(A0E00014): STR R0, SP, 14H
061Fh(80E00004): LDR R0, SP, 4H
0620h(D123274C): BLEQ MT [trap=4, pos=8999]
0621i(81E00004): LDR R1, SP, 4H
0622i(D1232F4C): BLEQ MT [trap=4, pos=9007]
0623j(80000014): LDR R0, R0, 14H
0624j(81100034): LDR R1, R1, 34H
0625j(00090001): SUB R0, R0, R1
0626k .FIXUP D
0626k(8D00006F): LDR SB, MT, MOD0 [TextFrames]
0627k(81D000B4): LDR R1, SB, B4H [data]
0628k(00090001): SUB R0, R0, R1
0629k(A0E0001C): STR R0, SP, 1CH
WHILE (L.nextl # F.trailerm)n & (ocury > y + dsr)p DOq
062Al(80E00014): LDR R0, SP, 14H
062Bl(D123494C): BLEQ MT [trap=4, pos=9033]
062Cm(81E00004): LDR R1, SP, 4H
062Dm(D123554C): BLEQ MT [trap=4, pos=9045]
062En(8000000C): LDR R0, R0, CH
062Fn(81100090): LDR R1, R1, 90H
0630n(00090001): SUB R0, R0, R1
0631o(E1000017): BEQ 23 [0649H]
0632p(80E00008): LDR R0, SP, 8H
0633p .FIXUP D
0633p(8D00000D): LDR SB, MT, MOD0 [TextFrames]
0634p(81D000B8): LDR R1, SB, B8H [data]
0635p(00080001): ADD R0, R0, R1
0636p(81E0001C): LDR R1, SP, 1CH
0637p(01190000): SUB R1, R1, R0
0638q(E6000010): BLE 16 [0649H]
org := org + L.lenr;s L := L.nextt;u cury := cury - lsp
0639r(80E00014): LDR R0, SP, 14H
063Ar(D123854C): BLEQ MT [trap=4, pos=9093]
063Bs(81E00018): LDR R1, SP, 18H
063Cs(80000000): LDR R0, R0, 0H
063Ds(00180000): ADD R0, R1, R0
063Es(A0E00018): STR R0, SP, 18H
063Ft(80E00014): LDR R0, SP, 14H
0640t(D123924C): BLEQ MT [trap=4, pos=9106]
0641u(8000000C): LDR R0, R0, CH
0642u(A0E00014): STR R0, SP, 14H
ENDv;
0643v(80E0001C): LDR R0, SP, 1CH
0644v .FIXUP D
0644v(8D000011): LDR SB, MT, MOD0 [TextFrames]
0645v(81D000B0): LDR R1, SB, B0H [data]
0646v(00090001): SUB R0, R0, R1
0647v(A0E0001C): STR R0, SP, 1CH
0648v(E7FFFFE1): B -31 [062AH]
loc.org := org;w loc.lin := L;x loc.y := cury
0649w(80E00018): LDR R0, SP, 18H
064Aw(81E0000C): LDR R1, SP, CH
064Bw(A0100000): STR R0, R1, 0H
064Cx(80E00014): LDR R0, SP, 14H
064Dx(81E0000C): LDR R1, SP, CH
064Ex(A0100014): STR R0, R1, 14H
ENDy LocateLine;
064Fy(80E0001C): LDR R0, SP, 1CH
0650y(81E0000C): LDR R1, SP, CH
0651y(A0100010): STR R0, R1, 10H
0652y(8FE00000): LDR LNK, SP, 0H
0653y(4EE80020): ADD SP, SP, 20H
0654y(C700000F): B LNK
PROCEDURE LocateString (F: Frame; x, y: INTEGER; VAR loc: Location);
VAR R: Texts.Reader;
patadr, bpos, pos, lim: LONGINT;
bx, ex, ox, dx, u, v, w, h: INTEGER;
BEGINz LocateLine(F,a y,b loc)c;d
0655z(4EE9007C): SUB SP, SP, 7CH
0656z(AFE00000): STR LNK, SP, 0H
0657z(A0E00004): STR R0, SP, 4H
0658z(A1E00008): STR R1, SP, 8H
0659z(A2E0000C): STR R2, SP, CH
065Az(A3E00010): STR R3, SP, 10H
065Bz(A4E00014): STR R4, SP, 14H
065Ca(80E00004): LDR R0, SP, 4H
065Db(81E0000C): LDR R1, SP, CH
065Ec(82E00010): LDR R2, SP, 10H
065Fc(83E00014): LDR R3, SP, 14H
0660d(F7FFFFAE): BL -82 [060FH]
lim := loc.org + loc.lin.lene -f 1;g
0661e(80E00010): LDR R0, SP, 10H
0662e(80000014): LDR R0, R0, 14H
0663e(D124E44C): BLEQ MT [trap=4, pos=9444]
0664f(81E00010): LDR R1, SP, 10H
0665f(81100000): LDR R1, R1, 0H
0666f(80000000): LDR R0, R0, 0H
0667f(00180000): ADD R0, R1, R0
0668g(40090001): SUB R0, R0, 1H
0669g(A0E00058): STR R0, SP, 58H
bpos := loc.org;h bx := F.lefti;j
066Ah(80E00010): LDR R0, SP, 10H
066Bh(80000000): LDR R0, R0, 0H
066Ch(A0E00050): STR R0, SP, 50H
066Di(80E00004): LDR R0, SP, 4H
066Ei(D1250B4C): BLEQ MT [trap=4, pos=9483]
066Fj(8000002C): LDR R0, R0, 2CH
0670j(A0E0005C): STR R0, SP, 5CH
pos := loc.org;k ox := F.leftl;m
0671k(80E00010): LDR R0, SP, 10H
0672k(80000000): LDR R0, R0, 0H
0673k(A0E00054): STR R0, SP, 54H
0674l(80E00004): LDR R0, SP, 4H
0675l(D1252D4C): BLEQ MT [trap=4, pos=9517]
0676m(8000002C): LDR R0, R0, 2CH
0677m(A0E00064): STR R0, SP, 64H
Texts.OpenReader(R,n F.texto,p loc.org)q;r Texts.Read(R,s nextCh)t;u
0678n(40E80018): ADD R0, SP, 18H
0679n .FIXUP D
0679n(8D600035): LDR SB, MT, MOD6 [Texts]
067An(41D80002): ADD R1, SB, VAR2
067Bo(82E00004): LDR R2, SP, 4H
067Co(D1254D4C): BLEQ MT [trap=4, pos=9549]
067Dp(8220001C): LDR R2, R2, 1CH
067Eq(83E00010): LDR R3, SP, 10H
067Fq(83300000): LDR R3, R3, 0H
0680r .FIXUP P
0680r(F76120A0): BL MOD6 [Texts] PROC18
0681s(40E80018): ADD R0, SP, 18H
0682s .FIXUP D
0682s(8D600009): LDR SB, MT, MOD6 [Texts]
0683s(41D80002): ADD R1, SB, VAR2
0684t .FIXUP D
0684t(8D000002): LDR SB, MT, MOD0 [TextFrames]
0685t(42D800C8): ADD R2, SB, C8H [data]
0686u .FIXUP P
0686u(F7613006): BL MOD6 [Texts] PROC19
REPEAT
WHILE (pos # lim)v & (wnextCh > " ")x DOy (*scan string*)
0687v(80E00054): LDR R0, SP, 54H
0688v(81E00058): LDR R1, SP, 58H
0689v(00090001): SUB R0, R0, R1
068Aw(E100001C): BEQ 28 [06A7H]
068Bx .FIXUP D
068Bx(8D000007): LDR SB, MT, MOD0 [TextFrames]
068Cx(90D000C8): LDR R0, SB, C8H [data]
068Dx(40090020): SUB R0, R0, 20H
068Ey(E6000018): BLE 24 [06A7H]
Fonts.GetPat(R.fnt,z nextCh,a dx,b u,c v,d w,e h,f patadr)g;h
068Fz(80E0001C): LDR R0, SP, 1CH
0690a .FIXUP D
0690a(8D000005): LDR SB, MT, MOD0 [TextFrames]
0691a(91D000C8): LDR R1, SB, C8H [data]
0692b(42E80068): ADD R2, SP, 68H
0693c(43E8006C): ADD R3, SP, 6CH
0694d(44E80070): ADD R4, SP, 70H
0695e(45E80074): ADD R5, SP, 74H
0696f(46E80078): ADD R6, SP, 78H
0697g(47E8004C): ADD R7, SP, 4CH
0698h .FIXUP P
0698h(F7504012): BL MOD5 [Fonts] PROC4
INC(pos);i ox := ox + dx;j Texts.Read(R,k nextCh)l
0699i(80E00054): LDR R0, SP, 54H
069Ai(40080001): ADD R0, R0, 1H
069Bi(A0E00054): STR R0, SP, 54H
069Cj(80E00064): LDR R0, SP, 64H
069Dj(81E00068): LDR R1, SP, 68H
069Ej(00080001): ADD R0, R0, R1
069Fj(A0E00064): STR R0, SP, 64H
06A0k(40E80018): ADD R0, SP, 18H
06A1k .FIXUP D
06A1k(8D600011): LDR SB, MT, MOD6 [Texts]
06A2k(41D80002): ADD R1, SB, VAR2
06A3l .FIXUP D
06A3l(8D000002): LDR SB, MT, MOD0 [TextFrames]
06A4l(42D800C8): ADD R2, SB, C8H [data]
ENDm;
06A5m .FIXUP P
06A5m(F761300D): BL MOD6 [Texts] PROC19
06A6m(E7FFFFE0): B -32 [0687H]
ex := ox;n
06A7n(80E00064): LDR R0, SP, 64H
06A8n(A0E00060): STR R0, SP, 60H
WHILE (pos # lim)o & (pnextCh <= " ")q DOr (*scan gap*)
06A9o(80E00054): LDR R0, SP, 54H
06AAo(81E00058): LDR R1, SP, 58H
06ABo(00090001): SUB R0, R0, R1
06ACp(E100001C): BEQ 28 [06C9H]
06ADq .FIXUP D
06ADq(8D00000A): LDR SB, MT, MOD0 [TextFrames]
06AEq(90D000C8): LDR R0, SB, C8H [data]
06AFq(40090020): SUB R0, R0, 20H
06B0r(EE000018): BGT 24 [06C9H]
Fonts.GetPat(R.fnt,s nextCh,t dx,u u,v v,w w,x h,y patadr)z;a
06B1s(80E0001C): LDR R0, SP, 1CH
06B2t .FIXUP D
06B2t(8D000005): LDR SB, MT, MOD0 [TextFrames]
06B3t(91D000C8): LDR R1, SB, C8H [data]
06B4u(42E80068): ADD R2, SP, 68H
06B5v(43E8006C): ADD R3, SP, 6CH
06B6w(44E80070): ADD R4, SP, 70H
06B7x(45E80074): ADD R5, SP, 74H
06B8y(46E80078): ADD R6, SP, 78H
06B9z(47E8004C): ADD R7, SP, 4CH
06BAa .FIXUP P
06BAa(F7504015): BL MOD5 [Fonts] PROC4
INC(pos);b ox := ox + dx;c Texts.Read(R,d nextCh)e
06BBb(80E00054): LDR R0, SP, 54H
06BCb(40080001): ADD R0, R0, 1H
06BDb(A0E00054): STR R0, SP, 54H
06BEc(80E00064): LDR R0, SP, 64H
06BFc(81E00068): LDR R1, SP, 68H
06C0c(00080001): ADD R0, R0, R1
06C1c(A0E00064): STR R0, SP, 64H
06C2d(40E80018): ADD R0, SP, 18H
06C3d .FIXUP D
06C3d(8D600011): LDR SB, MT, MOD6 [Texts]
06C4d(41D80002): ADD R1, SB, VAR2
06C5e .FIXUP D
06C5e(8D000002): LDR SB, MT, MOD0 [TextFrames]
06C6e(42D800C8): ADD R2, SB, C8H [data]
ENDf;
06C7f .FIXUP P
06C7f(F761300D): BL MOD6 [Texts] PROC19
06C8f(E7FFFFE0): B -32 [06A9H]
IF (pos # lim)g & (hox <= x)i THENj
06C9g(80E00054): LDR R0, SP, 54H
06CAg(81E00058): LDR R1, SP, 58H
06CBg(00090001): SUB R0, R0, R1
06CCh(E1000020): BEQ 32 [06EDH]
06CDi(80E00064): LDR R0, SP, 64H
06CEi(81E00008): LDR R1, SP, 8H
06CFi(00090001): SUB R0, R0, R1
06D0j(EE00001C): BGT 28 [06EDH]
Fonts.GetPat(R.fnt,k nextCh,l dx,m u,n v,o w,p h,q patadr)r;s
06D1k(80E0001C): LDR R0, SP, 1CH
06D2l .FIXUP D
06D2l(8D00000D): LDR SB, MT, MOD0 [TextFrames]
06D3l(91D000C8): LDR R1, SB, C8H [data]
06D4m(42E80068): ADD R2, SP, 68H
06D5n(43E8006C): ADD R3, SP, 6CH
06D6o(44E80070): ADD R4, SP, 70H
06D7p(45E80074): ADD R5, SP, 74H
06D8q(46E80078): ADD R6, SP, 78H
06D9r(47E8004C): ADD R7, SP, 4CH
06DAs .FIXUP P
06DAs(F7504013): BL MOD5 [Fonts] PROC4
bpos := pos;t bx := ox;u
06DBt(80E00054): LDR R0, SP, 54H
06DCt(A0E00050): STR R0, SP, 50H
06DDu(80E00064): LDR R0, SP, 64H
06DEu(A0E0005C): STR R0, SP, 5CH
INC(pos);v ox := ox + dx;w Texts.Read(R,x nextCh)y
06DFv(80E00054): LDR R0, SP, 54H
06E0v(40080001): ADD R0, R0, 1H
06E1v(A0E00054): STR R0, SP, 54H
06E2w(80E00064): LDR R0, SP, 64H
06E3w(81E00068): LDR R1, SP, 68H
06E4w(00080001): ADD R0, R0, R1
06E5w(A0E00064): STR R0, SP, 64H
06E6x(40E80018): ADD R0, SP, 18H
06E7x .FIXUP D
06E7x(8D600015): LDR SB, MT, MOD6 [Texts]
06E8x(41D80002): ADD R1, SB, VAR2
06E9y .FIXUP D
06E9y(8D000002): LDR SB, MT, MOD0 [TextFrames]
06EAy(42D800C8): ADD R2, SB, C8H [data]
ELSEz posa := lim
06EBz .FIXUP P
06EBz(F7613011): BL MOD6 [Texts] PROC19
06ECa(E7000002): B 2 [06EFH]
ENDb
06EDb(80E00058): LDR R0, SP, 58H
06EEb(A0E00054): STR R0, SP, 54H
UNTIL pos = lim;c
06EFc(80E00054): LDR R0, SP, 54H
06F0c(81E00058): LDR R1, SP, 58H
06F1c(00090001): SUB R0, R0, R1
06F2c(E9FFFF94): BNE -108 [0687H]
loc.pos := bpos;d loc.dx := ex - bx;e loc.x := bx
06F3d(80E00050): LDR R0, SP, 50H
06F4d(81E00010): LDR R1, SP, 10H
06F5d(A0100004): STR R0, R1, 4H
06F6e(80E00060): LDR R0, SP, 60H
06F7e(81E0005C): LDR R1, SP, 5CH
06F8e(00090001): SUB R0, R0, R1
06F9e(81E00010): LDR R1, SP, 10H
06FAe(A0100008): STR R0, R1, 8H
ENDf LocateString;
06FBf(80E0005C): LDR R0, SP, 5CH
06FCf(81E00010): LDR R1, SP, 10H
06FDf(A010000C): STR R0, R1, CH
06FEf(8FE00000): LDR LNK, SP, 0H
06FFf(4EE8007C): ADD SP, SP, 7CH
0700f(C700000F): B LNK
PROCEDURE LocateChar (F: Frame; x, y: INTEGER; VAR loc: Location);
VAR R: Texts.Reader;
patadr, pos, lim: LONGINT;
ox, dx, u, v, w, h: INTEGER;
BEGINg LocateLine(F,h y,i loc)j;k
0701g(4EE90070): SUB SP, SP, 70H
0702g(AFE00000): STR LNK, SP, 0H
0703g(A0E00004): STR R0, SP, 4H
0704g(A1E00008): STR R1, SP, 8H
0705g(A2E0000C): STR R2, SP, CH
0706g(A3E00010): STR R3, SP, 10H
0707g(A4E00014): STR R4, SP, 14H
0708h(80E00004): LDR R0, SP, 4H
0709i(81E0000C): LDR R1, SP, CH
070Aj(82E00010): LDR R2, SP, 10H
070Bj(83E00014): LDR R3, SP, 14H
070Ck(F7FFFF02): BL -254 [060FH]
lim := loc.org + loc.lin.lenl -m 1;n
070Dl(80E00010): LDR R0, SP, 10H
070El(80000014): LDR R0, R0, 14H
070Fl(D129174C): BLEQ MT [trap=4, pos=10519]
0710m(81E00010): LDR R1, SP, 10H
0711m(81100000): LDR R1, R1, 0H
0712m(80000000): LDR R0, R0, 0H
0713m(00180000): ADD R0, R1, R0
0714n(40090001): SUB R0, R0, 1H
0715n(A0E00054): STR R0, SP, 54H
pos := loc.org;o ox := F.leftp;q dx := eolW;r
0716o(80E00010): LDR R0, SP, 10H
0717o(80000000): LDR R0, R0, 0H
0718o(A0E00050): STR R0, SP, 50H
0719p(80E00004): LDR R0, SP, 4H
071Ap(D1293D4C): BLEQ MT [trap=4, pos=10557]
071Bq(8000002C): LDR R0, R0, 2CH
071Cq(A0E00058): STR R0, SP, 58H
071Dr .FIXUP D
071Dr(8D000034): LDR SB, MT, MOD0 [TextFrames]
071Er(80D000C4): LDR R0, SB, C4H [data]
071Fr(A0E0005C): STR R0, SP, 5CH
Texts.OpenReader(R,s F.textt,u loc.org)v;w
0720s(40E80018): ADD R0, SP, 18H
0721s .FIXUP D
0721s(8D600004): LDR SB, MT, MOD6 [Texts]
0722s(41D80002): ADD R1, SB, VAR2
0723t(82E00004): LDR R2, SP, 4H
0724t(D129694C): BLEQ MT [trap=4, pos=10601]
0725u(8220001C): LDR R2, R2, 1CH
0726v(83E00010): LDR R3, SP, 10H
0727v(83300000): LDR R3, R3, 0H
0728w .FIXUP P
0728w(F761203D): BL MOD6 [Texts] PROC18
WHILE pos # lim DOx
0729x(80E00050): LDR R0, SP, 50H
072Ax(81E00054): LDR R1, SP, 54H
072Bx(00090001): SUB R0, R0, R1
072Cx(E1000028): BEQ 40 [0755H]
Texts.Read(R,y nextCh)z;a
072Dy(40E80018): ADD R0, SP, 18H
072Ey .FIXUP D
072Ey(8D60000D): LDR SB, MT, MOD6 [Texts]
072Fy(41D80002): ADD R1, SB, VAR2
0730z .FIXUP D
0730z(8D000002): LDR SB, MT, MOD0 [TextFrames]
0731z(42D800C8): ADD R2, SB, C8H [data]
0732a .FIXUP P
0732a(F761300A): BL MOD6 [Texts] PROC19
Fonts.GetPat(R.fnt,b nextCh,c dx,d u,e v,f w,g h,h patadr)i;j
0733b(80E0001C): LDR R0, SP, 1CH
0734c .FIXUP D
0734c(8D000004): LDR SB, MT, MOD0 [TextFrames]
0735c(91D000C8): LDR R1, SB, C8H [data]
0736d(42E8005C): ADD R2, SP, 5CH
0737e(43E80060): ADD R3, SP, 60H
0738f(44E80064): ADD R4, SP, 64H
0739g(45E80068): ADD R5, SP, 68H
073Ah(46E8006C): ADD R6, SP, 6CH
073Bi(47E8004C): ADD R7, SP, 4CH
073Cj .FIXUP P
073Cj(F750400A): BL MOD5 [Fonts] PROC4
IF ox + dx <=k x THENl
073Dk(80E00058): LDR R0, SP, 58H
073Ek(81E0005C): LDR R1, SP, 5CH
073Fk(00080001): ADD R0, R0, R1
0740l(81E00008): LDR R1, SP, 8H
0741l(00090001): SUB R0, R0, R1
0742l(EE00000F): BGT 15 [0752H]
INC(pos);m ox := ox + dx;n
0743m(80E00050): LDR R0, SP, 50H
0744m(40080001): ADD R0, R0, 1H
0745m(A0E00050): STR R0, SP, 50H
0746n(80E00058): LDR R0, SP, 58H
0747n(81E0005C): LDR R1, SP, 5CH
0748n(00080001): ADD R0, R0, R1
0749n(A0E00058): STR R0, SP, 58H
IF pos = lim THENo dx := eolW ENDp
074Ao(80E00050): LDR R0, SP, 50H
074Bo(81E00054): LDR R1, SP, 54H
074Co(00090001): SUB R0, R0, R1
074Do(E9000003): BNE 3 [0751H]
074Ep .FIXUP D
074Ep(8D00001A): LDR SB, MT, MOD0 [TextFrames]
074Fp(80D000C4): LDR R0, SB, C4H [data]
0750p(A0E0005C): STR R0, SP, 5CH
ELSE limq := pos
0751q(E7000002): B 2 [0754H]
ENDr
0752r(80E00050): LDR R0, SP, 50H
0753r(A0E00054): STR R0, SP, 54H
ENDs ;
0754s(E7FFFFD4): B -44 [0729H]
loc.pos := pos;t loc.dx := dx;u loc.x := ox
0755t(80E00050): LDR R0, SP, 50H
0756t(81E00010): LDR R1, SP, 10H
0757t(A0100004): STR R0, R1, 4H
0758u(80E0005C): LDR R0, SP, 5CH
0759u(81E00010): LDR R1, SP, 10H
075Au(A0100008): STR R0, R1, 8H
ENDv LocateChar;
075Bv(80E00058): LDR R0, SP, 58H
075Cv(81E00010): LDR R1, SP, 10H
075Dv(A010000C): STR R0, R1, CH
075Ev(8FE00000): LDR LNK, SP, 0H
075Fv(4EE80070): ADD SP, SP, 70H
0760v(C700000F): B LNK
PROCEDURE LocatePos (F: Frame; pos: LONGINT; VAR loc: Location);
VAR T: Texts.Text; R: Texts.Reader; L: Line;
org: LONGINT; cury: INTEGER;
BEGINw T := F.textx;y
0761w(4EE90058): SUB SP, SP, 58H
0762w(AFE00000): STR LNK, SP, 0H
0763w(A0E00004): STR R0, SP, 4H
0764w(A1E00008): STR R1, SP, 8H
0765w(A2E0000C): STR R2, SP, CH
0766w(A3E00010): STR R3, SP, 10H
0767x(80E00004): LDR R0, SP, 4H
0768x(D12B604C): BLEQ MT [trap=4, pos=11104]
0769y(8000001C): LDR R0, R0, 1CH
076Ay(A0E00014): STR R0, SP, 14H
org := F.orgz;a L := F.trailerb.nextc;d cury := F.He - F.topf -g asr;h
076Bz(80E00004): LDR R0, SP, 4H
076Cz(D12B724C): BLEQ MT [trap=4, pos=11122]
076Da(80000020): LDR R0, R0, 20H
076Ea(A0E00050): STR R0, SP, 50H
076Fb(80E00004): LDR R0, SP, 4H
0770b(D12B824C): BLEQ MT [trap=4, pos=11138]
0771c(80000090): LDR R0, R0, 90H
0772c(D12B874C): BLEQ MT [trap=4, pos=11143]
0773d(8000000C): LDR R0, R0, CH
0774d(A0E0004C): STR R0, SP, 4CH
0775e(80E00004): LDR R0, SP, 4H
0776e(D12B944C): BLEQ MT [trap=4, pos=11156]
0777f(81E00004): LDR R1, SP, 4H
0778f(D12B9C4C): BLEQ MT [trap=4, pos=11164]
0779g(80000014): LDR R0, R0, 14H
077Ag(81100034): LDR R1, R1, 34H
077Bg(00090001): SUB R0, R0, R1
077Ch .FIXUP D
077Ch(8D00002E): LDR SB, MT, MOD0 [TextFrames]
077Dh(81D000B4): LDR R1, SB, B4H [data]
077Eh(00090001): SUB R0, R0, R1
077Fh(A0E00054): STR R0, SP, 54H
IF pos < org THENi pos := org ENDj;
0780i(80E00008): LDR R0, SP, 8H
0781i(81E00050): LDR R1, SP, 50H
0782i(00090001): SUB R0, R0, R1
0783i(ED000002): BGE 2 [0786H]
0784j(80E00050): LDR R0, SP, 50H
0785j(A0E00008): STR R0, SP, 8H
WHILE (L.nextk # F.trailerl)m & (npos >= org + L.leno)p DOq
0786k(80E0004C): LDR R0, SP, 4CH
0787k(D12BDB4C): BLEQ MT [trap=4, pos=11227]
0788l(81E00004): LDR R1, SP, 4H
0789l(D12BE74C): BLEQ MT [trap=4, pos=11239]
078Am(8000000C): LDR R0, R0, CH
078Bm(81100090): LDR R1, R1, 90H
078Cm(00090001): SUB R0, R0, R1
078Dn(E1000018): BEQ 24 [07A6H]
078Eo(80E0004C): LDR R0, SP, 4CH
078Fo(D12BFE4C): BLEQ MT [trap=4, pos=11262]
0790p(81E00050): LDR R1, SP, 50H
0791p(80000000): LDR R0, R0, 0H
0792p(00180000): ADD R0, R1, R0
0793p(81E00008): LDR R1, SP, 8H
0794p(01190000): SUB R1, R1, R0
0795q(E5000010): BLT 16 [07A6H]
org := org + L.lenr;s L := L.nextt;u cury := cury - lsp
0796r(80E0004C): LDR R0, SP, 4CH
0797r(D12C1B4C): BLEQ MT [trap=4, pos=11291]
0798s(81E00050): LDR R1, SP, 50H
0799s(80000000): LDR R0, R0, 0H
079As(00180000): ADD R0, R1, R0
079Bs(A0E00050): STR R0, SP, 50H
079Ct(80E0004C): LDR R0, SP, 4CH
079Dt(D12C284C): BLEQ MT [trap=4, pos=11304]
079Eu(8000000C): LDR R0, R0, CH
079Fu(A0E0004C): STR R0, SP, 4CH
ENDv;
07A0v(80E00054): LDR R0, SP, 54H
07A1v .FIXUP D
07A1v(8D000025): LDR SB, MT, MOD0 [TextFrames]
07A2v(81D000B0): LDR R1, SB, B0H [data]
07A3v(00090001): SUB R0, R0, R1
07A4v(A0E00054): STR R0, SP, 54H
07A5v(E7FFFFE0): B -32 [0786H]
IF pos >= org + L.lenw THENx pos := org + L.leny -z 1 ENDa;
07A6w(80E0004C): LDR R0, SP, 4CH
07A7w(D12C5F4C): BLEQ MT [trap=4, pos=11359]
07A8x(81E00050): LDR R1, SP, 50H
07A9x(80000000): LDR R0, R0, 0H
07AAx(00180000): ADD R0, R1, R0
07ABx(81E00008): LDR R1, SP, 8H
07ACx(01190000): SUB R1, R1, R0
07ADx(E5000007): BLT 7 [07B5H]
07AEy(80E0004C): LDR R0, SP, 4CH
07AFy(D12C774C): BLEQ MT [trap=4, pos=11383]
07B0z(81E00050): LDR R1, SP, 50H
07B1z(80000000): LDR R0, R0, 0H
07B2z(00180000): ADD R0, R1, R0
07B3a(40090001): SUB R0, R0, 1H
07B4a(A0E00008): STR R0, SP, 8H
Texts.OpenReader(R,b T,c org)d;e Texts.Read(R,f nextCh)g;h
07B5b(40E80018): ADD R0, SP, 18H
07B6b .FIXUP D
07B6b(8D600015): LDR SB, MT, MOD6 [Texts]
07B7b(41D80002): ADD R1, SB, VAR2
07B8c(82E00014): LDR R2, SP, 14H
07B9d(83E00050): LDR R3, SP, 50H
07BAe .FIXUP P
07BAe(F761207E): BL MOD6 [Texts] PROC18
07BBf(40E80018): ADD R0, SP, 18H
07BCf .FIXUP D
07BCf(8D600006): LDR SB, MT, MOD6 [Texts]
07BDf(41D80002): ADD R1, SB, VAR2
07BEg .FIXUP D
07BEg(8D000002): LDR SB, MT, MOD0 [TextFrames]
07BFg(42D800C8): ADD R2, SB, C8H [data]
07C0h .FIXUP P
07C0h(F7613006): BL MOD6 [Texts] PROC19
loc.org := org;i loc.pos := pos;j loc.lin := L;k
07C1i(80E00050): LDR R0, SP, 50H
07C2i(81E0000C): LDR R1, SP, CH
07C3i(A0100000): STR R0, R1, 0H
07C4j(80E00008): LDR R0, SP, 8H
07C5j(81E0000C): LDR R1, SP, CH
07C6j(A0100004): STR R0, R1, 4H
07C7k(80E0004C): LDR R0, SP, 4CH
07C8k(81E0000C): LDR R1, SP, CH
07C9k(A0100014): STR R0, R1, 14H
loc.x := F.leftl + Width(Rm,n pos - org)o;p loc.y := cury
07CAl(80E00004): LDR R0, SP, 4H
07CBl(D12D024C): BLEQ MT [trap=4, pos=11522]
07CCm(4EE90004): SUB SP, SP, 4H
07CDm(A0E00000): STR R0, SP, 0H
07CEn(40E8001C): ADD R0, SP, 1CH
07CFn .FIXUP D
07CFn(8D600011): LDR SB, MT, MOD6 [Texts]
07D0n(41D80002): ADD R1, SB, VAR2
07D1o(82E0000C): LDR R2, SP, CH
07D2o(83E00054): LDR R3, SP, 54H
07D3o(02290003): SUB R2, R2, R3
07D4p(F7FFF954): BL -1708 [0129H]
07D5p(01000000): MOV R1, R0, R0
07D6p(80E00000): LDR R0, SP, 0H
07D7p(4EE80004): ADD SP, SP, 4H
07D8p(8000002C): LDR R0, R0, 2CH
07D9p(00080001): ADD R0, R0, R1
07DAp(81E0000C): LDR R1, SP, CH
07DBp(A010000C): STR R0, R1, CH
ENDq LocatePos;
07DCq(80E00054): LDR R0, SP, 54H
07DDq(81E0000C): LDR R1, SP, CH
07DEq(A0100010): STR R0, R1, 10H
07DFq(8FE00000): LDR LNK, SP, 0H
07E0q(4EE80058): ADD SP, SP, 58H
07E1q(C700000F): B LNK
PROCEDURE Pos* (F: Frame; X, Y: INTEGER): LONGINT;
VAR loc: Location;
BEGINr LocateChar(F,s X - F.Xt,u Y - F.Yv,w loc)x;y RETURN loc.pos
07E2r .PROC 18
07E2r(4EE90028): SUB SP, SP, 28H
07E3r(AFE00000): STR LNK, SP, 0H
07E4r(A0E00004): STR R0, SP, 4H
07E5r(A1E00008): STR R1, SP, 8H
07E6r(A2E0000C): STR R2, SP, CH
07E7s(80E00004): LDR R0, SP, 4H
07E8t(81E00004): LDR R1, SP, 4H
07E9t(D12DA34C): BLEQ MT [trap=4, pos=11683]
07EAu(82E00008): LDR R2, SP, 8H
07EBu(81100008): LDR R1, R1, 8H
07ECu(01290001): SUB R1, R2, R1
07EDv(82E00004): LDR R2, SP, 4H
07EEv(D12DAC4C): BLEQ MT [trap=4, pos=11692]
07EFw(83E0000C): LDR R3, SP, CH
07F0w(8220000C): LDR R2, R2, CH
07F1w(02390002): SUB R2, R3, R2
07F2x(43E80010): ADD R3, SP, 10H
07F3x .FIXUP D
07F3x(8D000024): LDR SB, MT, MOD0 [TextFrames]
07F4x(44D80018): ADD R4, SB, 18H [data]
07F5y(F7FFFF0B): BL -245 [0701H]
ENDz Pos;
07F6z(80E00014): LDR R0, SP, 14H
07F7z(8FE00000): LDR LNK, SP, 0H
07F8z(4EE80028): ADD SP, SP, 28H
07F9z(C700000F): B LNK
PROCEDURE FlipCaret (F: Frame);
BEGINa
07FAa(4EE90008): SUB SP, SP, 8H
07FBa(AFE00000): STR LNK, SP, 0H
07FCa(A0E00004): STR R0, SP, 4H
IF (F.carlocb.x < F.Wc)d & (eF.carlocf.y >= 10)g & (hF.carloci.x + 12 <j F.Wk)l THENm
07FDb(80E00004): LDR R0, SP, 4H
07FEb(D12E094C): BLEQ MT [trap=4, pos=11785]
07FFc(81E00004): LDR R1, SP, 4H
0800c(D12E114C): BLEQ MT [trap=4, pos=11793]
0801d(80000054): LDR R0, R0, 54H
0802d(81100010): LDR R1, R1, 10H
0803d(00090001): SUB R0, R0, R1
0804e(ED000022): BGE 34 [0827H]
0805f(80E00004): LDR R0, SP, 4H
0806f(D12E1E4C): BLEQ MT [trap=4, pos=11806]
0807g(80000058): LDR R0, R0, 58H
0808g(4009000A): SUB R0, R0, AH
0809h(E500001D): BLT 29 [0827H]
080Ai(80E00004): LDR R0, SP, 4H
080Bi(D12E334C): BLEQ MT [trap=4, pos=11827]
080Cj(80000054): LDR R0, R0, 54H
080Dj(4008000C): ADD R0, R0, CH
080Ek(81E00004): LDR R1, SP, 4H
080Fk(D12E404C): BLEQ MT [trap=4, pos=11840]
0810l(81100010): LDR R1, R1, 10H
0811l(00090001): SUB R0, R0, R1
0812m(ED000014): BGE 20 [0827H]
Display.CopyPattern(Display.white,n Display.hook,o F.Xp + F.carlocq.x,r F.Ys + F.carloct.y -u 10,v Display.invert)w
0813n(40000001): MOV R0, R0, 1H
0814o .FIXUP D
0814o(8D300021): LDR SB, MT, MOD3 [Display]
0815o(81D00008): LDR R1, SB, VAR8
0816p(82E00004): LDR R2, SP, 4H
0817p(D12E814C): BLEQ MT [trap=4, pos=11905]
0818q(83E00004): LDR R3, SP, 4H
0819q(D12E8C4C): BLEQ MT [trap=4, pos=11916]
081Ar(82200008): LDR R2, R2, 8H
081Br(83300054): LDR R3, R3, 54H
081Cr(02280003): ADD R2, R2, R3
081Ds(83E00004): LDR R3, SP, 4H
081Es(D12E934C): BLEQ MT [trap=4, pos=11923]
081Ft(84E00004): LDR R4, SP, 4H
0820t(D12E9E4C): BLEQ MT [trap=4, pos=11934]
0821u(8330000C): LDR R3, R3, CH
0822u(84400058): LDR R4, R4, 58H
0823u(03380004): ADD R3, R3, R4
0824v(4339000A): SUB R3, R3, AH
0825w(44000002): MOV R4, R0, 2H
ENDx
0826x .FIXUP P
0826x(F7310066): BL MOD3 [Display] PROC16
ENDy FlipCaret;
0827y(8FE00000): LDR LNK, SP, 0H
0828y(4EE80008): ADD SP, SP, 8H
0829y(C700000F): B LNK
PROCEDURE SetCaret* (F: Frame; pos: LONGINT);
BEGINz LocatePos(F,a pos,b F.carlocc)d;e FlipCaret(F)f;g F.hasCarh := TRUE
082Az .PROC 19
082Az(4EE9000C): SUB SP, SP, CH
082Bz(AFE00000): STR LNK, SP, 0H
082Cz(A0E00004): STR R0, SP, 4H
082Dz(A1E00008): STR R1, SP, 8H
082Ea(80E00004): LDR R0, SP, 4H
082Fb(81E00008): LDR R1, SP, 8H
0830c(82E00004): LDR R2, SP, 4H
0831c(D12F234C): BLEQ MT [trap=4, pos=12067]
0832d(42280048): ADD R2, R2, 48H
0833d .FIXUP D
0833d(8D00001F): LDR SB, MT, MOD0 [TextFrames]
0834d(43D80018): ADD R3, SB, 18H [data]
0835e(F7FFFF2B): BL -213 [0761H]
0836f(80E00004): LDR R0, SP, 4H
0837g(F7FFFFC2): BL -62 [07FAH]
0838h(80E00004): LDR R0, SP, 4H
0839h(D12F3C4C): BLEQ MT [trap=4, pos=12092]
ENDi SetCaret;
083Ai(41000001): MOV R1, R0, 1H
083Bi(B1000044): STR R1, R0, 44H
083Ci(8FE00000): LDR LNK, SP, 0H
083Di(4EE8000C): ADD SP, SP, CH
083Ei(C700000F): B LNK
PROCEDURE TrackCaret* (F: Frame; X, Y: INTEGER; VAR keysum: SET);
VAR loc: Location; keys: SET;
BEGINj
083Fj .PROC 20
083Fj(4EE90030): SUB SP, SP, 30H
0840j(AFE00000): STR LNK, SP, 0H
0841j(A0E00004): STR R0, SP, 4H
0842j(A1E00008): STR R1, SP, 8H
0843j(A2E0000C): STR R2, SP, CH
0844j(A3E00010): STR R3, SP, 10H
IF F.trailerk.nextl # F.trailerm THENn
0845k(80E00004): LDR R0, SP, 4H
0846k(D12FD44C): BLEQ MT [trap=4, pos=12244]
0847l(80000090): LDR R0, R0, 90H
0848l(D12FD94C): BLEQ MT [trap=4, pos=12249]
0849m(81E00004): LDR R1, SP, 4H
084Am(D12FE54C): BLEQ MT [trap=4, pos=12261]
084Bn(8000000C): LDR R0, R0, CH
084Cn(81100090): LDR R1, R1, 90H
084Dn(00090001): SUB R0, R0, R1
084En(E100004D): BEQ 77 [089CH]
LocateChar(F,o X - F.Xp,q Y - F.Yr,s F.carloct)u;v
084Fo(80E00004): LDR R0, SP, 4H
0850p(81E00004): LDR R1, SP, 4H
0851p(D130064C): BLEQ MT [trap=4, pos=12294]
0852q(82E00008): LDR R2, SP, 8H
0853q(81100008): LDR R1, R1, 8H
0854q(01290001): SUB R1, R2, R1
0855r(82E00004): LDR R2, SP, 4H
0856r(D1300F4C): BLEQ MT [trap=4, pos=12303]
0857s(83E0000C): LDR R3, SP, CH
0858s(8220000C): LDR R2, R2, CH
0859s(02390002): SUB R2, R3, R2
085At(83E00004): LDR R3, SP, 4H
085Bt(D130194C): BLEQ MT [trap=4, pos=12313]
085Cu(43380048): ADD R3, R3, 48H
085Du .FIXUP D
085Du(8D00002A): LDR SB, MT, MOD0 [TextFrames]
085Eu(44D80018): ADD R4, SB, 18H [data]
085Fv(F7FFFEA1): BL -351 [0701H]
FlipCaret(F)w;x keysum := {};y
0860w(80E00004): LDR R0, SP, 4H
0861x(F7FFFF98): BL -104 [07FAH]
0862y(40000000): MOV R0, R0, 0H
0863y(81E00010): LDR R1, SP, 10H
0864y(A0100000): STR R0, R1, 0H
REPEAT Input.Mouse(keys,z X,a Y)b;c keysum := keysum + keys;d
0865z(40E8002C): ADD R0, SP, 2CH
0866a(41E80008): ADD R1, SP, 8H
0867b(42E8000C): ADD R2, SP, CH
0868c .FIXUP P
0868c(F7203042): BL MOD2 [Input] PROC3
0869d(80E00010): LDR R0, SP, 10H
086Ad(80000000): LDR R0, R0, 0H
086Bd(81E0002C): LDR R1, SP, 2CH
086Cd(00060001): IOR R0, R0, R1
086Dd(81E00010): LDR R1, SP, 10H
086Ed(A0100000): STR R0, R1, 0H
Oberon.DrawMouseArrow(X,e Y)f;g LocateChar(F,h X - F.Xi,j Y - F.Yk,l loc)m;n
086Fe(80E00008): LDR R0, SP, 8H
0870f(81E0000C): LDR R1, SP, CH
0871g .FIXUP P
0871g(F7818009): BL MOD8 [Oberon] PROC24
0872h(80E00004): LDR R0, SP, 4H
0873i(81E00004): LDR R1, SP, 4H
0874i(D130B74C): BLEQ MT [trap=4, pos=12471]
0875j(82E00008): LDR R2, SP, 8H
0876j(81100008): LDR R1, R1, 8H
0877j(01290001): SUB R1, R2, R1
0878k(82E00004): LDR R2, SP, 4H
0879k(D130C04C): BLEQ MT [trap=4, pos=12480]
087Al(83E0000C): LDR R3, SP, CH
087Bl(8220000C): LDR R2, R2, CH
087Cl(02390002): SUB R2, R3, R2
087Dm(43E80014): ADD R3, SP, 14H
087Em .FIXUP D
087Em(8D000021): LDR SB, MT, MOD0 [TextFrames]
087Fm(44D80018): ADD R4, SB, 18H [data]
0880n(F7FFFE80): BL -384 [0701H]
IF loc.pos # F.carloco.pos THENp FlipCaret(F)q;r F.carlocs := loc;t FlipCaret(F)u ENDv
0881o(80E00004): LDR R0, SP, 4H
0882o(D130E54C): BLEQ MT [trap=4, pos=12517]
0883p(81E00018): LDR R1, SP, 18H
0884p(8000004C): LDR R0, R0, 4CH
0885p(01190000): SUB R1, R1, R0
0886p(E100000F): BEQ 15 [0896H]
0887q(80E00004): LDR R0, SP, 4H
0888r(F7FFFF71): BL -143 [07FAH]
0889s(80E00004): LDR R0, SP, 4H
088As(D131054C): BLEQ MT [trap=4, pos=12549]
088Bt(40080048): ADD R0, R0, 48H
088Ct(41E80014): ADD R1, SP, 14H
088Dt(42000006): MOV R2, R0, 6H
088Et(83100000): LDR R3, R1, 0H
088Ft(41180004): ADD R1, R1, 4H
0890t(A3000000): STR R3, R0, 0H
0891t(40080004): ADD R0, R0, 4H
0892t(42290001): SUB R2, R2, 1H
0893t(E9FFFFFA): BNE -6 [088EH]
0894u(80E00004): LDR R0, SP, 4H
0895v(F7FFFF64): BL -156 [07FAH]
UNTIL keys = {};w
0896w(80E0002C): LDR R0, SP, 2CH
0897w(E9FFFFCD): BNE -51 [0865H]
F.hasCarx := TRUE
0898x(80E00004): LDR R0, SP, 4H
0899x(D131444C): BLEQ MT [trap=4, pos=12612]
ENDy
089Ay(41000001): MOV R1, R0, 1H
089By(B1000044): STR R1, R0, 44H
ENDz TrackCaret;
089Cz(8FE00000): LDR LNK, SP, 0H
089Dz(4EE80030): ADD SP, SP, 30H
089Ez(C700000F): B LNK
PROCEDURE RemoveCaret* (F: Frame);
BEGINa IF F.hasCarb THENc FlipCaret(F)d;e F.hasCarf := FALSE ENDg
089Fa .PROC 21
089Fa(4EE90008): SUB SP, SP, 8H
08A0a(AFE00000): STR LNK, SP, 0H
08A1a(A0E00004): STR R0, SP, 4H
08A2b(80E00004): LDR R0, SP, 4H
08A3b(D131A04C): BLEQ MT [trap=4, pos=12704]
08A4c(90000044): LDR R0, R0, 44H
08A5c(E1000006): BEQ 6 [08ACH]
08A6d(80E00004): LDR R0, SP, 4H
08A7e(F7FFFF52): BL -174 [07FAH]
08A8f(80E00004): LDR R0, SP, 4H
08A9f(D131BC4C): BLEQ MT [trap=4, pos=12732]
08AAg(41000000): MOV R1, R0, 0H
08ABg(B1000044): STR R1, R0, 44H
ENDh RemoveCaret;
08ACh(8FE00000): LDR LNK, SP, 0H
08ADh(4EE80008): ADD SP, SP, 8H
08AEh(C700000F): B LNK
PROCEDURE FlipSelection (F: Frame; VAR beg, end: Location);
VAR L: Line; Y: INTEGER;
BEGINi L := beg.lin;j Y := F.Yk + beg.y -l 2;m
08AFi(4EE90020): SUB SP, SP, 20H
08B0i(AFE00000): STR LNK, SP, 0H
08B1i(A0E00004): STR R0, SP, 4H
08B2i(A1E00008): STR R1, SP, 8H
08B3i(A2E0000C): STR R2, SP, CH
08B4i(A3E00010): STR R3, SP, 10H
08B5i(A4E00014): STR R4, SP, 14H
08B6j(80E00008): LDR R0, SP, 8H
08B7j(80000014): LDR R0, R0, 14H
08B8j(A0E00018): STR R0, SP, 18H
08B9k(80E00004): LDR R0, SP, 4H
08BAk(D132574C): BLEQ MT [trap=4, pos=12887]
08BBl(8000000C): LDR R0, R0, CH
08BCl(81E00008): LDR R1, SP, 8H
08BDl(81100010): LDR R1, R1, 10H
08BEl(00080001): ADD R0, R0, R1
08BFm(40090002): SUB R0, R0, 2H
08C0m(A0E0001C): STR R0, SP, 1CH
IF L = end.lin THENn ReplConst(Display.white,o F,p F.Xq + beg.x,r Y,s end.x - beg.x,t selH,u Display.invert)v
08C1n(80E00018): LDR R0, SP, 18H
08C2n(81E00010): LDR R1, SP, 10H
08C3n(81100014): LDR R1, R1, 14H
08C4n(00090001): SUB R0, R0, R1
08C5n(E9000013): BNE 19 [08D9H]
08C6o(40000001): MOV R0, R0, 1H
08C7p(81E00004): LDR R1, SP, 4H
08C8q(82E00004): LDR R2, SP, 4H
08C9q(D1329C4C): BLEQ MT [trap=4, pos=12956]
08CAr(82200008): LDR R2, R2, 8H
08CBr(83E00008): LDR R3, SP, 8H
08CCr(8330000C): LDR R3, R3, CH
08CDr(02280003): ADD R2, R2, R3
08CEs(83E0001C): LDR R3, SP, 1CH
08CFt(84E00010): LDR R4, SP, 10H
08D0t(8440000C): LDR R4, R4, CH
08D1t(85E00008): LDR R5, SP, 8H
08D2t(8550000C): LDR R5, R5, CH
08D3t(04490005): SUB R4, R4, R5
08D4u .FIXUP D
08D4u(8D000056): LDR SB, MT, MOD0 [TextFrames]
08D5u(85D000BC): LDR R5, SB, BCH [data]
08D6v(46000002): MOV R6, R0, 2H
ELSEw
08D7w(F7FFF736): BL -2250 [000EH]
ReplConstx(Display.white,y F,z F.Xa + beg.x,b Y,c F.leftd + L.wide -f beg.x,g selH,h Display.invert)i;j
08D8x(E7000054): B 84 [092DH]
08D9y(40000001): MOV R0, R0, 1H
08DAz(81E00004): LDR R1, SP, 4H
08DBa(82E00004): LDR R2, SP, 4H
08DCa(D132FC4C): BLEQ MT [trap=4, pos=13052]
08DDb(82200008): LDR R2, R2, 8H
08DEb(83E00008): LDR R3, SP, 8H
08DFb(8330000C): LDR R3, R3, CH
08E0b(02280003): ADD R2, R2, R3
08E1c(83E0001C): LDR R3, SP, 1CH
08E2d(84E00004): LDR R4, SP, 4H
08E3d(D1330F4C): BLEQ MT [trap=4, pos=13071]
08E4e(85E00018): LDR R5, SP, 18H
08E5e(D133174C): BLEQ MT [trap=4, pos=13079]
08E6f(8440002C): LDR R4, R4, 2CH
08E7f(85500004): LDR R5, R5, 4H
08E8f(04480005): ADD R4, R4, R5
08E9g(85E00008): LDR R5, SP, 8H
08EAg(8550000C): LDR R5, R5, CH
08EBg(04490005): SUB R4, R4, R5
08ECh .FIXUP D
08ECh(8D000018): LDR SB, MT, MOD0 [TextFrames]
08EDh(85D000BC): LDR R5, SB, BCH [data]
08EEi(46000002): MOV R6, R0, 2H
08EFj(F7FFF71E): BL -2274 [000EH]
L := L.nextk;l Y := Y - lsp;m
08F0k(80E00018): LDR R0, SP, 18H
08F1k(D133494C): BLEQ MT [trap=4, pos=13129]
08F2l(8000000C): LDR R0, R0, CH
08F3l(A0E00018): STR R0, SP, 18H
08F4m(80E0001C): LDR R0, SP, 1CH
08F5m .FIXUP D
08F5m(8D000009): LDR SB, MT, MOD0 [TextFrames]
08F6m(81D000B0): LDR R1, SB, B0H [data]
08F7m(00090001): SUB R0, R0, R1
08F8m(A0E0001C): STR R0, SP, 1CH
WHILE L # end.lin DOn
08F9n(80E00018): LDR R0, SP, 18H
08FAn(81E00010): LDR R1, SP, 10H
08FBn(81100014): LDR R1, R1, 14H
08FCn(00090001): SUB R0, R0, R1
08FDn(E100001B): BEQ 27 [0919H]
ReplConst(Display.white,o F,p F.Xq + F.leftr,s Y,t L.widu,v selH,w Display.invert)x;y
08FEo(40000001): MOV R0, R0, 1H
08FFp(81E00004): LDR R1, SP, 4H
0900q(82E00004): LDR R2, SP, 4H
0901q(D1339B4C): BLEQ MT [trap=4, pos=13211]
0902r(83E00004): LDR R3, SP, 4H
0903r(D133A44C): BLEQ MT [trap=4, pos=13220]
0904s(82200008): LDR R2, R2, 8H
0905s(8330002C): LDR R3, R3, 2CH
0906s(02280003): ADD R2, R2, R3
0907t(83E0001C): LDR R3, SP, 1CH
0908u(84E00018): LDR R4, SP, 18H
0909u(D133AE4C): BLEQ MT [trap=4, pos=13230]
090Av(84400004): LDR R4, R4, 4H
090Bw .FIXUP D
090Bw(8D000016): LDR SB, MT, MOD0 [TextFrames]
090Cw(85D000BC): LDR R5, SB, BCH [data]
090Dx(46000002): MOV R6, R0, 2H
090Ey(F7FFF6FF): BL -2305 [000EH]
L := L.nextz;a Y := Y - lsp
090Fz(80E00018): LDR R0, SP, 18H
0910z(D133DA4C): BLEQ MT [trap=4, pos=13274]
0911a(8000000C): LDR R0, R0, CH
0912a(A0E00018): STR R0, SP, 18H
ENDb;
0913b(80E0001C): LDR R0, SP, 1CH
0914b .FIXUP D
0914b(8D000009): LDR SB, MT, MOD0 [TextFrames]
0915b(81D000B0): LDR R1, SB, B0H [data]
0916b(00090001): SUB R0, R0, R1
0917b(A0E0001C): STR R0, SP, 1CH
0918b(E7FFFFE0): B -32 [08F9H]
ReplConst(Display.white,c F,d F.Xe + F.leftf,g Y,h end.x - F.lefti,j selH,k Display.invert)l
0919c(40000001): MOV R0, R0, 1H
091Ad(81E00004): LDR R1, SP, 4H
091Be(82E00004): LDR R2, SP, 4H
091Ce(D134194C): BLEQ MT [trap=4, pos=13337]
091Df(83E00004): LDR R3, SP, 4H
091Ef(D134224C): BLEQ MT [trap=4, pos=13346]
091Fg(82200008): LDR R2, R2, 8H
0920g(8330002C): LDR R3, R3, 2CH
0921g(02280003): ADD R2, R2, R3
0922h(83E0001C): LDR R3, SP, 1CH
0923i(84E00004): LDR R4, SP, 4H
0924i(D134354C): BLEQ MT [trap=4, pos=13365]
0925j(85E00010): LDR R5, SP, 10H
0926j(8550000C): LDR R5, R5, CH
0927j(8440002C): LDR R4, R4, 2CH
0928j(04590004): SUB R4, R5, R4
0929k .FIXUP D
0929k(8D000015): LDR SB, MT, MOD0 [TextFrames]
092Ak(85D000BC): LDR R5, SB, BCH [data]
092Bl(46000002): MOV R6, R0, 2H
ENDm
092Cm(F7FFF6E1): BL -2335 [000EH]
ENDn FlipSelection;
092Dn(8FE00000): LDR LNK, SP, 0H
092En(4EE80020): ADD SP, SP, 20H
092Fn(C700000F): B LNK
PROCEDURE SetSelection* (F: Frame; beg, end: LONGINT);
BEGINo
0930o .PROC 22
0930o(4EE90010): SUB SP, SP, 10H
0931o(AFE00000): STR LNK, SP, 0H
0932o(A0E00004): STR R0, SP, 4H
0933o(A1E00008): STR R1, SP, 8H
0934o(A2E0000C): STR R2, SP, CH
IF F.hasSelp THENq FlipSelection(F,r F.selbegs,t F.selendu)v ENDw;
0935p(80E00004): LDR R0, SP, 4H
0936p(D134BB4C): BLEQ MT [trap=4, pos=13499]
0937q(90000045): LDR R0, R0, 45H
0938q(E100000B): BEQ 11 [0944H]
0939r(80E00004): LDR R0, SP, 4H
093As(81E00004): LDR R1, SP, 4H
093Bs(D134DA4C): BLEQ MT [trap=4, pos=13530]
093Ct(41180060): ADD R1, R1, 60H
093Dt .FIXUP D
093Dt(8D000014): LDR SB, MT, MOD0 [TextFrames]
093Et(42D80018): ADD R2, SB, 18H [data]
093Fu(83E00004): LDR R3, SP, 4H
0940u(D134E44C): BLEQ MT [trap=4, pos=13540]
0941v(43380078): ADD R3, R3, 78H
0942v(44D80018): ADD R4, SB, 18H
0943w(F7FFFF6B): BL -149 [08AFH]
LocatePos(F,x beg,y F.selbegz)a;b LocatePos(F,c end,d F.selende)f;g
0944x(80E00004): LDR R0, SP, 4H
0945y(81E00008): LDR R1, SP, 8H
0946z(82E00004): LDR R2, SP, 4H
0947z(D135094C): BLEQ MT [trap=4, pos=13577]
0948a(42280060): ADD R2, R2, 60H
0949a .FIXUP D
0949a(8D00000C): LDR SB, MT, MOD0 [TextFrames]
094Aa(43D80018): ADD R3, SB, 18H [data]
094Bb(F7FFFE15): BL -491 [0761H]
094Cc(80E00004): LDR R0, SP, 4H
094Dd(81E0000C): LDR R1, SP, CH
094Ee(82E00004): LDR R2, SP, 4H
094Fe(D135264C): BLEQ MT [trap=4, pos=13606]
0950f(42280078): ADD R2, R2, 78H
0951f .FIXUP D
0951f(8D000008): LDR SB, MT, MOD0 [TextFrames]
0952f(43D80018): ADD R3, SB, 18H [data]
0953g(F7FFFE0D): BL -499 [0761H]
IF F.selbegh.pos < F.selendi.pos THENj
0954h(80E00004): LDR R0, SP, 4H
0955h(D135384C): BLEQ MT [trap=4, pos=13624]
0956i(81E00004): LDR R1, SP, 4H
0957i(D135474C): BLEQ MT [trap=4, pos=13639]
0958j(80000064): LDR R0, R0, 64H
0959j(8110007C): LDR R1, R1, 7CH
095Aj(00090001): SUB R0, R0, R1
095Bj(ED000018): BGE 24 [0974H]
FlipSelection(F,k F.selbegl,m F.selendn)o;p F.timeq := Oberon.Time()r;s F.hasSelt := TRUE
095Ck(80E00004): LDR R0, SP, 4H
095Dl(81E00004): LDR R1, SP, 4H
095El(D135704C): BLEQ MT [trap=4, pos=13680]
095Fm(41180060): ADD R1, R1, 60H
0960m .FIXUP D
0960m(8D00000F): LDR SB, MT, MOD0 [TextFrames]
0961m(42D80018): ADD R2, SB, 18H [data]
0962n(83E00004): LDR R3, SP, 4H
0963n(D1357A4C): BLEQ MT [trap=4, pos=13690]
0964o(43380078): ADD R3, R3, 78H
0965o(44D80018): ADD R4, SB, 18H
0966p(F7FFFF48): BL -184 [08AFH]
0967q(80E00004): LDR R0, SP, 4H
0968q(D135834C): BLEQ MT [trap=4, pos=13699]
0969r(4EE90004): SUB SP, SP, 4H
096Ar(A0E00000): STR R0, SP, 0H
096Bs .FIXUP P
096Bs(F78160FA): BL MOD8 [Oberon] PROC22
096Cs(01000000): MOV R1, R0, R0
096Ds(80E00000): LDR R0, SP, 0H
096Es(4EE80004): ADD SP, SP, 4H
096Fs(A1000040): STR R1, R0, 40H
0970t(80E00004): LDR R0, SP, 4H
0971t(D1359E4C): BLEQ MT [trap=4, pos=13726]
ENDu
0972u(41000001): MOV R1, R0, 1H
0973u(B1000045): STR R1, R0, 45H
ENDv SetSelection;
0974v(8FE00000): LDR LNK, SP, 0H
0975v(4EE80010): ADD SP, SP, 10H
0976v(C700000F): B LNK
PROCEDURE TrackSelection* (F: Frame; X, Y: INTEGER; VAR keysum: SET);
VAR loc: Location; keys: SET;
BEGINw
0977w .PROC 23
0977w(4EE90030): SUB SP, SP, 30H
0978w(AFE00000): STR LNK, SP, 0H
0979w(A0E00004): STR R0, SP, 4H
097Aw(A1E00008): STR R1, SP, 8H
097Bw(A2E0000C): STR R2, SP, CH
097Cw(A3E00010): STR R3, SP, 10H
IF F.trailerx.nexty # F.trailerz THENa
097Dx(80E00004): LDR R0, SP, 4H
097Ex(D136464C): BLEQ MT [trap=4, pos=13894]
097Fy(80000090): LDR R0, R0, 90H
0980y(D1364B4C): BLEQ MT [trap=4, pos=13899]
0981z(81E00004): LDR R1, SP, 4H
0982z(D136574C): BLEQ MT [trap=4, pos=13911]
0983a(8000000C): LDR R0, R0, CH
0984a(81100090): LDR R1, R1, 90H
0985a(00090001): SUB R0, R0, R1
0986a(E10000E4): BEQ 228 [0A6BH]
IF F.hasSelb THENc FlipSelection(F,d F.selbege,f F.selendg)h ENDi;
0987b(80E00004): LDR R0, SP, 4H
0988b(D1366E4C): BLEQ MT [trap=4, pos=13934]
0989c(90000045): LDR R0, R0, 45H
098Ac(E100000B): BEQ 11 [0996H]
098Bd(80E00004): LDR R0, SP, 4H
098Ce(81E00004): LDR R1, SP, 4H
098De(D1368D4C): BLEQ MT [trap=4, pos=13965]
098Ef(41180060): ADD R1, R1, 60H
098Ff .FIXUP D
098Ff(8D00002F): LDR SB, MT, MOD0 [TextFrames]
0990f(42D80018): ADD R2, SB, 18H [data]
0991g(83E00004): LDR R3, SP, 4H
0992g(D136974C): BLEQ MT [trap=4, pos=13975]
0993h(43380078): ADD R3, R3, 78H
0994h(44D80018): ADD R4, SB, 18H
0995i(F7FFFF19): BL -231 [08AFH]
LocateChar(F,j X - F.Xk,l Y - F.Ym,n loc)o;p
0996j(80E00004): LDR R0, SP, 4H
0997k(81E00004): LDR R1, SP, 4H
0998k(D136B94C): BLEQ MT [trap=4, pos=14009]
0999l(82E00008): LDR R2, SP, 8H
099Al(81100008): LDR R1, R1, 8H
099Bl(01290001): SUB R1, R2, R1
099Cm(82E00004): LDR R2, SP, 4H
099Dm(D136C24C): BLEQ MT [trap=4, pos=14018]
099En(83E0000C): LDR R3, SP, CH
099Fn(8220000C): LDR R2, R2, CH
09A0n(02390002): SUB R2, R3, R2
09A1o(43E80014): ADD R3, SP, 14H
09A2o .FIXUP D
09A2o(8D000013): LDR SB, MT, MOD0 [TextFrames]
09A3o(44D80018): ADD R4, SB, 18H [data]
09A4p(F7FFFD5C): BL -676 [0701H]
IF F.hasSelq & (rloc.pos = F.selbegs.pos)t & (uF.selendv.pos = F.selbegw.pos + 1)x THENy
09A5q(80E00004): LDR R0, SP, 4H
09A6q(D136DB4C): BLEQ MT [trap=4, pos=14043]
09A7r(90000045): LDR R0, R0, 45H
09A8r(E100001F): BEQ 31 [09C8H]
09A9s(80E00004): LDR R0, SP, 4H
09AAs(D136F14C): BLEQ MT [trap=4, pos=14065]
09ABt(81E00018): LDR R1, SP, 18H
09ACt(80000064): LDR R0, R0, 64H
09ADt(01190000): SUB R1, R1, R0
09AEu(E9000019): BNE 25 [09C8H]
09AFv(80E00004): LDR R0, SP, 4H
09B0v(D137024C): BLEQ MT [trap=4, pos=14082]
09B1w(81E00004): LDR R1, SP, 4H
09B2w(D137114C): BLEQ MT [trap=4, pos=14097]
09B3x(81100064): LDR R1, R1, 64H
09B4x(41180001): ADD R1, R1, 1H
09B5x(8000007C): LDR R0, R0, 7CH
09B6x(00090001): SUB R0, R0, R1
09B7y(E9000010): BNE 16 [09C8H]
LocateChar(F,z F.lefta,b Y - F.Yc,d F.selbege)f
09B8z(80E00004): LDR R0, SP, 4H
09B9a(81E00004): LDR R1, SP, 4H
09BAa(D1373C4C): BLEQ MT [trap=4, pos=14140]
09BBb(8110002C): LDR R1, R1, 2CH
09BCc(82E00004): LDR R2, SP, 4H
09BDc(D137454C): BLEQ MT [trap=4, pos=14149]
09BEd(83E0000C): LDR R3, SP, CH
09BFd(8220000C): LDR R2, R2, CH
09C0d(02390002): SUB R2, R3, R2
09C1e(83E00004): LDR R3, SP, 4H
09C2e(D1374F4C): BLEQ MT [trap=4, pos=14159]
09C3f(43380060): ADD R3, R3, 60H
09C4f .FIXUP D
09C4f(8D000022): LDR SB, MT, MOD0 [TextFrames]
09C5f(44D80018): ADD R4, SB, 18H [data]
ELSEg Fh.selbegi := loc
09C6g(F7FFFD3A): BL -710 [0701H]
09C7h(E700000B): B 11 [09D3H]
09C8i(80E00004): LDR R0, SP, 4H
09C9i(D137644C): BLEQ MT [trap=4, pos=14180]
ENDj;
09CAj(40080060): ADD R0, R0, 60H
09CBj(41E80014): ADD R1, SP, 14H
09CCj(42000006): MOV R2, R0, 6H
09CDj(83100000): LDR R3, R1, 0H
09CEj(41180004): ADD R1, R1, 4H
09CFj(A3000000): STR R3, R0, 0H
09D0j(40080004): ADD R0, R0, 4H
09D1j(42290001): SUB R2, R2, 1H
09D2j(E9FFFFFA): BNE -6 [09CDH]
INC(loc.pos);k loc.x := loc.x + loc.dx;l F.selendm := loc;n
09D3k(80E00018): LDR R0, SP, 18H
09D4k(40080001): ADD R0, R0, 1H
09D5k(A0E00018): STR R0, SP, 18H
09D6l(80E00020): LDR R0, SP, 20H
09D7l(81E0001C): LDR R1, SP, 1CH
09D8l(00080001): ADD R0, R0, R1
09D9l(A0E00020): STR R0, SP, 20H
09DAm(80E00004): LDR R0, SP, 4H
09DBm(D137AC4C): BLEQ MT [trap=4, pos=14252]
09DCn(40080078): ADD R0, R0, 78H
09DDn(41E80014): ADD R1, SP, 14H
09DEn(42000006): MOV R2, R0, 6H
09DFn(83100000): LDR R3, R1, 0H
09E0n(41180004): ADD R1, R1, 4H
09E1n(A3000000): STR R3, R0, 0H
09E2n(40080004): ADD R0, R0, 4H
09E3n(42290001): SUB R2, R2, 1H
09E4n(E9FFFFFA): BNE -6 [09DFH]
FlipSelection(F,o F.selbegp,q F.selendr)s;t keysum := {};u
09E5o(80E00004): LDR R0, SP, 4H
09E6p(81E00004): LDR R1, SP, 4H
09E7p(D137D44C): BLEQ MT [trap=4, pos=14292]
09E8q(41180060): ADD R1, R1, 60H
09E9q .FIXUP D
09E9q(8D000025): LDR SB, MT, MOD0 [TextFrames]
09EAq(42D80018): ADD R2, SB, 18H [data]
09EBr(83E00004): LDR R3, SP, 4H
09ECr(D137DE4C): BLEQ MT [trap=4, pos=14302]
09EDs(43380078): ADD R3, R3, 78H
09EEs(44D80018): ADD R4, SB, 18H
09EFt(F7FFFEBF): BL -321 [08AFH]
09F0u(40000000): MOV R0, R0, 0H
09F1u(81E00010): LDR R1, SP, 10H
09F2u(A0100000): STR R0, R1, 0H
REPEAT
Input.Mouse(keys,v X,w Y)x;y
09F3v(40E8002C): ADD R0, SP, 2CH
09F4w(41E80008): ADD R1, SP, 8H
09F5x(42E8000C): ADD R2, SP, CH
09F6y .FIXUP P
09F6y(F720308B): BL MOD2 [Input] PROC3
keysum := keysum + keys;z
09F7z(80E00010): LDR R0, SP, 10H
09F8z(80000000): LDR R0, R0, 0H
09F9z(81E0002C): LDR R1, SP, 2CH
09FAz(00060001): IOR R0, R0, R1
09FBz(81E00010): LDR R1, SP, 10H
09FCz(A0100000): STR R0, R1, 0H
Oberon.DrawMouseArrow(X,a Y)b;c
09FDa(80E00008): LDR R0, SP, 8H
09FEb(81E0000C): LDR R1, SP, CH
09FFc .FIXUP P
09FFc(F7818009): BL MOD8 [Oberon] PROC24
LocateChar(F,d X - F.Xe,f Y - F.Yg,h loc)i;j
0A00d(80E00004): LDR R0, SP, 4H
0A01e(81E00004): LDR R1, SP, 4H
0A02e(D138804C): BLEQ MT [trap=4, pos=14464]
0A03f(82E00008): LDR R2, SP, 8H
0A04f(81100008): LDR R1, R1, 8H
0A05f(01290001): SUB R1, R2, R1
0A06g(82E00004): LDR R2, SP, 4H
0A07g(D138894C): BLEQ MT [trap=4, pos=14473]
0A08h(83E0000C): LDR R3, SP, CH
0A09h(8220000C): LDR R2, R2, CH
0A0Ah(02390002): SUB R2, R3, R2
0A0Bi(43E80014): ADD R3, SP, 14H
0A0Ci .FIXUP D
0A0Ci(8D000023): LDR SB, MT, MOD0 [TextFrames]
0A0Di(44D80018): ADD R4, SB, 18H [data]
0A0Ej(F7FFFCF2): BL -782 [0701H]
IF loc.pos < F.selbegk.pos THENl loc := F.selbegm ENDn;
0A0Fk(80E00004): LDR R0, SP, 4H
0A10k(D138AE4C): BLEQ MT [trap=4, pos=14510]
0A11l(81E00018): LDR R1, SP, 18H
0A12l(80000064): LDR R0, R0, 64H
0A13l(01190000): SUB R1, R1, R0
0A14l(ED00000B): BGE 11 [0A20H]
0A15m(80E00004): LDR R0, SP, 4H
0A16m(D138C74C): BLEQ MT [trap=4, pos=14535]
0A17n(41E80014): ADD R1, SP, 14H
0A18n(40080060): ADD R0, R0, 60H
0A19n(42000006): MOV R2, R0, 6H
0A1An(83000000): LDR R3, R0, 0H
0A1Bn(40080004): ADD R0, R0, 4H
0A1Cn(A3100000): STR R3, R1, 0H
0A1Dn(41180004): ADD R1, R1, 4H
0A1En(42290001): SUB R2, R2, 1H
0A1Fn(E9FFFFFA): BNE -6 [0A1AH]
INC(loc.pos);o loc.x := loc.x + loc.dx;p
0A20o(80E00018): LDR R0, SP, 18H
0A21o(40080001): ADD R0, R0, 1H
0A22o(A0E00018): STR R0, SP, 18H
0A23p(80E00020): LDR R0, SP, 20H
0A24p(81E0001C): LDR R1, SP, 1CH
0A25p(00080001): ADD R0, R0, R1
0A26p(A0E00020): STR R0, SP, 20H
IF loc.pos < F.selendq.pos THENr FlipSelection(F,s loc,t F.selendu)v;w F.selendx := loc
0A27q(80E00004): LDR R0, SP, 4H
0A28q(D139194C): BLEQ MT [trap=4, pos=14617]
0A29r(81E00018): LDR R1, SP, 18H
0A2Ar(8000007C): LDR R0, R0, 7CH
0A2Br(01190000): SUB R1, R1, R0
0A2Cr(ED000015): BGE 21 [0A42H]
0A2Ds(80E00004): LDR R0, SP, 4H
0A2Et(41E80014): ADD R1, SP, 14H
0A2Ft .FIXUP D
0A2Ft(8D000023): LDR SB, MT, MOD0 [TextFrames]
0A30t(42D80018): ADD R2, SB, 18H [data]
0A31u(83E00004): LDR R3, SP, 4H
0A32u(D139414C): BLEQ MT [trap=4, pos=14657]
0A33v(43380078): ADD R3, R3, 78H
0A34v(44D80018): ADD R4, SB, 18H
0A35w(F7FFFE79): BL -391 [08AFH]
0A36x(80E00004): LDR R0, SP, 4H
0A37x(D1394C4C): BLEQ MT [trap=4, pos=14668]
ELSIFy locz.pos > F.selenda.pos THENb FlipSelection(F,c F.selendd,e loc)f;g F.selendh := loc
0A38y(40080078): ADD R0, R0, 78H
0A39y(41E80014): ADD R1, SP, 14H
0A3Ay(42000006): MOV R2, R0, 6H
0A3By(83100000): LDR R3, R1, 0H
0A3Cy(41180004): ADD R1, R1, 4H
0A3Dy(A3000000): STR R3, R0, 0H
0A3Ey(40080004): ADD R0, R0, 4H
0A3Fy(42290001): SUB R2, R2, 1H
0A40y(E9FFFFFA): BNE -6 [0A3BH]
0A41z(E700001A): B 26 [0A5CH]
0A42a(80E00004): LDR R0, SP, 4H
0A43a(D139744C): BLEQ MT [trap=4, pos=14708]
0A44b(81E00018): LDR R1, SP, 18H
0A45b(8000007C): LDR R0, R0, 7CH
0A46b(01190000): SUB R1, R1, R0
0A47b(E6000014): BLE 20 [0A5CH]
0A48c(80E00004): LDR R0, SP, 4H
0A49d(81E00004): LDR R1, SP, 4H
0A4Ad(D139974C): BLEQ MT [trap=4, pos=14743]
0A4Be(41180078): ADD R1, R1, 78H
0A4Ce .FIXUP D
0A4Ce(8D00001D): LDR SB, MT, MOD0 [TextFrames]
0A4De(42D80018): ADD R2, SB, 18H [data]
0A4Ef(43E80014): ADD R3, SP, 14H
0A4Ff(44D80018): ADD R4, SB, 18H
0A50g(F7FFFE5E): BL -418 [08AFH]
0A51h(80E00004): LDR R0, SP, 4H
0A52h(D139A74C): BLEQ MT [trap=4, pos=14759]
ENDi
0A53i(40080078): ADD R0, R0, 78H
0A54i(41E80014): ADD R1, SP, 14H
0A55i(42000006): MOV R2, R0, 6H
0A56i(83100000): LDR R3, R1, 0H
0A57i(41180004): ADD R1, R1, 4H
0A58i(A3000000): STR R3, R0, 0H
0A59i(40080004): ADD R0, R0, 4H
0A5Ai(42290001): SUB R2, R2, 1H
0A5Bi(E9FFFFFA): BNE -6 [0A56H]
UNTIL keys = {};j
0A5Cj(80E0002C): LDR R0, SP, 2CH
0A5Dj(E9FFFF95): BNE -107 [09F3H]
F.timek := Oberon.Time()l;m F.hasSeln := TRUE
0A5Ek(80E00004): LDR R0, SP, 4H
0A5Fk(D139DE4C): BLEQ MT [trap=4, pos=14814]
0A60l(4EE90004): SUB SP, SP, 4H
0A61l(A0E00000): STR R0, SP, 0H
0A62m .FIXUP P
0A62m(F7816063): BL MOD8 [Oberon] PROC22
0A63m(01000000): MOV R1, R0, R0
0A64m(80E00000): LDR R0, SP, 0H
0A65m(4EE80004): ADD SP, SP, 4H
0A66m(A1000040): STR R1, R0, 40H
0A67n(80E00004): LDR R0, SP, 4H
0A68n(D139F94C): BLEQ MT [trap=4, pos=14841]
ENDo
0A69o(41000001): MOV R1, R0, 1H
0A6Ao(B1000045): STR R1, R0, 45H
ENDp TrackSelection;
0A6Bp(8FE00000): LDR LNK, SP, 0H
0A6Cp(4EE80030): ADD SP, SP, 30H
0A6Dp(C700000F): B LNK
PROCEDURE RemoveSelection* (F: Frame);
BEGINq IF F.hasSelr THENs FlipSelection(F,t F.selbegu,v F.selendw)x;y F.hasSelz := FALSE ENDa
0A6Eq .PROC 24
0A6Eq(4EE90008): SUB SP, SP, 8H
0A6Fq(AFE00000): STR LNK, SP, 0H
0A70q(A0E00004): STR R0, SP, 4H
0A71r(80E00004): LDR R0, SP, 4H
0A72r(D13A5D4C): BLEQ MT [trap=4, pos=14941]
0A73s(90000045): LDR R0, R0, 45H
0A74s(E100000F): BEQ 15 [0A84H]
0A75t(80E00004): LDR R0, SP, 4H
0A76u(81E00004): LDR R1, SP, 4H
0A77u(D13A7C4C): BLEQ MT [trap=4, pos=14972]
0A78v(41180060): ADD R1, R1, 60H
0A79v .FIXUP D
0A79v(8D00002D): LDR SB, MT, MOD0 [TextFrames]
0A7Av(42D80018): ADD R2, SB, 18H [data]
0A7Bw(83E00004): LDR R3, SP, 4H
0A7Cw(D13A864C): BLEQ MT [trap=4, pos=14982]
0A7Dx(43380078): ADD R3, R3, 78H
0A7Ex(44D80018): ADD R4, SB, 18H
0A7Fy(F7FFFE2F): BL -465 [08AFH]
0A80z(80E00004): LDR R0, SP, 4H
0A81z(D13A914C): BLEQ MT [trap=4, pos=14993]
0A82a(41000000): MOV R1, R0, 0H
0A83a(B1000045): STR R1, R0, 45H
ENDb RemoveSelection;
0A84b(8FE00000): LDR LNK, SP, 0H
0A85b(4EE80008): ADD SP, SP, 8H
0A86b(C700000F): B LNK
PROCEDURE TrackLine* (F: Frame; X, Y: INTEGER; VAR org: LONGINT; VAR keysum: SET);
VAR old, new: Location; keys: SET;
BEGINc
0A87c .PROC 25
0A87c(4EE9004C): SUB SP, SP, 4CH
0A88c(AFE00000): STR LNK, SP, 0H
0A89c(A0E00004): STR R0, SP, 4H
0A8Ac(A1E00008): STR R1, SP, 8H
0A8Bc(A2E0000C): STR R2, SP, CH
0A8Cc(A3E00010): STR R3, SP, 10H
0A8Dc(A4E00014): STR R4, SP, 14H
IF F.trailerd.nexte # F.trailerf THENg
0A8Ed(80E00004): LDR R0, SP, 4H
0A8Fd(D13B4B4C): BLEQ MT [trap=4, pos=15179]
0A90e(80000090): LDR R0, R0, 90H
0A91e(D13B504C): BLEQ MT [trap=4, pos=15184]
0A92f(81E00004): LDR R1, SP, 4H
0A93f(D13B5C4C): BLEQ MT [trap=4, pos=15196]
0A94g(8000000C): LDR R0, R0, CH
0A95g(81100090): LDR R1, R1, 90H
0A96g(00090001): SUB R0, R0, R1
0A97g(E1000097): BEQ 151 [0B2FH]
LocateLine(F,h Y - F.Yi,j old)k;l
0A98h(80E00004): LDR R0, SP, 4H
0A99i(81E00004): LDR R1, SP, 4H
0A9Ai(D13B7D4C): BLEQ MT [trap=4, pos=15229]
0A9Bj(82E0000C): LDR R2, SP, CH
0A9Cj(8110000C): LDR R1, R1, CH
0A9Dj(01290001): SUB R1, R2, R1
0A9Ek(42E80018): ADD R2, SP, 18H
0A9Fk .FIXUP D
0A9Fk(8D000026): LDR SB, MT, MOD0 [TextFrames]
0AA0k(43D80018): ADD R3, SB, 18H [data]
0AA1l(F7FFFB6D): BL -1171 [060FH]
ReplConst(Display.white,m F,n F.Xo + F.leftp,q F.Yr + old.y -s dsr,t old.lin.widu,v 2,w Display.invert)x;y
0AA2m(40000001): MOV R0, R0, 1H
0AA3n(81E00004): LDR R1, SP, 4H
0AA4o(82E00004): LDR R2, SP, 4H
0AA5o(D13BAA4C): BLEQ MT [trap=4, pos=15274]
0AA6p(83E00004): LDR R3, SP, 4H
0AA7p(D13BB34C): BLEQ MT [trap=4, pos=15283]
0AA8q(82200008): LDR R2, R2, 8H
0AA9q(8330002C): LDR R3, R3, 2CH
0AAAq(02280003): ADD R2, R2, R3
0AABr(83E00004): LDR R3, SP, 4H
0AACr(D13BB84C): BLEQ MT [trap=4, pos=15288]
0AADs(8330000C): LDR R3, R3, CH
0AAEs(84E00028): LDR R4, SP, 28H
0AAFs(03380004): ADD R3, R3, R4
0AB0t .FIXUP D
0AB0t(8D000011): LDR SB, MT, MOD0 [TextFrames]
0AB1t(84D000B8): LDR R4, SB, B8H [data]
0AB2t(03390004): SUB R3, R3, R4
0AB3u(84E0002C): LDR R4, SP, 2CH
0AB4u(D13BD34C): BLEQ MT [trap=4, pos=15315]
0AB5v(84400004): LDR R4, R4, 4H
0AB6w(45000002): MOV R5, R0, 2H
0AB7x(46000002): MOV R6, R0, 2H
0AB8y(F7FFF555): BL -2731 [000EH]
keysum := {};z
0AB9z(40000000): MOV R0, R0, 0H
0ABAz(81E00014): LDR R1, SP, 14H
0ABBz(A0100000): STR R0, R1, 0H
REPEAT Input.Mouse(keys,a X,b Y)c;d
0ABCa(40E80048): ADD R0, SP, 48H
0ABDb(41E80008): ADD R1, SP, 8H
0ABEc(42E8000C): ADD R2, SP, CH
0ABFd .FIXUP P
0ABFd(F720305D): BL MOD2 [Input] PROC3
keysum := keysum + keys;e
0AC0e(80E00014): LDR R0, SP, 14H
0AC1e(80000000): LDR R0, R0, 0H
0AC2e(81E00048): LDR R1, SP, 48H
0AC3e(00060001): IOR R0, R0, R1
0AC4e(81E00014): LDR R1, SP, 14H
0AC5e(A0100000): STR R0, R1, 0H
Oberon.DrawMouse(ScrollMarker,f X,g Y)h;i
0AC6f .FIXUP D
0AC6f(8D000016): LDR SB, MT, MOD0 [TextFrames]
0AC7f(40D800CC): ADD R0, SB, CCH [data]
0AC8f .FIXUP D
0AC8f(8D800002): LDR SB, MT, MOD8 [Oberon]
0AC9f(41D80001): ADD R1, SB, VAR1
0ACAg(82E00008): LDR R2, SP, 8H
0ACBh(83E0000C): LDR R3, SP, CH
0ACCi .FIXUP P
0ACCi(F781700D): BL MOD8 [Oberon] PROC23
LocateLine(F,j Y - F.Yk,l new)m;n
0ACDj(80E00004): LDR R0, SP, 4H
0ACEk(81E00004): LDR R1, SP, 4H
0ACFk(D13C8F4C): BLEQ MT [trap=4, pos=15503]
0AD0l(82E0000C): LDR R2, SP, CH
0AD1l(8110000C): LDR R1, R1, CH
0AD2l(01290001): SUB R1, R2, R1
0AD3m(42E80030): ADD R2, SP, 30H
0AD4m .FIXUP D
0AD4m(8D00000C): LDR SB, MT, MOD0 [TextFrames]
0AD5m(43D80018): ADD R3, SB, 18H [data]
0AD6n(F7FFFB38): BL -1224 [060FH]
IF new.org # old.org THENo
0AD7o(80E00030): LDR R0, SP, 30H
0AD8o(81E00018): LDR R1, SP, 18H
0AD9o(00090001): SUB R0, R0, R1
0ADAo(E1000037): BEQ 55 [0B12H]
ReplConst(Display.white,p F,q F.Xr + F.lefts,t F.Yu + old.y -v dsr,w old.lin.widx,y 2,z Display.invert)a;b
0ADBp(40000001): MOV R0, R0, 1H
0ADCq(81E00004): LDR R1, SP, 4H
0ADDr(82E00004): LDR R2, SP, 4H
0ADEr(D13CE24C): BLEQ MT [trap=4, pos=15586]
0ADFs(83E00004): LDR R3, SP, 4H
0AE0s(D13CEB4C): BLEQ MT [trap=4, pos=15595]
0AE1t(82200008): LDR R2, R2, 8H
0AE2t(8330002C): LDR R3, R3, 2CH
0AE3t(02280003): ADD R2, R2, R3
0AE4u(83E00004): LDR R3, SP, 4H
0AE5u(D13CF04C): BLEQ MT [trap=4, pos=15600]
0AE6v(8330000C): LDR R3, R3, CH
0AE7v(84E00028): LDR R4, SP, 28H
0AE8v(03380004): ADD R3, R3, R4
0AE9w .FIXUP D
0AE9w(8D000015): LDR SB, MT, MOD0 [TextFrames]
0AEAw(84D000B8): LDR R4, SB, B8H [data]
0AEBw(03390004): SUB R3, R3, R4
0AECx(84E0002C): LDR R4, SP, 2CH
0AEDx(D13D0B4C): BLEQ MT [trap=4, pos=15627]
0AEEy(84400004): LDR R4, R4, 4H
0AEFz(45000002): MOV R5, R0, 2H
0AF0a(46000002): MOV R6, R0, 2H
0AF1b(F7FFF51C): BL -2788 [000EH]
ReplConst(Display.white,c F,d F.Xe + F.leftf,g F.Yh + new.y -i dsr,j new.lin.widk,l 2,m Display.invert)n;o
0AF2c(40000001): MOV R0, R0, 1H
0AF3d(81E00004): LDR R1, SP, 4H
0AF4e(82E00004): LDR R2, SP, 4H
0AF5e(D13D4A4C): BLEQ MT [trap=4, pos=15690]
0AF6f(83E00004): LDR R3, SP, 4H
0AF7f(D13D534C): BLEQ MT [trap=4, pos=15699]
0AF8g(82200008): LDR R2, R2, 8H
0AF9g(8330002C): LDR R3, R3, 2CH
0AFAg(02280003): ADD R2, R2, R3
0AFBh(83E00004): LDR R3, SP, 4H
0AFCh(D13D584C): BLEQ MT [trap=4, pos=15704]
0AFDi(8330000C): LDR R3, R3, CH
0AFEi(84E00040): LDR R4, SP, 40H
0AFFi(03380004): ADD R3, R3, R4
0B00j .FIXUP D
0B00j(8D000017): LDR SB, MT, MOD0 [TextFrames]
0B01j(84D000B8): LDR R4, SB, B8H [data]
0B02j(03390004): SUB R3, R3, R4
0B03k(84E00044): LDR R4, SP, 44H
0B04k(D13D734C): BLEQ MT [trap=4, pos=15731]
0B05l(84400004): LDR R4, R4, 4H
0B06m(45000002): MOV R5, R0, 2H
0B07n(46000002): MOV R6, R0, 2H
0B08o(F7FFF505): BL -2811 [000EH]
old := new
ENDp
0B09p(40E80018): ADD R0, SP, 18H
0B0Ap(41E80030): ADD R1, SP, 30H
0B0Bp(42000006): MOV R2, R0, 6H
0B0Cp(83100000): LDR R3, R1, 0H
0B0Dp(41180004): ADD R1, R1, 4H
0B0Ep(A3000000): STR R3, R0, 0H
0B0Fp(40080004): ADD R0, R0, 4H
0B10p(42290001): SUB R2, R2, 1H
0B11p(E9FFFFFA): BNE -6 [0B0CH]
UNTIL keys = {};q
0B12q(80E00048): LDR R0, SP, 48H
0B13q(E9FFFFA8): BNE -88 [0ABCH]
ReplConst(Display.white,r F,s F.Xt + F.leftu,v F.Yw + new.y -x dsr,y new.lin.widz,a 2,b Display.invert)c;d
0B14r(40000001): MOV R0, R0, 1H
0B15s(81E00004): LDR R1, SP, 4H
0B16t(82E00004): LDR R2, SP, 4H
0B17t(D13DE84C): BLEQ MT [trap=4, pos=15848]
0B18u(83E00004): LDR R3, SP, 4H
0B19u(D13DF14C): BLEQ MT [trap=4, pos=15857]
0B1Av(82200008): LDR R2, R2, 8H
0B1Bv(8330002C): LDR R3, R3, 2CH
0B1Cv(02280003): ADD R2, R2, R3
0B1Dw(83E00004): LDR R3, SP, 4H
0B1Ew(D13DF64C): BLEQ MT [trap=4, pos=15862]
0B1Fx(8330000C): LDR R3, R3, CH
0B20x(84E00040): LDR R4, SP, 40H
0B21x(03380004): ADD R3, R3, R4
0B22y .FIXUP D
0B22y(8D000022): LDR SB, MT, MOD0 [TextFrames]
0B23y(84D000B8): LDR R4, SB, B8H [data]
0B24y(03390004): SUB R3, R3, R4
0B25z(84E00044): LDR R4, SP, 44H
0B26z(D13E114C): BLEQ MT [trap=4, pos=15889]
0B27a(84400004): LDR R4, R4, 4H
0B28b(45000002): MOV R5, R0, 2H
0B29c(46000002): MOV R6, R0, 2H
0B2Ad(F7FFF4E3): BL -2845 [000EH]
org := new.org
ELSEe orgf := 0 (*<----*)
0B2Be(80E00030): LDR R0, SP, 30H
0B2Ce(81E00010): LDR R1, SP, 10H
0B2De(A0100000): STR R0, R1, 0H
0B2Ef(E7000003): B 3 [0B32H]
ENDg
0B2Fg(40000000): MOV R0, R0, 0H
0B30g(81E00010): LDR R1, SP, 10H
0B31g(A0100000): STR R0, R1, 0H
ENDh TrackLine;
0B32h(8FE00000): LDR LNK, SP, 0H
0B33h(4EE8004C): ADD SP, SP, 4CH
0B34h(C700000F): B LNK
PROCEDURE TrackWord* (F: Frame; X, Y: INTEGER; VAR pos: LONGINT; VAR keysum: SET);
VAR old, new: Location; keys: SET;
BEGINi
0B35i .PROC 26
0B35i(4EE9004C): SUB SP, SP, 4CH
0B36i(AFE00000): STR LNK, SP, 0H
0B37i(A0E00004): STR R0, SP, 4H
0B38i(A1E00008): STR R1, SP, 8H
0B39i(A2E0000C): STR R2, SP, CH
0B3Ai(A3E00010): STR R3, SP, 10H
0B3Bi(A4E00014): STR R4, SP, 14H
IF F.trailerj.nextk # F.trailerl THENm
0B3Cj(80E00004): LDR R0, SP, 4H
0B3Dj(D13F094C): BLEQ MT [trap=4, pos=16137]
0B3Ek(80000090): LDR R0, R0, 90H
0B3Fk(D13F0E4C): BLEQ MT [trap=4, pos=16142]
0B40l(81E00004): LDR R1, SP, 4H
0B41l(D13F1A4C): BLEQ MT [trap=4, pos=16154]
0B42m(8000000C): LDR R0, R0, CH
0B43m(81100090): LDR R1, R1, 90H
0B44m(00090001): SUB R0, R0, R1
0B45m(E100008D): BEQ 141 [0BD3H]
LocateString(F,n X - F.Xo,p Y - F.Yq,r old)s;t
0B46n(80E00004): LDR R0, SP, 4H
0B47o(81E00004): LDR R1, SP, 4H
0B48o(D13F3D4C): BLEQ MT [trap=4, pos=16189]
0B49p(82E00008): LDR R2, SP, 8H
0B4Ap(81100008): LDR R1, R1, 8H
0B4Bp(01290001): SUB R1, R2, R1
0B4Cq(82E00004): LDR R2, SP, 4H
0B4Dq(D13F464C): BLEQ MT [trap=4, pos=16198]
0B4Er(83E0000C): LDR R3, SP, CH
0B4Fr(8220000C): LDR R2, R2, CH
0B50r(02390002): SUB R2, R3, R2
0B51s(43E80018): ADD R3, SP, 18H
0B52s .FIXUP D
0B52s(8D000030): LDR SB, MT, MOD0 [TextFrames]
0B53s(44D80018): ADD R4, SB, 18H [data]
0B54t(F7FFFB00): BL -1280 [0655H]
ReplConst(Display.white,u F,v F.Xw + old.x,x F.Yy + old.y -z dsr,a old.dx,b 2,c Display.invert)d;e
0B55u(40000001): MOV R0, R0, 1H
0B56v(81E00004): LDR R1, SP, 4H
0B57w(82E00004): LDR R2, SP, 4H
0B58w(D13F734C): BLEQ MT [trap=4, pos=16243]
0B59x(82200008): LDR R2, R2, 8H
0B5Ax(83E00024): LDR R3, SP, 24H
0B5Bx(02280003): ADD R2, R2, R3
0B5Cy(83E00004): LDR R3, SP, 4H
0B5Dy(D13F804C): BLEQ MT [trap=4, pos=16256]
0B5Ez(8330000C): LDR R3, R3, CH
0B5Fz(84E00028): LDR R4, SP, 28H
0B60z(03380004): ADD R3, R3, R4
0B61a .FIXUP D
0B61a(8D00000F): LDR SB, MT, MOD0 [TextFrames]
0B62a(84D000B8): LDR R4, SB, B8H [data]
0B63a(03390004): SUB R3, R3, R4
0B64b(84E00020): LDR R4, SP, 20H
0B65c(45000002): MOV R5, R0, 2H
0B66d(46000002): MOV R6, R0, 2H
0B67e(F7FFF4A6): BL -2906 [000EH]
keysum := {};f
0B68f(40000000): MOV R0, R0, 0H
0B69f(81E00014): LDR R1, SP, 14H
0B6Af(A0100000): STR R0, R1, 0H
REPEAT
Input.Mouse(keys,g X,h Y)i;j keysum := keysum + keys;k
0B6Bg(40E80048): ADD R0, SP, 48H
0B6Ch(41E80008): ADD R1, SP, 8H
0B6Di(42E8000C): ADD R2, SP, CH
0B6Ej .FIXUP P
0B6Ej(F72030A2): BL MOD2 [Input] PROC3
0B6Fk(80E00014): LDR R0, SP, 14H
0B70k(80000000): LDR R0, R0, 0H
0B71k(81E00048): LDR R1, SP, 48H
0B72k(00060001): IOR R0, R0, R1
0B73k(81E00014): LDR R1, SP, 14H
0B74k(A0100000): STR R0, R1, 0H
Oberon.DrawMouseArrow(X,l Y)m;n
0B75l(80E00008): LDR R0, SP, 8H
0B76m(81E0000C): LDR R1, SP, CH
0B77n .FIXUP P
0B77n(F7818009): BL MOD8 [Oberon] PROC24
LocateString(F,o X - F.Xp,q Y - F.Yr,s new)t;u
0B78o(80E00004): LDR R0, SP, 4H
0B79p(81E00004): LDR R1, SP, 4H
0B7Ap(D1404B4C): BLEQ MT [trap=4, pos=16459]
0B7Bq(82E00008): LDR R2, SP, 8H
0B7Cq(81100008): LDR R1, R1, 8H
0B7Dq(01290001): SUB R1, R2, R1
0B7Er(82E00004): LDR R2, SP, 4H
0B7Fr(D140544C): BLEQ MT [trap=4, pos=16468]
0B80s(83E0000C): LDR R3, SP, CH
0B81s(8220000C): LDR R2, R2, CH
0B82s(02390002): SUB R2, R3, R2
0B83t(43E80030): ADD R3, SP, 30H
0B84t .FIXUP D
0B84t(8D000023): LDR SB, MT, MOD0 [TextFrames]
0B85t(44D80018): ADD R4, SB, 18H [data]
0B86u(F7FFFACE): BL -1330 [0655H]
IF new.pos # old.pos THENv
0B87v(80E00034): LDR R0, SP, 34H
0B88v(81E0001C): LDR R1, SP, 1CH
0B89v(00090001): SUB R0, R0, R1
0B8Av(E100002F): BEQ 47 [0BBAH]
ReplConst(Display.white,w F,x F.Xy + old.x,z F.Ya + old.y -b dsr,c old.dx,d 2,e Display.invert)f;g
0B8Bw(40000001): MOV R0, R0, 1H
0B8Cx(81E00004): LDR R1, SP, 4H
0B8Dy(82E00004): LDR R2, SP, 4H
0B8Ey(D140A74C): BLEQ MT [trap=4, pos=16551]
0B8Fz(82200008): LDR R2, R2, 8H
0B90z(83E00024): LDR R3, SP, 24H
0B91z(02280003): ADD R2, R2, R3
0B92a(83E00004): LDR R3, SP, 4H
0B93a(D140B44C): BLEQ MT [trap=4, pos=16564]
0B94b(8330000C): LDR R3, R3, CH
0B95b(84E00028): LDR R4, SP, 28H
0B96b(03380004): ADD R3, R3, R4
0B97c .FIXUP D
0B97c(8D000013): LDR SB, MT, MOD0 [TextFrames]
0B98c(84D000B8): LDR R4, SB, B8H [data]
0B99c(03390004): SUB R3, R3, R4
0B9Ad(84E00020): LDR R4, SP, 20H
0B9Be(45000002): MOV R5, R0, 2H
0B9Cf(46000002): MOV R6, R0, 2H
0B9Dg(F7FFF470): BL -2960 [000EH]
ReplConst(Display.white,h F,i F.Xj + new.x,k F.Yl + new.y -m dsr,n new.dx,o 2,p Display.invert)q;r
0B9Eh(40000001): MOV R0, R0, 1H
0B9Fi(81E00004): LDR R1, SP, 4H
0BA0j(82E00004): LDR R2, SP, 4H
0BA1j(D141094C): BLEQ MT [trap=4, pos=16649]
0BA2k(82200008): LDR R2, R2, 8H
0BA3k(83E0003C): LDR R3, SP, 3CH
0BA4k(02280003): ADD R2, R2, R3
0BA5l(83E00004): LDR R3, SP, 4H
0BA6l(D141164C): BLEQ MT [trap=4, pos=16662]
0BA7m(8330000C): LDR R3, R3, CH
0BA8m(84E00040): LDR R4, SP, 40H
0BA9m(03380004): ADD R3, R3, R4
0BAAn .FIXUP D
0BAAn(8D000013): LDR SB, MT, MOD0 [TextFrames]
0BABn(84D000B8): LDR R4, SB, B8H [data]
0BACn(03390004): SUB R3, R3, R4
0BADo(84E00038): LDR R4, SP, 38H
0BAEp(45000002): MOV R5, R0, 2H
0BAFq(46000002): MOV R6, R0, 2H
0BB0r(F7FFF45D): BL -2979 [000EH]
old := new
ENDs
0BB1s(40E80018): ADD R0, SP, 18H
0BB2s(41E80030): ADD R1, SP, 30H
0BB3s(42000006): MOV R2, R0, 6H
0BB4s(83100000): LDR R3, R1, 0H
0BB5s(41180004): ADD R1, R1, 4H
0BB6s(A3000000): STR R3, R0, 0H
0BB7s(40080004): ADD R0, R0, 4H
0BB8s(42290001): SUB R2, R2, 1H
0BB9s(E9FFFFFA): BNE -6 [0BB4H]
UNTIL keys = {};t
0BBAt(80E00048): LDR R0, SP, 48H
0BBBt(E9FFFFAF): BNE -81 [0B6BH]
ReplConst(Display.white,u F,v F.Xw + new.x,x F.Yy + new.y -z dsr,a new.dx,b 2,c Display.invert)d;e
0BBCu(40000001): MOV R0, R0, 1H
0BBDv(81E00004): LDR R1, SP, 4H
0BBEw(82E00004): LDR R2, SP, 4H
0BBFw(D1419F4C): BLEQ MT [trap=4, pos=16799]
0BC0x(82200008): LDR R2, R2, 8H
0BC1x(83E0003C): LDR R3, SP, 3CH
0BC2x(02280003): ADD R2, R2, R3
0BC3y(83E00004): LDR R3, SP, 4H
0BC4y(D141AC4C): BLEQ MT [trap=4, pos=16812]
0BC5z(8330000C): LDR R3, R3, CH
0BC6z(84E00040): LDR R4, SP, 40H
0BC7z(03380004): ADD R3, R3, R4
0BC8a .FIXUP D
0BC8a(8D00001E): LDR SB, MT, MOD0 [TextFrames]
0BC9a(84D000B8): LDR R4, SB, B8H [data]
0BCAa(03390004): SUB R3, R3, R4
0BCBb(84E00038): LDR R4, SP, 38H
0BCCc(45000002): MOV R5, R0, 2H
0BCDd(46000002): MOV R6, R0, 2H
0BCEe(F7FFF43F): BL -3009 [000EH]
pos := new.pos
ELSEf posg := 0 (*<----*)
0BCFf(80E00034): LDR R0, SP, 34H
0BD0f(81E00010): LDR R1, SP, 10H
0BD1f(A0100000): STR R0, R1, 0H
0BD2g(E7000003): B 3 [0BD6H]
ENDh
0BD3h(40000000): MOV R0, R0, 0H
0BD4h(81E00010): LDR R1, SP, 10H
0BD5h(A0100000): STR R0, R1, 0H
ENDi TrackWord;
0BD6i(8FE00000): LDR LNK, SP, 0H
0BD7i(4EE8004C): ADD SP, SP, 4CH
0BD8i(C700000F): B LNK
PROCEDURE Replace* (F: Frame; beg, end: LONGINT);
VAR R: Texts.Reader; L: Line;
org, len: LONGINT; curY, wid: INTEGER;
BEGINj
0BD9j .PROC 27
0BD9j(4EE90058): SUB SP, SP, 58H
0BDAj(AFE00000): STR LNK, SP, 0H
0BDBj(A0E00004): STR R0, SP, 4H
0BDCj(A1E00008): STR R1, SP, 8H
0BDDj(A2E0000C): STR R2, SP, CH
IF end > F.orgk THENl
0BDEk(80E00004): LDR R0, SP, 4H
0BDFk(D142C34C): BLEQ MT [trap=4, pos=17091]
0BE0l(81E0000C): LDR R1, SP, CH
0BE1l(80000020): LDR R0, R0, 20H
0BE2l(01190000): SUB R1, R1, R0
0BE3l(E60000D9): BLE 217 [0CBDH]
IF beg < F.orgm THENn beg := F.orgo ENDp;
0BE4m(80E00004): LDR R0, SP, 4H
0BE5m(D142DD4C): BLEQ MT [trap=4, pos=17117]
0BE6n(81E00008): LDR R1, SP, 8H
0BE7n(80000020): LDR R0, R0, 20H
0BE8n(01190000): SUB R1, R1, R0
0BE9n(ED000004): BGE 4 [0BEEH]
0BEAo(80E00004): LDR R0, SP, 4H
0BEBo(D142EF4C): BLEQ MT [trap=4, pos=17135]
0BECp(80000020): LDR R0, R0, 20H
0BEDp(A0E00008): STR R0, SP, 8H
org := F.orgq;r L := F.trailers.nextt;u curY := F.Yv + F.Hw -x F.topy -z asr;a
0BEEq(80E00004): LDR R0, SP, 4H
0BEFq(D143074C): BLEQ MT [trap=4, pos=17159]
0BF0r(80000020): LDR R0, R0, 20H
0BF1r(A0E00048): STR R0, SP, 48H
0BF2s(80E00004): LDR R0, SP, 4H
0BF3s(D143174C): BLEQ MT [trap=4, pos=17175]
0BF4t(80000090): LDR R0, R0, 90H
0BF5t(D1431C4C): BLEQ MT [trap=4, pos=17180]
0BF6u(8000000C): LDR R0, R0, CH
0BF7u(A0E00044): STR R0, SP, 44H
0BF8v(80E00004): LDR R0, SP, 4H
0BF9v(D143294C): BLEQ MT [trap=4, pos=17193]
0BFAw(81E00004): LDR R1, SP, 4H
0BFBw(D1432F4C): BLEQ MT [trap=4, pos=17199]
0BFCx(8000000C): LDR R0, R0, CH
0BFDx(81100014): LDR R1, R1, 14H
0BFEx(00080001): ADD R0, R0, R1
0BFFy(81E00004): LDR R1, SP, 4H
0C00y(D143374C): BLEQ MT [trap=4, pos=17207]
0C01z(81100034): LDR R1, R1, 34H
0C02z(00090001): SUB R0, R0, R1
0C03a .FIXUP D
0C03a(8D00003B): LDR SB, MT, MOD0 [TextFrames]
0C04a(81D000B4): LDR R1, SB, B4H [data]
0C05a(00090001): SUB R0, R0, R1
0C06a(A0E00050): STR R0, SP, 50H
WHILE (L # F.trailerb)c & (dorg + L.lene <=f beg)g DOh
0C07b(80E00004): LDR R0, SP, 4H
0C08b(D1435A4C): BLEQ MT [trap=4, pos=17242]
0C09c(81E00044): LDR R1, SP, 44H
0C0Ac(80000090): LDR R0, R0, 90H
0C0Bc(01190000): SUB R1, R1, R0
0C0Cd(E1000018): BEQ 24 [0C25H]
0C0De(80E00044): LDR R0, SP, 44H
0C0Ee(D1436A4C): BLEQ MT [trap=4, pos=17258]
0C0Ff(81E00048): LDR R1, SP, 48H
0C10f(80000000): LDR R0, R0, 0H
0C11f(00180000): ADD R0, R1, R0
0C12g(81E00008): LDR R1, SP, 8H
0C13g(00090001): SUB R0, R0, R1
0C14h(EE000010): BGT 16 [0C25H]
org := org + L.leni;j L := L.nextk;l curY := curY - lsp
0C15i(80E00044): LDR R0, SP, 44H
0C16i(D143904C): BLEQ MT [trap=4, pos=17296]
0C17j(81E00048): LDR R1, SP, 48H
0C18j(80000000): LDR R0, R0, 0H
0C19j(00180000): ADD R0, R1, R0
0C1Aj(A0E00048): STR R0, SP, 48H
0C1Bk(80E00044): LDR R0, SP, 44H
0C1Ck(D1439D4C): BLEQ MT [trap=4, pos=17309]
0C1Dl(8000000C): LDR R0, R0, CH
0C1El(A0E00044): STR R0, SP, 44H
ENDm;
0C1Fm(80E00050): LDR R0, SP, 50H
0C20m .FIXUP D
0C20m(8D00001D): LDR SB, MT, MOD0 [TextFrames]
0C21m(81D000B0): LDR R1, SB, B0H [data]
0C22m(00090001): SUB R0, R0, R1
0C23m(A0E00050): STR R0, SP, 50H
0C24m(E7FFFFE2): B -30 [0C07H]
IF L # F.trailern THENo
0C25n(80E00004): LDR R0, SP, 4H
0C26n(D143D34C): BLEQ MT [trap=4, pos=17363]
0C27o(81E00044): LDR R1, SP, 44H
0C28o(80000090): LDR R0, R0, 90H
0C29o(01190000): SUB R1, R1, R0
0C2Ao(E1000092): BEQ 146 [0CBDH]
Texts.OpenReader(R,p F.textq,r org)s;t Texts.Read(R,u nextCh)v;w
0C2Bp(40E80010): ADD R0, SP, 10H
0C2Cp .FIXUP D
0C2Cp(8D60000C): LDR SB, MT, MOD6 [Texts]
0C2Dp(41D80002): ADD R1, SB, VAR2
0C2Eq(82E00004): LDR R2, SP, 4H
0C2Fq(D143FB4C): BLEQ MT [trap=4, pos=17403]
0C30r(8220001C): LDR R2, R2, 1CH
0C31s(83E00048): LDR R3, SP, 48H
0C32t .FIXUP P
0C32t(F76120BB): BL MOD6 [Texts] PROC18
0C33u(40E80010): ADD R0, SP, 10H
0C34u .FIXUP D
0C34u(8D600008): LDR SB, MT, MOD6 [Texts]
0C35u(41D80002): ADD R1, SB, VAR2
0C36v .FIXUP D
0C36v(8D000002): LDR SB, MT, MOD0 [TextFrames]
0C37v(42D800C8): ADD R2, SB, C8H [data]
0C38w .FIXUP P
0C38w(F7613006): BL MOD6 [Texts] PROC19
len := beg - org;x wid := Width(R,y len)z;a
0C39x(80E00008): LDR R0, SP, 8H
0C3Ax(81E00048): LDR R1, SP, 48H
0C3Bx(00090001): SUB R0, R0, R1
0C3Cx(A0E0004C): STR R0, SP, 4CH
0C3Dy(40E80010): ADD R0, SP, 10H
0C3Ey .FIXUP D
0C3Ey(8D600008): LDR SB, MT, MOD6 [Texts]
0C3Fy(41D80002): ADD R1, SB, VAR2
0C40z(82E0004C): LDR R2, SP, 4CH
0C41a(F7FFF4E7): BL -2841 [0129H]
0C42a(A0E00054): STR R0, SP, 54H
ReplConst(F.colb,c F,d F.Xe + F.leftf +g wid,h curY - dsr,i L.widj - wid,k lsp,l Display.replace)m;n
0C43b(80E00004): LDR R0, SP, 4H
0C44b(D144614C): BLEQ MT [trap=4, pos=17505]
0C45c(80000024): LDR R0, R0, 24H
0C46d(81E00004): LDR R1, SP, 4H
0C47e(82E00004): LDR R2, SP, 4H
0C48e(D144694C): BLEQ MT [trap=4, pos=17513]
0C49f(83E00004): LDR R3, SP, 4H
0C4Af(D144724C): BLEQ MT [trap=4, pos=17522]
0C4Bg(82200008): LDR R2, R2, 8H
0C4Cg(8330002C): LDR R3, R3, 2CH
0C4Dg(02280003): ADD R2, R2, R3
0C4Eh(83E00054): LDR R3, SP, 54H
0C4Fh(02280003): ADD R2, R2, R3
0C50i(83E00050): LDR R3, SP, 50H
0C51i .FIXUP D
0C51i(8D000013): LDR SB, MT, MOD0 [TextFrames]
0C52i(84D000B8): LDR R4, SB, B8H [data]
0C53i(03390004): SUB R3, R3, R4
0C54j(84E00044): LDR R4, SP, 44H
0C55j(D1448B4C): BLEQ MT [trap=4, pos=17547]
0C56k(84400004): LDR R4, R4, 4H
0C57k(85E00054): LDR R5, SP, 54H
0C58k(04490005): SUB R4, R4, R5
0C59l(85D000B0): LDR R5, SB, B0H
0C5Am(46000000): MOV R6, R0, 0H
0C5Bn(F7FFF3B2): BL -3150 [000EH]
DisplayLine(F,o L,p R,q F.Xr + F.lefts +t wid,u curY,v len)w;x
0C5Co(80E00004): LDR R0, SP, 4H
0C5Dp(81E00044): LDR R1, SP, 44H
0C5Eq(42E80010): ADD R2, SP, 10H
0C5Fq .FIXUP D
0C5Fq(8D60000E): LDR SB, MT, MOD6 [Texts]
0C60q(43D80002): ADD R3, SB, VAR2
0C61r(84E00004): LDR R4, SP, 4H
0C62r(D144CA4C): BLEQ MT [trap=4, pos=17610]
0C63s(85E00004): LDR R5, SP, 4H
0C64s(D144D34C): BLEQ MT [trap=4, pos=17619]
0C65t(84400008): LDR R4, R4, 8H
0C66t(8550002C): LDR R5, R5, 2CH
0C67t(04480005): ADD R4, R4, R5
0C68u(85E00054): LDR R5, SP, 54H
0C69u(04480005): ADD R4, R4, R5
0C6Av(85E00050): LDR R5, SP, 50H
0C6Bw(86E0004C): LDR R6, SP, 4CH
0C6Cx(F7FFF4E5): BL -2843 [0152H]
org := org + L.leny;z L := L.nexta;b curY := curY - lsp;c
0C6Dy(80E00044): LDR R0, SP, 44H
0C6Ey(D145014C): BLEQ MT [trap=4, pos=17665]
0C6Fz(81E00048): LDR R1, SP, 48H
0C70z(80000000): LDR R0, R0, 0H
0C71z(00180000): ADD R0, R1, R0
0C72z(A0E00048): STR R0, SP, 48H
0C73a(80E00044): LDR R0, SP, 44H
0C74a(D1450E4C): BLEQ MT [trap=4, pos=17678]
0C75b(8000000C): LDR R0, R0, CH
0C76b(A0E00044): STR R0, SP, 44H
0C77c(80E00050): LDR R0, SP, 50H
0C78c .FIXUP D
0C78c(8D000019): LDR SB, MT, MOD0 [TextFrames]
0C79c(81D000B0): LDR R1, SB, B0H [data]
0C7Ac(00090001): SUB R0, R0, R1
0C7Bc(A0E00050): STR R0, SP, 50H
WHILE (L # F.trailerd)e & (forg <= end)g DOh
0C7Cd(80E00004): LDR R0, SP, 4H
0C7Dd(D145404C): BLEQ MT [trap=4, pos=17728]
0C7Ee(81E00044): LDR R1, SP, 44H
0C7Fe(80000090): LDR R0, R0, 90H
0C80e(01190000): SUB R1, R1, R0
0C81f(E100003B): BEQ 59 [0CBDH]
0C82g(80E00048): LDR R0, SP, 48H
0C83g(81E0000C): LDR R1, SP, CH
0C84g(00090001): SUB R0, R0, R1
0C85h(EE000037): BGT 55 [0CBDH]
Display.ReplConst(F.coli,j F.Xk + F.leftl,m curY - dsr,n F.Wo - F.leftp,q lsp,r Display.replace)s;t
0C86i(80E00004): LDR R0, SP, 4H
0C87i(D145754C): BLEQ MT [trap=4, pos=17781]
0C88j(80000024): LDR R0, R0, 24H
0C89k(81E00004): LDR R1, SP, 4H
0C8Ak(D1457A4C): BLEQ MT [trap=4, pos=17786]
0C8Bl(82E00004): LDR R2, SP, 4H
0C8Cl(D145834C): BLEQ MT [trap=4, pos=17795]
0C8Dm(81100008): LDR R1, R1, 8H
0C8Em(8220002C): LDR R2, R2, 2CH
0C8Fm(01180002): ADD R1, R1, R2
0C90n(82E00050): LDR R2, SP, 50H
0C91n .FIXUP D
0C91n(8D000019): LDR SB, MT, MOD0 [TextFrames]
0C92n(83D000B8): LDR R3, SB, B8H [data]
0C93n(02290003): SUB R2, R2, R3
0C94o(83E00004): LDR R3, SP, 4H
0C95o(D145944C): BLEQ MT [trap=4, pos=17812]
0C96p(84E00004): LDR R4, SP, 4H
0C97p(D1459D4C): BLEQ MT [trap=4, pos=17821]
0C98q(83300010): LDR R3, R3, 10H
0C99q(8440002C): LDR R4, R4, 2CH
0C9Aq(03390004): SUB R3, R3, R4
0C9Br(84D000B0): LDR R4, SB, B0H
0C9Cs(45000000): MOV R5, R0, 0H
0C9Dt .FIXUP P
0C9Dt(F730F065): BL MOD3 [Display] PROC15
DisplayLine(F,u L,v R,w F.Xx + F.lefty,z curY,a 0)b;c
0C9Eu(80E00004): LDR R0, SP, 4H
0C9Fv(81E00044): LDR R1, SP, 44H
0CA0w(42E80010): ADD R2, SP, 10H
0CA1w .FIXUP D
0CA1w(8D600010): LDR SB, MT, MOD6 [Texts]
0CA2w(43D80002): ADD R3, SB, VAR2
0CA3x(84E00004): LDR R4, SP, 4H
0CA4x(D145D84C): BLEQ MT [trap=4, pos=17880]
0CA5y(85E00004): LDR R5, SP, 4H
0CA6y(D145E14C): BLEQ MT [trap=4, pos=17889]
0CA7z(84400008): LDR R4, R4, 8H
0CA8z(8550002C): LDR R5, R5, 2CH
0CA9z(04480005): ADD R4, R4, R5
0CAAa(85E00050): LDR R5, SP, 50H
0CABb(46000000): MOV R6, R0, 0H
0CACc(F7FFF4A5): BL -2907 [0152H]
org := org + L.lend;e L := L.nextf;g curY := curY - lsp
0CADd(80E00044): LDR R0, SP, 44H
0CAEd(D146094C): BLEQ MT [trap=4, pos=17929]
0CAFe(81E00048): LDR R1, SP, 48H
0CB0e(80000000): LDR R0, R0, 0H
0CB1e(00180000): ADD R0, R1, R0
0CB2e(A0E00048): STR R0, SP, 48H
0CB3f(80E00044): LDR R0, SP, 44H
0CB4f(D146164C): BLEQ MT [trap=4, pos=17942]
0CB5g(8000000C): LDR R0, R0, CH
0CB6g(A0E00044): STR R0, SP, 44H
ENDh
0CB7h(80E00050): LDR R0, SP, 50H
0CB8h .FIXUP D
0CB8h(8D000017): LDR SB, MT, MOD0 [TextFrames]
0CB9h(81D000B0): LDR R1, SB, B0H [data]
0CBAh(00090001): SUB R0, R0, R1
0CBBh(A0E00050): STR R0, SP, 50H
0CBCh(E7FFFFBF): B -65 [0C7CH]
END
END;
UpdateMark(F)i
0CBDi(80E00004): LDR R0, SP, 4H
ENDj Replace;
0CBEj(F7FFF3D6): BL -3114 [0095H]
0CBFj(8FE00000): LDR LNK, SP, 0H
0CC0j(4EE80058): ADD SP, SP, 58H
0CC1j(C700000F): B LNK
PROCEDURE Insert* (F: Frame; beg, end: LONGINT);
VAR R: Texts.Reader; L, L0, l: Line;
org, len: LONGINT; curY, botY, Y0, Y1, Y2, dY, wid: INTEGER;
BEGINk
0CC2k .PROC 28
0CC2k(4EE90074): SUB SP, SP, 74H
0CC3k(AFE00000): STR LNK, SP, 0H
0CC4k(A0E00004): STR R0, SP, 4H
0CC5k(A1E00008): STR R1, SP, 8H
0CC6k(A2E0000C): STR R2, SP, CH
IF beg < F.orgl THENm F.orgn := F.orgo + (end - beg)p
0CC7l(80E00004): LDR R0, SP, 4H
0CC8l(D147254C): BLEQ MT [trap=4, pos=18213]
0CC9m(81E00008): LDR R1, SP, 8H
0CCAm(80000020): LDR R0, R0, 20H
0CCBm(01190000): SUB R1, R1, R0
0CCCm(ED00000B): BGE 11 [0CD8H]
0CCDn(80E00004): LDR R0, SP, 4H
0CCEn(D147304C): BLEQ MT [trap=4, pos=18224]
0CCFo(81E00004): LDR R1, SP, 4H
0CD0o(D147394C): BLEQ MT [trap=4, pos=18233]
0CD1p(82E0000C): LDR R2, SP, CH
0CD2p(83E00008): LDR R3, SP, 8H
0CD3p(02290003): SUB R2, R2, R3
ELSEq
0CD4q(81100020): LDR R1, R1, 20H
0CD5q(01180002): ADD R1, R1, R2
0CD6q(A1000020): STR R1, R0, 20H
orgr := F.orgs;t L := F.traileru.nextv;w curY := F.Yx + F.Hy -z F.topa -b asr;c
0CD7r(E700017B): B 379 [0E53H]
0CD8s(80E00004): LDR R0, SP, 4H
0CD9s(D147634C): BLEQ MT [trap=4, pos=18275]
0CDAt(80000020): LDR R0, R0, 20H
0CDBt(A0E00050): STR R0, SP, 50H
0CDCu(80E00004): LDR R0, SP, 4H
0CDDu(D147734C): BLEQ MT [trap=4, pos=18291]
0CDEv(80000090): LDR R0, R0, 90H
0CDFv(D147784C): BLEQ MT [trap=4, pos=18296]
0CE0w(8000000C): LDR R0, R0, CH
0CE1w(A0E00044): STR R0, SP, 44H
0CE2x(80E00004): LDR R0, SP, 4H
0CE3x(D147854C): BLEQ MT [trap=4, pos=18309]
0CE4y(81E00004): LDR R1, SP, 4H
0CE5y(D1478B4C): BLEQ MT [trap=4, pos=18315]
0CE6z(8000000C): LDR R0, R0, CH
0CE7z(81100014): LDR R1, R1, 14H
0CE8z(00080001): ADD R0, R0, R1
0CE9a(81E00004): LDR R1, SP, 4H
0CEAa(D147934C): BLEQ MT [trap=4, pos=18323]
0CEBb(81100034): LDR R1, R1, 34H
0CECb(00090001): SUB R0, R0, R1
0CEDc .FIXUP D
0CEDc(8D000035): LDR SB, MT, MOD0 [TextFrames]
0CEEc(81D000B4): LDR R1, SB, B4H [data]
0CEFc(00090001): SUB R0, R0, R1
0CF0c(A0E00058): STR R0, SP, 58H
WHILE (L # F.trailerd)e & (forg + L.leng <=h beg)i DOj
0CF1d(80E00004): LDR R0, SP, 4H
0CF2d(D147B64C): BLEQ MT [trap=4, pos=18358]
0CF3e(81E00044): LDR R1, SP, 44H
0CF4e(80000090): LDR R0, R0, 90H
0CF5e(01190000): SUB R1, R1, R0
0CF6f(E1000018): BEQ 24 [0D0FH]
0CF7g(80E00044): LDR R0, SP, 44H
0CF8g(D147C64C): BLEQ MT [trap=4, pos=18374]
0CF9h(81E00050): LDR R1, SP, 50H
0CFAh(80000000): LDR R0, R0, 0H
0CFBh(00180000): ADD R0, R1, R0
0CFCi(81E00008): LDR R1, SP, 8H
0CFDi(00090001): SUB R0, R0, R1
0CFEj(EE000010): BGT 16 [0D0FH]
org := org + L.lenk;l L := L.nextm;n curY := curY - lsp
0CFFk(80E00044): LDR R0, SP, 44H
0D00k(D147EC4C): BLEQ MT [trap=4, pos=18412]
0D01l(81E00050): LDR R1, SP, 50H
0D02l(80000000): LDR R0, R0, 0H
0D03l(00180000): ADD R0, R1, R0
0D04l(A0E00050): STR R0, SP, 50H
0D05m(80E00044): LDR R0, SP, 44H
0D06m(D147F94C): BLEQ MT [trap=4, pos=18425]
0D07n(8000000C): LDR R0, R0, CH
0D08n(A0E00044): STR R0, SP, 44H
ENDo;
0D09o(80E00058): LDR R0, SP, 58H
0D0Ao .FIXUP D
0D0Ao(8D00001D): LDR SB, MT, MOD0 [TextFrames]
0D0Bo(81D000B0): LDR R1, SB, B0H [data]
0D0Co(00090001): SUB R0, R0, R1
0D0Do(A0E00058): STR R0, SP, 58H
0D0Eo(E7FFFFE2): B -30 [0CF1H]
IF L # F.trailerp THENq
0D0Fp(80E00004): LDR R0, SP, 4H
0D10p(D1482F4C): BLEQ MT [trap=4, pos=18479]
0D11q(81E00044): LDR R1, SP, 44H
0D12q(80000090): LDR R0, R0, 90H
0D13q(01190000): SUB R1, R1, R0
0D14q(E100013E): BEQ 318 [0E53H]
botY := F.Yr + F.bots +t dsr;u
0D15r(80E00004): LDR R0, SP, 4H
0D16r(D148484C): BLEQ MT [trap=4, pos=18504]
0D17s(81E00004): LDR R1, SP, 4H
0D18s(D148504C): BLEQ MT [trap=4, pos=18512]
0D19t(8000000C): LDR R0, R0, CH
0D1At(81100038): LDR R1, R1, 38H
0D1Bt(00080001): ADD R0, R0, R1
0D1Cu .FIXUP D
0D1Cu(8D000012): LDR SB, MT, MOD0 [TextFrames]
0D1Du(81D000B8): LDR R1, SB, B8H [data]
0D1Eu(00080001): ADD R0, R0, R1
0D1Fu(A0E0005C): STR R0, SP, 5CH
Texts.OpenReader(R,v F.textw,x org)y;z Texts.Read(R,a nextCh)b;c
0D20v(40E80010): ADD R0, SP, 10H
0D21v .FIXUP D
0D21v(8D600005): LDR SB, MT, MOD6 [Texts]
0D22v(41D80002): ADD R1, SB, VAR2
0D23w(82E00004): LDR R2, SP, 4H
0D24w(D1487A4C): BLEQ MT [trap=4, pos=18554]
0D25x(8220001C): LDR R2, R2, 1CH
0D26y(83E00050): LDR R3, SP, 50H
0D27z .FIXUP P
0D27z(F761208A): BL MOD6 [Texts] PROC18
0D28a(40E80010): ADD R0, SP, 10H
0D29a .FIXUP D
0D29a(8D600008): LDR SB, MT, MOD6 [Texts]
0D2Aa(41D80002): ADD R1, SB, VAR2
0D2Bb .FIXUP D
0D2Bb(8D000002): LDR SB, MT, MOD0 [TextFrames]
0D2Cb(42D800C8): ADD R2, SB, C8H [data]
0D2Dc .FIXUP P
0D2Dc(F7613006): BL MOD6 [Texts] PROC19
len := beg - org;d wid := Width(R,e len)f;g
0D2Ed(80E00008): LDR R0, SP, 8H
0D2Fd(81E00050): LDR R1, SP, 50H
0D30d(00090001): SUB R0, R0, R1
0D31d(A0E00054): STR R0, SP, 54H
0D32e(40E80010): ADD R0, SP, 10H
0D33e .FIXUP D
0D33e(8D600008): LDR SB, MT, MOD6 [Texts]
0D34e(41D80002): ADD R1, SB, VAR2
0D35f(82E00054): LDR R2, SP, 54H
0D36g(F7FFF3F2): BL -3086 [0129H]
0D37g(A0E00070): STR R0, SP, 70H
ReplConst (F.colh,i F,j F.Xk + F.leftl +m wid,n curY - dsr,o L.widp - wid,q lsp,r Display.replace)s;t
0D38h(80E00004): LDR R0, SP, 4H
0D39h(D148E14C): BLEQ MT [trap=4, pos=18657]
0D3Ai(80000024): LDR R0, R0, 24H
0D3Bj(81E00004): LDR R1, SP, 4H
0D3Ck(82E00004): LDR R2, SP, 4H
0D3Dk(D148E94C): BLEQ MT [trap=4, pos=18665]
0D3El(83E00004): LDR R3, SP, 4H
0D3Fl(D148F24C): BLEQ MT [trap=4, pos=18674]
0D40m(82200008): LDR R2, R2, 8H
0D41m(8330002C): LDR R3, R3, 2CH
0D42m(02280003): ADD R2, R2, R3
0D43n(83E00070): LDR R3, SP, 70H
0D44n(02280003): ADD R2, R2, R3
0D45o(83E00058): LDR R3, SP, 58H
0D46o .FIXUP D
0D46o(8D000013): LDR SB, MT, MOD0 [TextFrames]
0D47o(84D000B8): LDR R4, SB, B8H [data]
0D48o(03390004): SUB R3, R3, R4
0D49p(84E00044): LDR R4, SP, 44H
0D4Ap(D1490B4C): BLEQ MT [trap=4, pos=18699]
0D4Bq(84400004): LDR R4, R4, 4H
0D4Cq(85E00070): LDR R5, SP, 70H
0D4Dq(04490005): SUB R4, R4, R5
0D4Er(85D000B0): LDR R5, SB, B0H
0D4Fs(46000000): MOV R6, R0, 0H
0D50t(F7FFF2BD): BL -3395 [000EH]
DisplayLine(F,u L,v R,w F.Xx + F.lefty +z wid,a curY,b len)c;d
0D51u(80E00004): LDR R0, SP, 4H
0D52v(81E00044): LDR R1, SP, 44H
0D53w(42E80010): ADD R2, SP, 10H
0D54w .FIXUP D
0D54w(8D60000E): LDR SB, MT, MOD6 [Texts]
0D55w(43D80002): ADD R3, SB, VAR2
0D56x(84E00004): LDR R4, SP, 4H
0D57x(D1494A4C): BLEQ MT [trap=4, pos=18762]
0D58y(85E00004): LDR R5, SP, 4H
0D59y(D149534C): BLEQ MT [trap=4, pos=18771]
0D5Az(84400008): LDR R4, R4, 8H
0D5Bz(8550002C): LDR R5, R5, 2CH
0D5Cz(04480005): ADD R4, R4, R5
0D5Da(85E00070): LDR R5, SP, 70H
0D5Ea(04480005): ADD R4, R4, R5
0D5Fb(85E00058): LDR R5, SP, 58H
0D60c(86E00054): LDR R6, SP, 54H
0D61d(F7FFF3F0): BL -3088 [0152H]
org := org + L.lene;f curY := curY - lsp;g
0D62e(80E00044): LDR R0, SP, 44H
0D63e(D149814C): BLEQ MT [trap=4, pos=18817]
0D64f(81E00050): LDR R1, SP, 50H
0D65f(80000000): LDR R0, R0, 0H
0D66f(00180000): ADD R0, R1, R0
0D67f(A0E00050): STR R0, SP, 50H
0D68g(80E00058): LDR R0, SP, 58H
0D69g .FIXUP D
0D69g(8D000015): LDR SB, MT, MOD0 [TextFrames]
0D6Ag(81D000B0): LDR R1, SB, B0H [data]
0D6Bg(00090001): SUB R0, R0, R1
0D6Cg(A0E00058): STR R0, SP, 58H
Y0 := curY;h L0 := L.nexti;j
0D6Dh(80E00058): LDR R0, SP, 58H
0D6Eh(A0E00060): STR R0, SP, 60H
0D6Fi(80E00044): LDR R0, SP, 44H
0D70i(D149B74C): BLEQ MT [trap=4, pos=18871]
0D71j(8000000C): LDR R0, R0, CH
0D72j(A0E00048): STR R0, SP, 48H
WHILE (org <= end)k & (lcurY >= botY)m DOn
0D73k(80E00050): LDR R0, SP, 50H
0D74k(81E0000C): LDR R1, SP, CH
0D75k(00090001): SUB R0, R0, R1
0D76l(EE000041): BGT 65 [0DB8H]
0D77m(80E00058): LDR R0, SP, 58H
0D78m(81E0005C): LDR R1, SP, 5CH
0D79m(00090001): SUB R0, R0, R1
0D7An(E500003D): BLT 61 [0DB8H]
NEW(l);o
0D7Bo(40E8004C): ADD R0, SP, 4CH
0D7Co .FIXUP D
0D7Co(8D000013): LDR SB, MT, MOD0 [TextFrames]
0D7Do(41D80000): ADD R1, SB, 0H [data]
0D7Eo(D749F90C): BL MT [trap=0, pos=18937]
Display.ReplConst(F.colp,q F.Xr + F.lefts,t curY - dsr,u F.Wv - F.leftw,x lsp,y Display.replace)z;a
0D7Fp(80E00004): LDR R0, SP, 4H
0D80p(D14A1B4C): BLEQ MT [trap=4, pos=18971]
0D81q(80000024): LDR R0, R0, 24H
0D82r(81E00004): LDR R1, SP, 4H
0D83r(D14A204C): BLEQ MT [trap=4, pos=18976]
0D84s(82E00004): LDR R2, SP, 4H
0D85s(D14A294C): BLEQ MT [trap=4, pos=18985]
0D86t(81100008): LDR R1, R1, 8H
0D87t(8220002C): LDR R2, R2, 2CH
0D88t(01180002): ADD R1, R1, R2
0D89u(82E00058): LDR R2, SP, 58H
0D8Au .FIXUP D
0D8Au(8D00000E): LDR SB, MT, MOD0 [TextFrames]
0D8Bu(83D000B8): LDR R3, SB, B8H [data]
0D8Cu(02290003): SUB R2, R2, R3
0D8Dv(83E00004): LDR R3, SP, 4H
0D8Ev(D14A3A4C): BLEQ MT [trap=4, pos=19002]
0D8Fw(84E00004): LDR R4, SP, 4H
0D90w(D14A434C): BLEQ MT [trap=4, pos=19011]
0D91x(83300010): LDR R3, R3, 10H
0D92x(8440002C): LDR R4, R4, 2CH
0D93x(03390004): SUB R3, R3, R4
0D94y(84D000B0): LDR R4, SB, B0H
0D95z(45000000): MOV R5, R0, 0H
0D96a .FIXUP P
0D96a(F730F069): BL MOD3 [Display] PROC15
DisplayLine(F,b l,c R,d F.Xe + F.leftf,g curY,h 0)i;j
0D97b(80E00004): LDR R0, SP, 4H
0D98c(81E0004C): LDR R1, SP, 4CH
0D99d(42E80010): ADD R2, SP, 10H
0D9Ad .FIXUP D
0D9Ad(8D600010): LDR SB, MT, MOD6 [Texts]
0D9Bd(43D80002): ADD R3, SB, VAR2
0D9Ce(84E00004): LDR R4, SP, 4H
0D9De(D14A7E4C): BLEQ MT [trap=4, pos=19070]
0D9Ef(85E00004): LDR R5, SP, 4H
0D9Ff(D14A874C): BLEQ MT [trap=4, pos=19079]
0DA0g(84400008): LDR R4, R4, 8H
0DA1g(8550002C): LDR R5, R5, 2CH
0DA2g(04480005): ADD R4, R4, R5
0DA3h(85E00058): LDR R5, SP, 58H
0DA4i(46000000): MOV R6, R0, 0H
0DA5j(F7FFF3AC): BL -3156 [0152H]
L.nextk := l;l L := l;m
0DA6k(80E00044): LDR R0, SP, 44H
0DA7k(D14AA34C): BLEQ MT [trap=4, pos=19107]
0DA8l(81E0004C): LDR R1, SP, 4CH
0DA9l(A100000C): STR R1, R0, CH
0DAAm(80E0004C): LDR R0, SP, 4CH
0DABm(A0E00044): STR R0, SP, 44H
org := org + L.lenn;o curY := curY - lsp
0DACn(80E00044): LDR R0, SP, 44H
0DADn(D14ACE4C): BLEQ MT [trap=4, pos=19150]
0DAEo(81E00050): LDR R1, SP, 50H
0DAFo(80000000): LDR R0, R0, 0H
0DB0o(00180000): ADD R0, R1, R0
0DB1o(A0E00050): STR R0, SP, 50H
ENDp;
0DB2p(80E00058): LDR R0, SP, 58H
0DB3p .FIXUP D
0DB3p(8D000019): LDR SB, MT, MOD0 [TextFrames]
0DB4p(81D000B0): LDR R1, SB, B0H [data]
0DB5p(00090001): SUB R0, R0, R1
0DB6p(A0E00058): STR R0, SP, 58H
0DB7p(E7FFFFBB): B -69 [0D73H]
IF L0 # L.nextq THENr Y1 := curY;s
0DB8q(80E00044): LDR R0, SP, 44H
0DB9q(D14B064C): BLEQ MT [trap=4, pos=19206]
0DBAr(81E00048): LDR R1, SP, 48H
0DBBr(8000000C): LDR R0, R0, CH
0DBCr(01190000): SUB R1, R1, R0
0DBDr(E1000095): BEQ 149 [0E53H]
0DBEs(80E00058): LDR R0, SP, 58H
0DBFs(A0E00064): STR R0, SP, 64H
L.nextt := L0;u
0DC0t(80E00044): LDR R0, SP, 44H
0DC1t(D14B284C): BLEQ MT [trap=4, pos=19240]
0DC2u(81E00048): LDR R1, SP, 48H
0DC3u(A100000C): STR R1, R0, CH
WHILE (L.nextv # F.trailerw)x & (ycurY >= botY)z DOa
0DC4v(80E00044): LDR R0, SP, 44H
0DC5v(D14B474C): BLEQ MT [trap=4, pos=19271]
0DC6w(81E00004): LDR R1, SP, 4H
0DC7w(D14B534C): BLEQ MT [trap=4, pos=19283]
0DC8x(8000000C): LDR R0, R0, CH
0DC9x(81100090): LDR R1, R1, 90H
0DCAx(00090001): SUB R0, R0, R1
0DCBy(E100000E): BEQ 14 [0DDAH]
0DCCz(80E00058): LDR R0, SP, 58H
0DCDz(81E0005C): LDR R1, SP, 5CH
0DCEz(00090001): SUB R0, R0, R1
0DCFa(E500000A): BLT 10 [0DDAH]
L := L.nextb;c curY := curY - lsp
0DD0b(80E00044): LDR R0, SP, 44H
0DD1b(D14B804C): BLEQ MT [trap=4, pos=19328]
0DD2c(8000000C): LDR R0, R0, CH
0DD3c(A0E00044): STR R0, SP, 44H
ENDd;
0DD4d(80E00058): LDR R0, SP, 58H
0DD5d .FIXUP D
0DD5d(8D000022): LDR SB, MT, MOD0 [TextFrames]
0DD6d(81D000B0): LDR R1, SB, B0H [data]
0DD7d(00090001): SUB R0, R0, R1
0DD8d(A0E00058): STR R0, SP, 58H
0DD9d(E7FFFFEA): B -22 [0DC4H]
L.nexte := F.trailerf;g
0DDAe(80E00044): LDR R0, SP, 44H
0DDBe(D14BB44C): BLEQ MT [trap=4, pos=19380]
0DDCf(81E00004): LDR R1, SP, 4H
0DDDf(D14BC14C): BLEQ MT [trap=4, pos=19393]
0DDEg(81100090): LDR R1, R1, 90H
0DDFg(A100000C): STR R1, R0, CH
dY := Y0 - Y1;h
0DE0h(80E00060): LDR R0, SP, 60H
0DE1h(81E00064): LDR R1, SP, 64H
0DE2h(00090001): SUB R0, R0, R1
0DE3h(A0E0006C): STR R0, SP, 6CH
IF Y1 > curY + dY THENi
0DE4i(80E00058): LDR R0, SP, 58H
0DE5i(81E0006C): LDR R1, SP, 6CH
0DE6i(00080001): ADD R0, R0, R1
0DE7i(81E00064): LDR R1, SP, 64H
0DE8i(01190000): SUB R1, R1, R0
0DE9i(E600002E): BLE 46 [0E18H]
Display.CopyBlock(F.Xj + F.leftk,l curY + dY +m lsp -n dsr,o F.Wp - F.leftq,r Y1 - curY -s dY,t
0DEAj(80E00004): LDR R0, SP, 4H
0DEBj(D14C1E4C): BLEQ MT [trap=4, pos=19486]
0DECk(81E00004): LDR R1, SP, 4H
0DEDk(D14C274C): BLEQ MT [trap=4, pos=19495]
0DEEl(80000008): LDR R0, R0, 8H
0DEFl(8110002C): LDR R1, R1, 2CH
0DF0l(00080001): ADD R0, R0, R1
0DF1m(81E00058): LDR R1, SP, 58H
0DF2m(82E0006C): LDR R2, SP, 6CH
0DF3m(01180002): ADD R1, R1, R2
0DF4n .FIXUP D
0DF4n(8D00001F): LDR SB, MT, MOD0 [TextFrames]
0DF5n(82D000B0): LDR R2, SB, B0H [data]
0DF6n(01180002): ADD R1, R1, R2
0DF7o(82D000B8): LDR R2, SB, B8H
0DF8o(01190002): SUB R1, R1, R2
0DF9p(82E00004): LDR R2, SP, 4H
0DFAp(D14C434C): BLEQ MT [trap=4, pos=19523]
0DFBq(83E00004): LDR R3, SP, 4H
0DFCq(D14C4C4C): BLEQ MT [trap=4, pos=19532]
0DFDr(82200010): LDR R2, R2, 10H
0DFEr(8330002C): LDR R3, R3, 2CH
0DFFr(02290003): SUB R2, R2, R3
0E00s(83E00064): LDR R3, SP, 64H
0E01s(84E00058): LDR R4, SP, 58H
0E02s(03390004): SUB R3, R3, R4
0E03t(84E0006C): LDR R4, SP, 6CH
0E04t(03390004): SUB R3, R3, R4
F.Xu + F.leftv,w curY + lsp -x dsr,y 0)z;a
0E05u(84E00004): LDR R4, SP, 4H
0E06u(D14C6F4C): BLEQ MT [trap=4, pos=19567]
0E07v(85E00004): LDR R5, SP, 4H
0E08v(D14C784C): BLEQ MT [trap=4, pos=19576]
0E09w(84400008): LDR R4, R4, 8H
0E0Aw(8550002C): LDR R5, R5, 2CH
0E0Bw(04480005): ADD R4, R4, R5
0E0Cx(85E00058): LDR R5, SP, 58H
0E0Dx(86D000B0): LDR R6, SB, B0H
0E0Ex(05580006): ADD R5, R5, R6
0E0Fy(86D000B8): LDR R6, SB, B8H
0E10y(05590006): SUB R5, R5, R6
0E11z(46000000): MOV R6, R0, 0H
0E12a .FIXUP P
0E12a(F731107C): BL MOD3 [Display] PROC17
Y2 := Y1 - dY
ELSEb Y2c := curY
0E13b(80E00064): LDR R0, SP, 64H
0E14b(81E0006C): LDR R1, SP, 6CH
0E15b(00090001): SUB R0, R0, R1
0E16b(A0E00068): STR R0, SP, 68H
0E17c(E7000002): B 2 [0E1AH]
ENDd;
0E18d(80E00058): LDR R0, SP, 58H
0E19d(A0E00068): STR R0, SP, 68H
curY := Y1;e L := L0;f
0E1Ae(80E00064): LDR R0, SP, 64H
0E1Be(A0E00058): STR R0, SP, 58H
0E1Cf(80E00048): LDR R0, SP, 48H
0E1Df(A0E00044): STR R0, SP, 44H
WHILE curY # Y2 DOg
0E1Eg(80E00058): LDR R0, SP, 58H
0E1Fg(81E00068): LDR R1, SP, 68H
0E20g(00090001): SUB R0, R0, R1
0E21g(E1000031): BEQ 49 [0E53H]
Display.ReplConst(F.colh,i F.Xj + F.leftk,l curY - dsr,m F.Wn - F.lefto,p lsp,q Display.replace)r;s
0E22h(80E00004): LDR R0, SP, 4H
0E23h(D14D324C): BLEQ MT [trap=4, pos=19762]
0E24i(80000024): LDR R0, R0, 24H
0E25j(81E00004): LDR R1, SP, 4H
0E26j(D14D374C): BLEQ MT [trap=4, pos=19767]
0E27k(82E00004): LDR R2, SP, 4H
0E28k(D14D404C): BLEQ MT [trap=4, pos=19776]
0E29l(81100008): LDR R1, R1, 8H
0E2Al(8220002C): LDR R2, R2, 2CH
0E2Bl(01180002): ADD R1, R1, R2
0E2Cm(82E00058): LDR R2, SP, 58H
0E2Dm .FIXUP D
0E2Dm(8D000039): LDR SB, MT, MOD0 [TextFrames]
0E2Em(83D000B8): LDR R3, SB, B8H [data]
0E2Fm(02290003): SUB R2, R2, R3
0E30n(83E00004): LDR R3, SP, 4H
0E31n(D14D514C): BLEQ MT [trap=4, pos=19793]
0E32o(84E00004): LDR R4, SP, 4H
0E33o(D14D5A4C): BLEQ MT [trap=4, pos=19802]
0E34p(83300010): LDR R3, R3, 10H
0E35p(8440002C): LDR R4, R4, 2CH
0E36p(03390004): SUB R3, R3, R4
0E37q(84D000B0): LDR R4, SB, B0H
0E38r(45000000): MOV R5, R0, 0H
0E39s .FIXUP P
0E39s(F730F027): BL MOD3 [Display] PROC15
DisplayLine(F,t L,u R,v F.Xw + F.leftx,y curY,z 0)a;b
0E3At(80E00004): LDR R0, SP, 4H
0E3Bu(81E00044): LDR R1, SP, 44H
0E3Cv(42E80010): ADD R2, SP, 10H
0E3Dv .FIXUP D
0E3Dv(8D600010): LDR SB, MT, MOD6 [Texts]
0E3Ev(43D80002): ADD R3, SB, VAR2
0E3Fw(84E00004): LDR R4, SP, 4H
0E40w(D14D974C): BLEQ MT [trap=4, pos=19863]
0E41x(85E00004): LDR R5, SP, 4H
0E42x(D14DA04C): BLEQ MT [trap=4, pos=19872]
0E43y(84400008): LDR R4, R4, 8H
0E44y(8550002C): LDR R5, R5, 2CH
0E45y(04480005): ADD R4, R4, R5
0E46z(85E00058): LDR R5, SP, 58H
0E47a(46000000): MOV R6, R0, 0H
0E48b(F7FFF309): BL -3319 [0152H]
L := L.nextc;d curY := curY - lsp
0E49c(80E00044): LDR R0, SP, 44H
0E4Ac(D14DC34C): BLEQ MT [trap=4, pos=19907]
0E4Bd(8000000C): LDR R0, R0, CH
0E4Cd(A0E00044): STR R0, SP, 44H
ENDe
0E4De(80E00058): LDR R0, SP, 58H
0E4Ee .FIXUP D
0E4Ee(8D000011): LDR SB, MT, MOD0 [TextFrames]
0E4Fe(81D000B0): LDR R1, SB, B0H [data]
0E50e(00090001): SUB R0, R0, R1
0E51e(A0E00058): STR R0, SP, 58H
0E52e(E7FFFFCB): B -53 [0E1EH]
END
END
END;
UpdateMark(F)f
0E53f(80E00004): LDR R0, SP, 4H
ENDg Insert;
0E54g(F7FFF240): BL -3520 [0095H]
0E55g(8FE00000): LDR LNK, SP, 0H
0E56g(4EE80074): ADD SP, SP, 74H
0E57g(C700000F): B LNK
PROCEDURE Delete* (F: Frame; beg, end: LONGINT);
VAR R: Texts.Reader; L, L0, l: Line;
org, org0, len: LONGINT; curY, botY, Y0, Y1, wid: INTEGER;
BEGINh
0E58h .PROC 29
0E58h(4EE90070): SUB SP, SP, 70H
0E59h(AFE00000): STR LNK, SP, 0H
0E5Ah(A0E00004): STR R0, SP, 4H
0E5Bh(A1E00008): STR R1, SP, 8H
0E5Ch(A2E0000C): STR R2, SP, CH
IF end <= F.orgi THENj F.orgk := F.orgl - (end - beg)m
0E5Di(80E00004): LDR R0, SP, 4H
0E5Ei(D14EDF4C): BLEQ MT [trap=4, pos=20191]
0E5Fj(81E0000C): LDR R1, SP, CH
0E60j(80000020): LDR R0, R0, 20H
0E61j(01190000): SUB R1, R1, R0
0E62j(EE00000B): BGT 11 [0E6EH]
0E63k(80E00004): LDR R0, SP, 4H
0E64k(D14EEA4C): BLEQ MT [trap=4, pos=20202]
0E65l(81E00004): LDR R1, SP, 4H
0E66l(D14EF34C): BLEQ MT [trap=4, pos=20211]
0E67m(82E0000C): LDR R2, SP, CH
0E68m(83E00008): LDR R3, SP, 8H
0E69m(02290003): SUB R2, R2, R3
ELSEn
0E6An(81100020): LDR R1, R1, 20H
0E6Bn(01190002): SUB R1, R1, R2
0E6Cn(A1000020): STR R1, R0, 20H
IFo beg < F.orgp THENq
0E6Do(E7000183): B 387 [0FF1H]
0E6Ep(80E00004): LDR R0, SP, 4H
0E6Fp(D14F1F4C): BLEQ MT [trap=4, pos=20255]
0E70q(81E00008): LDR R1, SP, 8H
0E71q(80000020): LDR R0, R0, 20H
0E72q(01190000): SUB R1, R1, R0
0E73q(ED000018): BGE 24 [0E8CH]
F.trailerr.nexts.lent := F.traileru.nextv.lenw + (F.orgx - beg)y;z
0E74r(80E00004): LDR R0, SP, 4H
0E75r(D14F364C): BLEQ MT [trap=4, pos=20278]
0E76s(80000090): LDR R0, R0, 90H
0E77s(D14F3B4C): BLEQ MT [trap=4, pos=20283]
0E78t(8000000C): LDR R0, R0, CH
0E79t(D14F3F4C): BLEQ MT [trap=4, pos=20287]
0E7Au(81E00004): LDR R1, SP, 4H
0E7Bu(D14F4C4C): BLEQ MT [trap=4, pos=20300]
0E7Cv(81100090): LDR R1, R1, 90H
0E7Dv(D14F514C): BLEQ MT [trap=4, pos=20305]
0E7Ew(8110000C): LDR R1, R1, CH
0E7Fw(D14F554C): BLEQ MT [trap=4, pos=20309]
0E80x(82E00004): LDR R2, SP, 4H
0E81x(D14F5E4C): BLEQ MT [trap=4, pos=20318]
0E82y(82200020): LDR R2, R2, 20H
0E83y(83E00008): LDR R3, SP, 8H
0E84y(02290003): SUB R2, R2, R3
0E85z(81100000): LDR R1, R1, 0H
0E86z(01180002): ADD R1, R1, R2
0E87z(A1000000): STR R1, R0, 0H
F.orga := beg
0E88a(80E00004): LDR R0, SP, 4H
0E89a(D14F744C): BLEQ MT [trap=4, pos=20340]
ENDb;
0E8Ab(81E00008): LDR R1, SP, 8H
0E8Bb(A1000020): STR R1, R0, 20H
org := F.orgc;d L := F.trailere.nextf;g curY := F.Yh + F.Hi -j F.topk -l asr;m
0E8Cc(80E00004): LDR R0, SP, 4H
0E8Dc(D14F994C): BLEQ MT [trap=4, pos=20377]
0E8Ed(80000020): LDR R0, R0, 20H
0E8Fd(A0E00050): STR R0, SP, 50H
0E90e(80E00004): LDR R0, SP, 4H
0E91e(D14FA94C): BLEQ MT [trap=4, pos=20393]
0E92f(80000090): LDR R0, R0, 90H
0E93f(D14FAE4C): BLEQ MT [trap=4, pos=20398]
0E94g(8000000C): LDR R0, R0, CH
0E95g(A0E00044): STR R0, SP, 44H
0E96h(80E00004): LDR R0, SP, 4H
0E97h(D14FBB4C): BLEQ MT [trap=4, pos=20411]
0E98i(81E00004): LDR R1, SP, 4H
0E99i(D14FC14C): BLEQ MT [trap=4, pos=20417]
0E9Aj(8000000C): LDR R0, R0, CH
0E9Bj(81100014): LDR R1, R1, 14H
0E9Cj(00080001): ADD R0, R0, R1
0E9Dk(81E00004): LDR R1, SP, 4H
0E9Ek(D14FC94C): BLEQ MT [trap=4, pos=20425]
0E9Fl(81100034): LDR R1, R1, 34H
0EA0l(00090001): SUB R0, R0, R1
0EA1m .FIXUP D
0EA1m(8D000053): LDR SB, MT, MOD0 [TextFrames]
0EA2m(81D000B4): LDR R1, SB, B4H [data]
0EA3m(00090001): SUB R0, R0, R1
0EA4m(A0E0005C): STR R0, SP, 5CH
WHILE (L # F.trailern)o & (porg + L.lenq <=r beg)s DOt
0EA5n(80E00004): LDR R0, SP, 4H
0EA6n(D14FEB4C): BLEQ MT [trap=4, pos=20459]
0EA7o(81E00044): LDR R1, SP, 44H
0EA8o(80000090): LDR R0, R0, 90H
0EA9o(01190000): SUB R1, R1, R0
0EAAp(E1000018): BEQ 24 [0EC3H]
0EABq(80E00044): LDR R0, SP, 44H
0EACq(D14FFB4C): BLEQ MT [trap=4, pos=20475]
0EADr(81E00050): LDR R1, SP, 50H
0EAEr(80000000): LDR R0, R0, 0H
0EAFr(00180000): ADD R0, R1, R0
0EB0s(81E00008): LDR R1, SP, 8H
0EB1s(00090001): SUB R0, R0, R1
0EB2t(EE000010): BGT 16 [0EC3H]
org := org + L.lenu;v L := L.nextw;x curY := curY - lsp
0EB3u(80E00044): LDR R0, SP, 44H
0EB4u(D150214C): BLEQ MT [trap=4, pos=20513]
0EB5v(81E00050): LDR R1, SP, 50H
0EB6v(80000000): LDR R0, R0, 0H
0EB7v(00180000): ADD R0, R1, R0
0EB8v(A0E00050): STR R0, SP, 50H
0EB9w(80E00044): LDR R0, SP, 44H
0EBAw(D1502E4C): BLEQ MT [trap=4, pos=20526]
0EBBx(8000000C): LDR R0, R0, CH
0EBCx(A0E00044): STR R0, SP, 44H
ENDy;
0EBDy(80E0005C): LDR R0, SP, 5CH
0EBEy .FIXUP D
0EBEy(8D00001D): LDR SB, MT, MOD0 [TextFrames]
0EBFy(81D000B0): LDR R1, SB, B0H [data]
0EC0y(00090001): SUB R0, R0, R1
0EC1y(A0E0005C): STR R0, SP, 5CH
0EC2y(E7FFFFE2): B -30 [0EA5H]
IF L # F.trailerz THENa
0EC3z(80E00004): LDR R0, SP, 4H
0EC4z(D150644C): BLEQ MT [trap=4, pos=20580]
0EC5a(81E00044): LDR R1, SP, 44H
0EC6a(80000090): LDR R0, R0, 90H
0EC7a(01190000): SUB R1, R1, R0
0EC8a(E1000128): BEQ 296 [0FF1H]
botY := F.Yb + F.botc +d dsr;e
0EC9b(80E00004): LDR R0, SP, 4H
0ECAb(D1507D4C): BLEQ MT [trap=4, pos=20605]
0ECBc(81E00004): LDR R1, SP, 4H
0ECCc(D150854C): BLEQ MT [trap=4, pos=20613]
0ECDd(8000000C): LDR R0, R0, CH
0ECEd(81100038): LDR R1, R1, 38H
0ECFd(00080001): ADD R0, R0, R1
0ED0e .FIXUP D
0ED0e(8D000012): LDR SB, MT, MOD0 [TextFrames]
0ED1e(81D000B8): LDR R1, SB, B8H [data]
0ED2e(00080001): ADD R0, R0, R1
0ED3e(A0E00060): STR R0, SP, 60H
org0 := org;f L0 := L;g Y0 := curY;h
0ED4f(80E00050): LDR R0, SP, 50H
0ED5f(A0E00054): STR R0, SP, 54H
0ED6g(80E00044): LDR R0, SP, 44H
0ED7g(A0E00048): STR R0, SP, 48H
0ED8h(80E0005C): LDR R0, SP, 5CH
0ED9h(A0E00064): STR R0, SP, 64H
WHILE (L # F.traileri)j & (korg <= end)l DOm
0EDAi(80E00004): LDR R0, SP, 4H
0EDBi(D150D34C): BLEQ MT [trap=4, pos=20691]
0EDCj(81E00044): LDR R1, SP, 44H
0EDDj(80000090): LDR R0, R0, 90H
0EDEj(01190000): SUB R1, R1, R0
0EDFk(E1000014): BEQ 20 [0EF4H]
0EE0l(80E00050): LDR R0, SP, 50H
0EE1l(81E0000C): LDR R1, SP, CH
0EE2l(00090001): SUB R0, R0, R1
0EE3m(EE000010): BGT 16 [0EF4H]
org := org + L.lenn;o L := L.nextp;q curY := curY - lsp
0EE4n(80E00044): LDR R0, SP, 44H
0EE5n(D151034C): BLEQ MT [trap=4, pos=20739]
0EE6o(81E00050): LDR R1, SP, 50H
0EE7o(80000000): LDR R0, R0, 0H
0EE8o(00180000): ADD R0, R1, R0
0EE9o(A0E00050): STR R0, SP, 50H
0EEAp(80E00044): LDR R0, SP, 44H
0EEBp(D151104C): BLEQ MT [trap=4, pos=20752]
0EECq(8000000C): LDR R0, R0, CH
0EEDq(A0E00044): STR R0, SP, 44H
ENDr;
0EEEr(80E0005C): LDR R0, SP, 5CH
0EEFr .FIXUP D
0EEFr(8D00001F): LDR SB, MT, MOD0 [TextFrames]
0EF0r(81D000B0): LDR R1, SB, B0H [data]
0EF1r(00090001): SUB R0, R0, R1
0EF2r(A0E0005C): STR R0, SP, 5CH
0EF3r(E7FFFFE6): B -26 [0EDAH]
Y1 := curY;s
0EF4s(80E0005C): LDR R0, SP, 5CH
0EF5s(A0E00068): STR R0, SP, 68H
Texts.OpenReader(R,t F.textu,v org0)w;x Texts.Read(R,y nextCh)z;a
0EF6t(40E80010): ADD R0, SP, 10H
0EF7t .FIXUP D
0EF7t(8D600008): LDR SB, MT, MOD6 [Texts]
0EF8t(41D80002): ADD R1, SB, VAR2
0EF9u(82E00004): LDR R2, SP, 4H
0EFAu(D151684C): BLEQ MT [trap=4, pos=20840]
0EFBv(8220001C): LDR R2, R2, 1CH
0EFCw(83E00054): LDR R3, SP, 54H
0EFDx .FIXUP P
0EFDx(F76120C4): BL MOD6 [Texts] PROC18
0EFEy(40E80010): ADD R0, SP, 10H
0EFFy .FIXUP D
0EFFy(8D600008): LDR SB, MT, MOD6 [Texts]
0F00y(41D80002): ADD R1, SB, VAR2
0F01z .FIXUP D
0F01z(8D000002): LDR SB, MT, MOD0 [TextFrames]
0F02z(42D800C8): ADD R2, SB, C8H [data]
0F03a .FIXUP P
0F03a(F7613006): BL MOD6 [Texts] PROC19
len := beg - org0;b wid := Width(R,c len)d;e
0F04b(80E00008): LDR R0, SP, 8H
0F05b(81E00054): LDR R1, SP, 54H
0F06b(00090001): SUB R0, R0, R1
0F07b(A0E00058): STR R0, SP, 58H
0F08c(40E80010): ADD R0, SP, 10H
0F09c .FIXUP D
0F09c(8D600008): LDR SB, MT, MOD6 [Texts]
0F0Ac(41D80002): ADD R1, SB, VAR2
0F0Bd(82E00058): LDR R2, SP, 58H
0F0Ce(F7FFF21C): BL -3556 [0129H]
0F0De(A0E0006C): STR R0, SP, 6CH
ReplConst (F.colf,g F,h F.Xi + F.leftj +k wid,l Y0 - dsr,m L0.widn - wid,o lsp,p Display.replace)q;r
0F0Ef(80E00004): LDR R0, SP, 4H
0F0Ff(D151D14C): BLEQ MT [trap=4, pos=20945]
0F10g(80000024): LDR R0, R0, 24H
0F11h(81E00004): LDR R1, SP, 4H
0F12i(82E00004): LDR R2, SP, 4H
0F13i(D151D94C): BLEQ MT [trap=4, pos=20953]
0F14j(83E00004): LDR R3, SP, 4H
0F15j(D151E24C): BLEQ MT [trap=4, pos=20962]
0F16k(82200008): LDR R2, R2, 8H
0F17k(8330002C): LDR R3, R3, 2CH
0F18k(02280003): ADD R2, R2, R3
0F19l(83E0006C): LDR R3, SP, 6CH
0F1Al(02280003): ADD R2, R2, R3
0F1Bm(83E00064): LDR R3, SP, 64H
0F1Cm .FIXUP D
0F1Cm(8D000013): LDR SB, MT, MOD0 [TextFrames]
0F1Dm(84D000B8): LDR R4, SB, B8H [data]
0F1Em(03390004): SUB R3, R3, R4
0F1Fn(84E00048): LDR R4, SP, 48H
0F20n(D151FA4C): BLEQ MT [trap=4, pos=20986]
0F21o(84400004): LDR R4, R4, 4H
0F22o(85E0006C): LDR R5, SP, 6CH
0F23o(04490005): SUB R4, R4, R5
0F24p(85D000B0): LDR R5, SB, B0H
0F25q(46000000): MOV R6, R0, 0H
0F26r(F7FFF0E7): BL -3865 [000EH]
DisplayLine(F,s L0,t R,u F.Xv + F.leftw +x wid,y Y0,z len)a;b
0F27s(80E00004): LDR R0, SP, 4H
0F28t(81E00048): LDR R1, SP, 48H
0F29u(42E80010): ADD R2, SP, 10H
0F2Au .FIXUP D
0F2Au(8D60000E): LDR SB, MT, MOD6 [Texts]
0F2Bu(43D80002): ADD R3, SB, VAR2
0F2Cv(84E00004): LDR R4, SP, 4H
0F2Dv(D1523A4C): BLEQ MT [trap=4, pos=21050]
0F2Ew(85E00004): LDR R5, SP, 4H
0F2Fw(D152434C): BLEQ MT [trap=4, pos=21059]
0F30x(84400008): LDR R4, R4, 8H
0F31x(8550002C): LDR R5, R5, 2CH
0F32x(04480005): ADD R4, R4, R5
0F33y(85E0006C): LDR R5, SP, 6CH
0F34y(04480005): ADD R4, R4, R5
0F35z(85E00064): LDR R5, SP, 64H
0F36a(86E00058): LDR R6, SP, 58H
0F37b(F7FFF21A): BL -3558 [0152H]
Y0 := Y0 - lsp;c
0F38c(80E00064): LDR R0, SP, 64H
0F39c .FIXUP D
0F39c(8D00000F): LDR SB, MT, MOD0 [TextFrames]
0F3Ac(81D000B0): LDR R1, SB, B0H [data]
0F3Bc(00090001): SUB R0, R0, R1
0F3Cc(A0E00064): STR R0, SP, 64H
IF L # L0.nextd THENe
0F3Dd(80E00048): LDR R0, SP, 48H
0F3Ed(D152834C): BLEQ MT [trap=4, pos=21123]
0F3Fe(81E00044): LDR R1, SP, 44H
0F40e(8000000C): LDR R0, R0, CH
0F41e(01190000): SUB R1, R1, R0
0F42e(E10000AE): BEQ 174 [0FF1H]
L0.nextf := L;g
0F43f(80E00048): LDR R0, SP, 48H
0F44f(D1529A4C): BLEQ MT [trap=4, pos=21146]
0F45g(81E00044): LDR R1, SP, 44H
0F46g(A100000C): STR R1, R0, CH
L := L0;h org := org0 + L0.leni;j
0F47h(80E00048): LDR R0, SP, 48H
0F48h(A0E00044): STR R0, SP, 44H
0F49i(80E00048): LDR R0, SP, 48H
0F4Ai(D152C84C): BLEQ MT [trap=4, pos=21192]
0F4Bj(81E00054): LDR R1, SP, 54H
0F4Cj(80000000): LDR R0, R0, 0H
0F4Dj(00180000): ADD R0, R1, R0
0F4Ej(A0E00050): STR R0, SP, 50H
WHILE L.nextk # F.trailerl DOm
0F4Fk(80E00044): LDR R0, SP, 44H
0F50k(D152E04C): BLEQ MT [trap=4, pos=21216]
0F51l(81E00004): LDR R1, SP, 4H
0F52l(D152EC4C): BLEQ MT [trap=4, pos=21228]
0F53m(8000000C): LDR R0, R0, CH
0F54m(81100090): LDR R1, R1, 90H
0F55m(00090001): SUB R0, R0, R1
0F56m(E1000010): BEQ 16 [0F67H]
L := L.nextn;o org := org + L.lenp;q curY := curY - lsp
0F57n(80E00044): LDR R0, SP, 44H
0F58n(D153074C): BLEQ MT [trap=4, pos=21255]
0F59o(8000000C): LDR R0, R0, CH
0F5Ao(A0E00044): STR R0, SP, 44H
0F5Bp(80E00044): LDR R0, SP, 44H
0F5Cp(D1531B4C): BLEQ MT [trap=4, pos=21275]
0F5Dq(81E00050): LDR R1, SP, 50H
0F5Eq(80000000): LDR R0, R0, 0H
0F5Fq(00180000): ADD R0, R1, R0
0F60q(A0E00050): STR R0, SP, 50H
ENDr;
0F61r(80E0005C): LDR R0, SP, 5CH
0F62r .FIXUP D
0F62r(8D000029): LDR SB, MT, MOD0 [TextFrames]
0F63r(81D000B0): LDR R1, SB, B0H [data]
0F64r(00090001): SUB R0, R0, R1
0F65r(A0E0005C): STR R0, SP, 5CH
0F66r(E7FFFFE8): B -24 [0F4FH]
Display.CopyBlock(F.Xs + F.leftt,u curY + lsp -v dsr,w F.Wx - F.lefty,z Y1 - curY,a
0F67s(80E00004): LDR R0, SP, 4H
0F68s(D1535E4C): BLEQ MT [trap=4, pos=21342]
0F69t(81E00004): LDR R1, SP, 4H
0F6At(D153674C): BLEQ MT [trap=4, pos=21351]
0F6Bu(80000008): LDR R0, R0, 8H
0F6Cu(8110002C): LDR R1, R1, 2CH
0F6Du(00080001): ADD R0, R0, R1
0F6Ev(81E0005C): LDR R1, SP, 5CH
0F6Fv .FIXUP D
0F6Fv(8D00000D): LDR SB, MT, MOD0 [TextFrames]
0F70v(82D000B0): LDR R2, SB, B0H [data]
0F71v(01180002): ADD R1, R1, R2
0F72w(82D000B8): LDR R2, SB, B8H
0F73w(01190002): SUB R1, R1, R2
0F74x(82E00004): LDR R2, SP, 4H
0F75x(D1537E4C): BLEQ MT [trap=4, pos=21374]
0F76y(83E00004): LDR R3, SP, 4H
0F77y(D153874C): BLEQ MT [trap=4, pos=21383]
0F78z(82200010): LDR R2, R2, 10H
0F79z(8330002C): LDR R3, R3, 2CH
0F7Az(02290003): SUB R2, R2, R3
0F7Ba(83E00068): LDR R3, SP, 68H
0F7Ca(84E0005C): LDR R4, SP, 5CH
0F7Da(03390004): SUB R3, R3, R4
F.Xb + F.leftc,d curY + lsp -e dsr +f (Y0 - Y1)g,h 0)i;j
0F7Eb(84E00004): LDR R4, SP, 4H
0F7Fb(D153A54C): BLEQ MT [trap=4, pos=21413]
0F80c(85E00004): LDR R5, SP, 4H
0F81c(D153AE4C): BLEQ MT [trap=4, pos=21422]
0F82d(84400008): LDR R4, R4, 8H
0F83d(8550002C): LDR R5, R5, 2CH
0F84d(04480005): ADD R4, R4, R5
0F85e(85E0005C): LDR R5, SP, 5CH
0F86e(86D000B0): LDR R6, SB, B0H
0F87e(05580006): ADD R5, R5, R6
0F88f(86D000B8): LDR R6, SB, B8H
0F89f(05590006): SUB R5, R5, R6
0F8Ag(86E00064): LDR R6, SP, 64H
0F8Bg(87E00068): LDR R7, SP, 68H
0F8Cg(06690007): SUB R6, R6, R7
0F8Dh(05580006): ADD R5, R5, R6
0F8Ei(46000000): MOV R6, R0, 0H
0F8Fj .FIXUP P
0F8Fj(F731108C): BL MOD3 [Display] PROC17
curY := curY + (Y0 - Y1)k;l
0F90k(80E00064): LDR R0, SP, 64H
0F91k(81E00068): LDR R1, SP, 68H
0F92k(00090001): SUB R0, R0, R1
0F93l(81E0005C): LDR R1, SP, 5CH
0F94l(00180000): ADD R0, R1, R0
0F95l(A0E0005C): STR R0, SP, 5CH
Display.ReplConst (F.colm,n F.Xo + F.leftp,q F.Yr,s F.Wt - F.leftu,v curY + lsp -w (F.Yx + dsr)y,z Display.replace)a;b
0F96m(80E00004): LDR R0, SP, 4H
0F97m(D154184C): BLEQ MT [trap=4, pos=21528]
0F98n(80000024): LDR R0, R0, 24H
0F99o(81E00004): LDR R1, SP, 4H
0F9Ao(D1541D4C): BLEQ MT [trap=4, pos=21533]
0F9Bp(82E00004): LDR R2, SP, 4H
0F9Cp(D154264C): BLEQ MT [trap=4, pos=21542]
0F9Dq(81100008): LDR R1, R1, 8H
0F9Eq(8220002C): LDR R2, R2, 2CH
0F9Fq(01180002): ADD R1, R1, R2
0FA0r(82E00004): LDR R2, SP, 4H
0FA1r(D1542B4C): BLEQ MT [trap=4, pos=21547]
0FA2s(8220000C): LDR R2, R2, CH
0FA3t(83E00004): LDR R3, SP, 4H
0FA4t(D154304C): BLEQ MT [trap=4, pos=21552]
0FA5u(84E00004): LDR R4, SP, 4H
0FA6u(D154394C): BLEQ MT [trap=4, pos=21561]
0FA7v(83300010): LDR R3, R3, 10H
0FA8v(8440002C): LDR R4, R4, 2CH
0FA9v(03390004): SUB R3, R3, R4
0FAAw(84E0005C): LDR R4, SP, 5CH
0FABw .FIXUP D
0FABw(8D00003C): LDR SB, MT, MOD0 [TextFrames]
0FACw(85D000B0): LDR R5, SB, B0H [data]
0FADw(04480005): ADD R4, R4, R5
0FAEx(85E00004): LDR R5, SP, 4H
0FAFx(D1544C4C): BLEQ MT [trap=4, pos=21580]
0FB0y(8550000C): LDR R5, R5, CH
0FB1y(86D000B8): LDR R6, SB, B8H
0FB2y(05580006): ADD R5, R5, R6
0FB3z(04490005): SUB R4, R4, R5
0FB4a(45000000): MOV R5, R0, 0H
0FB5b .FIXUP P
0FB5b(F730F026): BL MOD3 [Display] PROC15
Texts.OpenReader(R,c F.textd,e org)f;g Texts.Read(R,h nextCh)i;j
0FB6c(40E80010): ADD R0, SP, 10H
0FB7c .FIXUP D
0FB7c(8D60000C): LDR SB, MT, MOD6 [Texts]
0FB8c(41D80002): ADD R1, SB, VAR2
0FB9d(82E00004): LDR R2, SP, 4H
0FBAd(D1548B4C): BLEQ MT [trap=4, pos=21643]
0FBBe(8220001C): LDR R2, R2, 1CH
0FBCf(83E00050): LDR R3, SP, 50H
0FBDg .FIXUP P
0FBDg(F7612008): BL MOD6 [Texts] PROC18
0FBEh(40E80010): ADD R0, SP, 10H
0FBFh .FIXUP D
0FBFh(8D600008): LDR SB, MT, MOD6 [Texts]
0FC0h(41D80002): ADD R1, SB, VAR2
0FC1i .FIXUP D
0FC1i(8D000002): LDR SB, MT, MOD0 [TextFrames]
0FC2i(42D800C8): ADD R2, SB, C8H [data]
0FC3j .FIXUP P
0FC3j(F7613006): BL MOD6 [Texts] PROC19
WHILE ~L.eotk &l (mcurY >= botY)n DOo
0FC4k(80E00044): LDR R0, SP, 44H
0FC5k(D154C04C): BLEQ MT [trap=4, pos=21696]
0FC6l(90000008): LDR R0, R0, 8H
0FC7m(E9000023): BNE 35 [0FEBH]
0FC8n(80E0005C): LDR R0, SP, 5CH
0FC9n(81E00060): LDR R1, SP, 60H
0FCAn(00090001): SUB R0, R0, R1
0FCBo(E500001F): BLT 31 [0FEBH]
NEW(l);p
0FCCp(40E8004C): ADD R0, SP, 4CH
0FCDp .FIXUP D
0FCDp(8D00000C): LDR SB, MT, MOD0 [TextFrames]
0FCEp(41D80000): ADD R1, SB, 0H [data]
0FCFp(D754E80C): BL MT [trap=0, pos=21736]
DisplayLine(F,q l,r R,s F.Xt + F.leftu,v curY,w 0)x;y
0FD0q(80E00004): LDR R0, SP, 4H
0FD1r(81E0004C): LDR R1, SP, 4CH
0FD2s(42E80010): ADD R2, SP, 10H
0FD3s .FIXUP D
0FD3s(8D600006): LDR SB, MT, MOD6 [Texts]
0FD4s(43D80002): ADD R3, SB, VAR2
0FD5t(84E00004): LDR R4, SP, 4H
0FD6t(D1550D4C): BLEQ MT [trap=4, pos=21773]
0FD7u(85E00004): LDR R5, SP, 4H
0FD8u(D155164C): BLEQ MT [trap=4, pos=21782]
0FD9v(84400008): LDR R4, R4, 8H
0FDAv(8550002C): LDR R5, R5, 2CH
0FDBv(04480005): ADD R4, R4, R5
0FDCw(85E0005C): LDR R5, SP, 5CH
0FDDx(46000000): MOV R6, R0, 0H
0FDEy(F7FFF173): BL -3725 [0152H]
L.nextz := l;a L := l;b curY := curY - lsp
0FDFz(80E00044): LDR R0, SP, 44H
0FE0z(D155344C): BLEQ MT [trap=4, pos=21812]
0FE1a(81E0004C): LDR R1, SP, 4CH
0FE2a(A100000C): STR R1, R0, CH
0FE3b(80E0004C): LDR R0, SP, 4CH
0FE4b(A0E00044): STR R0, SP, 44H
ENDc;
0FE5c(80E0005C): LDR R0, SP, 5CH
0FE6c .FIXUP D
0FE6c(8D000013): LDR SB, MT, MOD0 [TextFrames]
0FE7c(81D000B0): LDR R1, SB, B0H [data]
0FE8c(00090001): SUB R0, R0, R1
0FE9c(A0E0005C): STR R0, SP, 5CH
0FEAc(E7FFFFD9): B -39 [0FC4H]
L.nextd := F.trailere
0FEBd(80E00044): LDR R0, SP, 44H
0FECd(D155754C): BLEQ MT [trap=4, pos=21877]
0FEDe(81E00004): LDR R1, SP, 4H
0FEEe(D155824C): BLEQ MT [trap=4, pos=21890]
ENDf
0FEFf(81100090): LDR R1, R1, 90H
0FF0f(A100000C): STR R1, R0, CH
END
END;
UpdateMark(F)g
0FF1g(80E00004): LDR R0, SP, 4H
ENDh Delete;
0FF2h(F7FFF0A2): BL -3934 [0095H]
0FF3h(8FE00000): LDR LNK, SP, 0H
0FF4h(4EE80070): ADD SP, SP, 70H
0FF5h(C700000F): B LNK
PROCEDURE Recall*(VAR B: Texts.Buffer);
BEGINi B := TBuf;j NEW(TBuf);k Texts.OpenBuf(TBuf)l
0FF6i .PROC 30
0FF6i(4EE90008): SUB SP, SP, 8H
0FF7i(AFE00000): STR LNK, SP, 0H
0FF8i(A0E00004): STR R0, SP, 4H
0FF9j .FIXUP D
0FF9j(8D000013): LDR SB, MT, MOD0 [TextFrames]
0FFAj(80D00090): LDR R0, SB, 90H [data]
0FFBj(81E00004): LDR R1, SP, 4H
0FFCj(A0100000): STR R0, R1, 0H
0FFDk(40D80090): ADD R0, SB, 90H
0FFEk .FIXUP D
0FFEk(8D600005): LDR SB, MT, MOD6 [Texts]
0FFFk(41D80004): ADD R1, SB, VAR4
1000k(D7560A0C): BL MT [trap=0, pos=22026]
1001l .FIXUP D
1001l(8D000003): LDR SB, MT, MOD0 [TextFrames]
1002l(80D00090): LDR R0, SB, 90H [data]
ENDm Recall;
1003m .FIXUP P
1003m(F760A040): BL MOD6 [Texts] PROC10
1004m(8FE00000): LDR LNK, SP, 0H
1005m(4EE80008): ADD SP, SP, 8H
1006m(C700000F): B LNK
(*------------------message handling------------------------*)
PROCEDURE RemoveMarks (F: Frame);
BEGINn RemoveCaret(F)o;p RemoveSelection(F)q
1007n(4EE90008): SUB SP, SP, 8H
1008n(AFE00000): STR LNK, SP, 0H
1009n(A0E00004): STR R0, SP, 4H
100Ao(80E00004): LDR R0, SP, 4H
100Bp(F7FFF893): BL -1901 [089FH]
100Cq(80E00004): LDR R0, SP, 4H
ENDr RemoveMarks;
100Dr(F7FFFA60): BL -1440 [0A6EH]
100Er(8FE00000): LDR LNK, SP, 0H
100Fr(4EE80008): ADD SP, SP, 8H
1010r(C700000F): B LNK
PROCEDURE NotifyDisplay* (T: Texts.Text; op: INTEGER; beg, end: LONGINT);
VAR M: UpdateMsg;
BEGINs M.id := op;t M.text := T;u M.beg := beg;v M.end := end;w Viewers.Broadcast(M)x
1011s .PROC 31
1011s(4EE90024): SUB SP, SP, 24H
1012s(AFE00000): STR LNK, SP, 0H
1013s(A0E00004): STR R0, SP, 4H
1014s(A1E00008): STR R1, SP, 8H
1015s(A2E0000C): STR R2, SP, CH
1016s(A3E00010): STR R3, SP, 10H
1017t(80E00008): LDR R0, SP, 8H
1018t(A0E00014): STR R0, SP, 14H
1019u(80E00004): LDR R0, SP, 4H
101Au(A0E00018): STR R0, SP, 18H
101Bv(80E0000C): LDR R0, SP, CH
101Cv(A0E0001C): STR R0, SP, 1CH
101Dw(80E00010): LDR R0, SP, 10H
101Ew(A0E00020): STR R0, SP, 20H
101Fx(40E80014): ADD R0, SP, 14H
1020x .FIXUP D
1020x(8D00001F): LDR SB, MT, MOD0 [TextFrames]
1021x(41D80060): ADD R1, SB, 60H [data]
ENDy NotifyDisplay;
1022y .FIXUP P
1022y(F740F01F): BL MOD4 [Viewers] PROC15
1023y(8FE00000): LDR LNK, SP, 0H
1024y(4EE80024): ADD SP, SP, 24H
1025y(C700000F): B LNK
PROCEDURE Call* (F: Frame; pos: LONGINT; new: BOOLEAN);
VAR S: Texts.Scanner; res: INTEGER;
BEGINz
1026z .PROC 32
1026z(4EE90088): SUB SP, SP, 88H
1027z(AFE00000): STR LNK, SP, 0H
1028z(A0E00004): STR R0, SP, 4H
1029z(A1E00008): STR R1, SP, 8H
102Az(A2E0000C): STR R2, SP, CH
Texts.OpenScanner(S,a F.textb,c pos)d;e Texts.Scan(S)f;g
102Ba(40E80010): ADD R0, SP, 10H
102Ca .FIXUP D
102Ca(8D60000C): LDR SB, MT, MOD6 [Texts]
102Da(41D80003): ADD R1, SB, VAR3
102Eb(82E00004): LDR R2, SP, 4H
102Fb(D158264C): BLEQ MT [trap=4, pos=22566]
1030c(8220001C): LDR R2, R2, 1CH
1031d(83E00008): LDR R3, SP, 8H
1032e .FIXUP P
1032e(F7615010): BL MOD6 [Texts] PROC21
1033f(40E80010): ADD R0, SP, 10H
1034f .FIXUP D
1034f(8D600008): LDR SB, MT, MOD6 [Texts]
1035f(41D80003): ADD R1, SB, VAR3
1036g .FIXUP P
1036g(F7616004): BL MOD6 [Texts] PROC22
IF (S.class = Texts.Name)h & (iS.line = 0)j THENk
1037h(80E0004C): LDR R0, SP, 4CH
1038h(40090001): SUB R0, R0, 1H
1039i(E9000082): BNE 130 [10BCH]
103Aj(80E00048): LDR R0, SP, 48H
103Bk(E9000080): BNE 128 [10BCH]
Oberon.SetPar(F,l F.textm,n pos + S.len)o;p Oberon.Call(S.s,q res)r;s
103Cl(80E00004): LDR R0, SP, 4H
103Dm(81E00004): LDR R1, SP, 4H
103Em(D1588C4C): BLEQ MT [trap=4, pos=22668]
103Fn(8110001C): LDR R1, R1, 1CH
1040o(82E00008): LDR R2, SP, 8H
1041o(83E00060): LDR R3, SP, 60H
1042o(02280003): ADD R2, R2, R3
1043p .FIXUP P
1043p(F782700D): BL MOD8 [Oberon] PROC39
1044q(40E80064): ADD R0, SP, 64H
1045q(41000020): MOV R1, R0, 20H
1046r(42E80084): ADD R2, SP, 84H
1047s .FIXUP P
1047s(F7828004): BL MOD8 [Oberon] PROC40
IF res > 0 THENt
1048t(80E00084): LDR R0, SP, 84H
1049t(40090000): SUB R0, R0, 0H
104At(E6000071): BLE 113 [10BCH]
Texts.WriteString(W,u "Call error: ")v;w Texts.WriteString(W,x Modules.importing)y;z
104Bu .FIXUP D
104Bu(8D000017): LDR SB, MT, MOD0 [TextFrames]
104Cu(40D800D4): ADD R0, SB, D4H [data]
104Du .FIXUP D
104Du(8D600002): LDR SB, MT, MOD6 [Texts]
104Eu(41D80005): ADD R1, SB, VAR5
104Fv .FIXUP D
104Fv(8D000002): LDR SB, MT, MOD0 [TextFrames]
1050v(42D80124): ADD R2, SB, 124H ["Call error: "]
1051v(4300000D): MOV R3, R0, DH
1052w .FIXUP P
1052w(F761D00B): BL MOD6 [Texts] PROC29
1053x .FIXUP D
1053x(8D000004): LDR SB, MT, MOD0 [TextFrames]
1054x(40D800D4): ADD R0, SB, D4H [data]
1055x .FIXUP D
1055x(8D600002): LDR SB, MT, MOD6 [Texts]
1056x(41D80005): ADD R1, SB, VAR5
1057y .FIXUP D
1057y(8D100002): LDR SB, MT, MOD1 [Modules]
1058y(42D80006): ADD R2, SB, VAR6
1059y(43000020): MOV R3, R0, 20H
105Az .FIXUP P
105Az(F761D008): BL MOD6 [Texts] PROC29
IF res = 1 THENa Texts.WriteString(W,b " module not found")c
105Ba(80E00084): LDR R0, SP, 84H
105Ca(40090001): SUB R0, R0, 1H
105Da(E9000009): BNE 9 [1067H]
105Eb .FIXUP D
105Eb(8D000007): LDR SB, MT, MOD0 [TextFrames]
105Fb(40D800D4): ADD R0, SB, D4H [data]
1060b .FIXUP D
1060b(8D600002): LDR SB, MT, MOD6 [Texts]
1061b(41D80005): ADD R1, SB, VAR5
1062c .FIXUP D
1062c(8D000002): LDR SB, MT, MOD0 [TextFrames]
1063c(42D80134): ADD R2, SB, 134H [" module not found"]
1064c(43000012): MOV R3, R0, 12H
ELSIFd rese = 2 THENf Texts.WriteString(W,g " bad version")h
1065d .FIXUP P
1065d(F761D00B): BL MOD6 [Texts] PROC29
1066e(E700004B): B 75 [10B2H]
1067f(80E00084): LDR R0, SP, 84H
1068f(40090002): SUB R0, R0, 2H
1069f(E9000009): BNE 9 [1073H]
106Ag .FIXUP D
106Ag(8D000008): LDR SB, MT, MOD0 [TextFrames]
106Bg(40D800D4): ADD R0, SB, D4H [data]
106Cg .FIXUP D
106Cg(8D600002): LDR SB, MT, MOD6 [Texts]
106Dg(41D80005): ADD R1, SB, VAR5
106Eh .FIXUP D
106Eh(8D000002): LDR SB, MT, MOD0 [TextFrames]
106Fh(42D80148): ADD R2, SB, 148H [" bad version"]
1070h(4300000D): MOV R3, R0, DH
ELSIFi resj = 3 THENk Texts.WriteString(W,l " imports ")m;n
1071i .FIXUP P
1071i(F761D00C): BL MOD6 [Texts] PROC29
1072j(E700003F): B 63 [10B2H]
1073k(80E00084): LDR R0, SP, 84H
1074k(40090003): SUB R0, R0, 3H
1075k(E9000019): BNE 25 [108FH]
1076l .FIXUP D
1076l(8D000008): LDR SB, MT, MOD0 [TextFrames]
1077l(40D800D4): ADD R0, SB, D4H [data]
1078l .FIXUP D
1078l(8D600002): LDR SB, MT, MOD6 [Texts]
1079l(41D80005): ADD R1, SB, VAR5
107Am .FIXUP D
107Am(8D000002): LDR SB, MT, MOD0 [TextFrames]
107Bm(42D80158): ADD R2, SB, 158H [" imports "]
107Cm(4300000A): MOV R3, R0, AH
107Dn .FIXUP P
107Dn(F761D00C): BL MOD6 [Texts] PROC29
Texts.WriteString(W,o Modules.imported)p;q Texts.WriteString(W,r " with bad key")s;t
107Eo .FIXUP D
107Eo(8D000004): LDR SB, MT, MOD0 [TextFrames]
107Fo(40D800D4): ADD R0, SB, D4H [data]
1080o .FIXUP D
1080o(8D600002): LDR SB, MT, MOD6 [Texts]
1081o(41D80005): ADD R1, SB, VAR5
1082p .FIXUP D
1082p(8D100002): LDR SB, MT, MOD1 [Modules]
1083p(42D80007): ADD R2, SB, VAR7
1084p(43000020): MOV R3, R0, 20H
1085q .FIXUP P
1085q(F761D008): BL MOD6 [Texts] PROC29
1086r .FIXUP D
1086r(8D000004): LDR SB, MT, MOD0 [TextFrames]
1087r(40D800D4): ADD R0, SB, D4H [data]
1088r .FIXUP D
1088r(8D600002): LDR SB, MT, MOD6 [Texts]
1089r(41D80005): ADD R1, SB, VAR5
108As .FIXUP D
108As(8D000002): LDR SB, MT, MOD0 [TextFrames]
108Bs(42D80164): ADD R2, SB, 164H [" with bad key"]
108Cs(4300000E): MOV R3, R0, EH
108Dt .FIXUP P
108Dt(F761D008): BL MOD6 [Texts] PROC29
ELSIF resu = 4 THENv Texts.WriteString(W,w " corrupted obj file")x
108Eu(E7000023): B 35 [10B2H]
108Fv(80E00084): LDR R0, SP, 84H
1090v(40090004): SUB R0, R0, 4H
1091v(E9000009): BNE 9 [109BH]
1092w .FIXUP D
1092w(8D000008): LDR SB, MT, MOD0 [TextFrames]
1093w(40D800D4): ADD R0, SB, D4H [data]
1094w .FIXUP D
1094w(8D600002): LDR SB, MT, MOD6 [Texts]
1095w(41D80005): ADD R1, SB, VAR5
1096x .FIXUP D
1096x(8D000002): LDR SB, MT, MOD0 [TextFrames]
1097x(42D80174): ADD R2, SB, 174H [" corrupted obj file"]
1098x(43000014): MOV R3, R0, 14H
ELSIFy resz = 5 THENa Texts.WriteString(W,b " command not found")c
1099y .FIXUP P
1099y(F761D00C): BL MOD6 [Texts] PROC29
109Az(E7000017): B 23 [10B2H]
109Ba(80E00084): LDR R0, SP, 84H
109Ca(40090005): SUB R0, R0, 5H
109Da(E9000009): BNE 9 [10A7H]
109Eb .FIXUP D
109Eb(8D000008): LDR SB, MT, MOD0 [TextFrames]
109Fb(40D800D4): ADD R0, SB, D4H [data]
10A0b .FIXUP D
10A0b(8D600002): LDR SB, MT, MOD6 [Texts]
10A1b(41D80005): ADD R1, SB, VAR5
10A2c .FIXUP D
10A2c(8D000002): LDR SB, MT, MOD0 [TextFrames]
10A3c(42D80188): ADD R2, SB, 188H [" command not found"]
10A4c(43000013): MOV R3, R0, 13H
ELSIFd rese = 7 THENf Texts.WriteString(W,g " insufficient space")h
10A5d .FIXUP P
10A5d(F761D00C): BL MOD6 [Texts] PROC29
10A6e(E700000B): B 11 [10B2H]
10A7f(80E00084): LDR R0, SP, 84H
10A8f(40090007): SUB R0, R0, 7H
10A9f(E9000008): BNE 8 [10B2H]
10AAg .FIXUP D
10AAg(8D000008): LDR SB, MT, MOD0 [TextFrames]
10ABg(40D800D4): ADD R0, SB, D4H [data]
10ACg .FIXUP D
10ACg(8D600002): LDR SB, MT, MOD6 [Texts]
10ADg(41D80005): ADD R1, SB, VAR5
10AEh .FIXUP D
10AEh(8D000002): LDR SB, MT, MOD0 [TextFrames]
10AFh(42D8019C): ADD R2, SB, 19CH [" insufficient space"]
10B0h(43000014): MOV R3, R0, 14H
ENDi;
10B1i .FIXUP P
10B1i(F761D00C): BL MOD6 [Texts] PROC29
Texts.WriteLn(W)j;k Texts.Append(Oberon.Log,l W.buf)m
10B2j .FIXUP D
10B2j(8D000004): LDR SB, MT, MOD0 [TextFrames]
10B3j(40D800D4): ADD R0, SB, D4H [data]
10B4j .FIXUP D
10B4j(8D600002): LDR SB, MT, MOD6 [Texts]
10B5j(41D80005): ADD R1, SB, VAR5
10B6k .FIXUP P
10B6k(F761C005): BL MOD6 [Texts] PROC28
10B7l .FIXUP D
10B7l(8D800003): LDR SB, MT, MOD8 [Oberon]
10B8l(80D0000D): LDR R0, SB, VAR13
10B9m .FIXUP D
10B9m(8D000002): LDR SB, MT, MOD0 [TextFrames]
10BAm(81D000D4): LDR R1, SB, D4H [data]
ENDn
10BBn .FIXUP P
10BBn(F760E005): BL MOD6 [Texts] PROC14
END
ENDo Call;
10BCo(8FE00000): LDR LNK, SP, 0H
10BDo(4EE80088): ADD SP, SP, 88H
10BEo(C700000F): B LNK
PROCEDURE Write* (F: Frame; ch: CHAR; fnt: Fonts.Font; col, voff: INTEGER);
VAR buf: Texts.Buffer;
BEGINp (*F.hasCar*)
10BFp .PROC 33
10BFp(4EE9001C): SUB SP, SP, 1CH
10C0p(AFE00000): STR LNK, SP, 0H
10C1p(A0E00004): STR R0, SP, 4H
10C2p(A1E00008): STR R1, SP, 8H
10C3p(A2E0000C): STR R2, SP, CH
10C4p(A3E00010): STR R3, SP, 10H
10C5p(A4E00014): STR R4, SP, 14H
IF ch = BS THENq (*backspace*)
10C6q(90E00008): LDR R0, SP, 8H
10C7q(40090008): SUB R0, R0, 8H
10C8q(E900001C): BNE 28 [10E5H]
IF F.carlocr.pos > F.orgs THENt
10C9r(80E00004): LDR R0, SP, 4H
10CAr(D15C264C): BLEQ MT [trap=4, pos=23590]
10CBs(81E00004): LDR R1, SP, 4H
10CCs(D15C324C): BLEQ MT [trap=4, pos=23602]
10CDt(8000004C): LDR R0, R0, 4CH
10CEt(81100020): LDR R1, R1, 20H
10CFt(00090001): SUB R0, R0, R1
10D0t(E6000013): BLE 19 [10E4H]
Texts.Delete(F.textu,v F.carlocw.pos - 1,x F.carlocy.pos,z DelBuf)a;b SetCaret(F,c F.carlocd.pos - 1)e
10D1u(80E00004): LDR R0, SP, 4H
10D2u(D15C534C): BLEQ MT [trap=4, pos=23635]
10D3v(8000001C): LDR R0, R0, 1CH
10D4w(81E00004): LDR R1, SP, 4H
10D5w(D15C5D4C): BLEQ MT [trap=4, pos=23645]
10D6x(8110004C): LDR R1, R1, 4CH
10D7x(41190001): SUB R1, R1, 1H
10D8y(82E00004): LDR R2, SP, 4H
10D9y(D15C6F4C): BLEQ MT [trap=4, pos=23663]
10DAz(8220004C): LDR R2, R2, 4CH
10DBa .FIXUP D
10DBa(8D000022): LDR SB, MT, MOD0 [TextFrames]
10DCa(83D00094): LDR R3, SB, 94H [data]
10DDb .FIXUP P
10DDb(F760F022): BL MOD6 [Texts] PROC15
10DEc(80E00004): LDR R0, SP, 4H
10DFd(81E00004): LDR R1, SP, 4H
10E0d(D15C924C): BLEQ MT [trap=4, pos=23698]
10E1e(8110004C): LDR R1, R1, 4CH
10E2e(41190001): SUB R1, R1, 1H
ENDf
10E3f(F7FFF746): BL -2234 [082AH]
ELSIF chg = 3X THENh (* ctrl-c copy*)
10E4g(E7000080): B 128 [1165H]
10E5h(90E00008): LDR R0, SP, 8H
10E6h(40090003): SUB R0, R0, 3H
10E7h(E9000019): BNE 25 [1101H]
IF F.hasSeli THENj
10E8i(80E00004): LDR R0, SP, 4H
10E9i(D15CE04C): BLEQ MT [trap=4, pos=23776]
10EAj(90000045): LDR R0, R0, 45H
10EBj(E1000014): BEQ 20 [1100H]
NEW(TBuf);k Texts.OpenBuf(TBuf)l;m Texts.Save(F.textn,o F.selbegp.pos,q F.selendr.pos,s TBuf)t
10ECk .FIXUP D
10ECk(8D000011): LDR SB, MT, MOD0 [TextFrames]
10EDk(40D80090): ADD R0, SB, 90H [data]
10EEk .FIXUP D
10EEk(8D600002): LDR SB, MT, MOD6 [Texts]
10EFk(41D80004): ADD R1, SB, VAR4
10F0k(D75CF80C): BL MT [trap=0, pos=23800]
10F1l .FIXUP D
10F1l(8D000003): LDR SB, MT, MOD0 [TextFrames]
10F2l(80D00090): LDR R0, SB, 90H [data]
10F3m .FIXUP P
10F3m(F760A016): BL MOD6 [Texts] PROC10
10F4n(80E00004): LDR R0, SP, 4H
10F5n(D15D1F4C): BLEQ MT [trap=4, pos=23839]
10F6o(8000001C): LDR R0, R0, 1CH
10F7p(81E00004): LDR R1, SP, 4H
10F8p(D15D294C): BLEQ MT [trap=4, pos=23849]
10F9q(81100064): LDR R1, R1, 64H
10FAr(82E00004): LDR R2, SP, 4H
10FBr(D15D374C): BLEQ MT [trap=4, pos=23863]
10FCs(8220007C): LDR R2, R2, 7CH
10FDt .FIXUP D
10FDt(8D00000C): LDR SB, MT, MOD0 [TextFrames]
10FEt(83D00090): LDR R3, SB, 90H [data]
ENDu
10FFu .FIXUP P
10FFu(F760B00C): BL MOD6 [Texts] PROC11
ELSIF chv = 16X THENw (*ctrl-v paste*)
1100v(E7000064): B 100 [1165H]
1101w(90E00008): LDR R0, SP, 8H
1102w(40090016): SUB R0, R0, 16H
1103w(E900001D): BNE 29 [1121H]
NEW(buf);x Texts.OpenBuf(buf)y;z Texts.Copy(TBuf,a buf)b;c Texts.Insert(F.textd,e F.carlocf.pos,g buf)h;i
1104x(40E80018): ADD R0, SP, 18H
1105x .FIXUP D
1105x(8D600008): LDR SB, MT, MOD6 [Texts]
1106x(41D80004): ADD R1, SB, VAR4
1107x(D75D860C): BL MT [trap=0, pos=23942]
1108y(80E00018): LDR R0, SP, 18H
1109z .FIXUP P
1109z(F760A00A): BL MOD6 [Texts] PROC10
110Aa .FIXUP D
110Aa(8D000005): LDR SB, MT, MOD0 [TextFrames]
110Ba(80D00090): LDR R0, SB, 90H [data]
110Cb(81E00018): LDR R1, SP, 18H
110Dc .FIXUP P
110Dc(F760C004): BL MOD6 [Texts] PROC12
110Ed(80E00004): LDR R0, SP, 4H
110Fd(D15DC54C): BLEQ MT [trap=4, pos=24005]
1110e(8000001C): LDR R0, R0, 1CH
1111f(81E00004): LDR R1, SP, 4H
1112f(D15DCF4C): BLEQ MT [trap=4, pos=24015]
1113g(8110004C): LDR R1, R1, 4CH
1114h(82E00018): LDR R2, SP, 18H
1115i .FIXUP P
1115i(F760D008): BL MOD6 [Texts] PROC13
SetCaret(F,j F.carlock.pos + TBuf.lenl)m
1116j(80E00004): LDR R0, SP, 4H
1117k(81E00004): LDR R1, SP, 4H
1118k(D15DF54C): BLEQ MT [trap=4, pos=24053]
1119l .FIXUP D
1119l(8D00000F): LDR SB, MT, MOD0 [TextFrames]
111Al(82D00090): LDR R2, SB, 90H [data]
111Bl(D15E044C): BLEQ MT [trap=4, pos=24068]
111Cm(8110004C): LDR R1, R1, 4CH
111Dm(82200000): LDR R2, R2, 0H
111Em(01180002): ADD R1, R1, R2
ELSIFn cho = 18X THENp (*ctrl-x, cut*)
111Fn(F7FFF70A): BL -2294 [082AH]
1120o(E7000044): B 68 [1165H]
1121p(90E00008): LDR R0, SP, 8H
1122p(40090018): SUB R0, R0, 18H
1123p(E9000019): BNE 25 [113DH]
IF F.hasSelq THENr
1124q(80E00004): LDR R0, SP, 4H
1125q(D15E404C): BLEQ MT [trap=4, pos=24128]
1126r(90000045): LDR R0, R0, 45H
1127r(E1000014): BEQ 20 [113CH]
NEW(TBuf);s Texts.OpenBuf(TBuf)t;u Texts.Delete(F.textv,w F.selbegx.pos,y F.selendz.pos,a TBuf)b
1128s .FIXUP D
1128s(8D00000F): LDR SB, MT, MOD0 [TextFrames]
1129s(40D80090): ADD R0, SB, 90H [data]
112As .FIXUP D
112As(8D600002): LDR SB, MT, MOD6 [Texts]
112Bs(41D80004): ADD R1, SB, VAR4
112Cs(D75E580C): BL MT [trap=0, pos=24152]
112Dt .FIXUP D
112Dt(8D000003): LDR SB, MT, MOD0 [TextFrames]
112Et(80D00090): LDR R0, SB, 90H [data]
112Fu .FIXUP P
112Fu(F760A01A): BL MOD6 [Texts] PROC10
1130v(80E00004): LDR R0, SP, 4H
1131v(D15E814C): BLEQ MT [trap=4, pos=24193]
1132w(8000001C): LDR R0, R0, 1CH
1133x(81E00004): LDR R1, SP, 4H
1134x(D15E8B4C): BLEQ MT [trap=4, pos=24203]
1135y(81100064): LDR R1, R1, 64H
1136z(82E00004): LDR R2, SP, 4H
1137z(D15E994C): BLEQ MT [trap=4, pos=24217]
1138a(8220007C): LDR R2, R2, 7CH
1139b .FIXUP D
1139b(8D00000C): LDR SB, MT, MOD0 [TextFrames]
113Ab(83D00090): LDR R3, SB, 90H [data]
ENDc
113Bc .FIXUP P
113Bc(F760F00C): BL MOD6 [Texts] PROC15
ELSIF (d20X <= ch)e & (fch <= DEL)g OR (hch = CR)i OR (jch = TAB)k THENl
113Cd(E7000028): B 40 [1165H]
113De(40000020): MOV R0, R0, 20H
113Ee(91E00008): LDR R1, SP, 8H
113Fe(00090001): SUB R0, R0, R1
1140f(EE000003): BGT 3 [1144H]
1141g(90E00008): LDR R0, SP, 8H
1142g(4009007F): SUB R0, R0, 7FH
1143h(E6000006): BLE 6 [114AH]
1144i(90E00008): LDR R0, SP, 8H
1145i(4009000D): SUB R0, R0, DH
1146j(E1000003): BEQ 3 [114AH]
1147k(90E00008): LDR R0, SP, 8H
1148k(40090009): SUB R0, R0, 9H
1149l(E900001B): BNE 27 [1165H]
KW.fnt := fnt;m KW.col := col;n KW.voff := voff;o Texts.Write(KW,p ch)q;r
114Am(80E0000C): LDR R0, SP, CH
114Bm .FIXUP D
114Bm(8D000012): LDR SB, MT, MOD0 [TextFrames]
114Cm(A0D00100): STR R0, SB, 100H [data]
114Dn(80E00010): LDR R0, SP, 10H
114En(A0D00104): STR R0, SB, 104H
114Fo(80E00014): LDR R0, SP, 14H
1150o(A0D00108): STR R0, SB, 108H
1151p(40D800FC): ADD R0, SB, FCH
1152p .FIXUP D
1152p(8D600007): LDR SB, MT, MOD6 [Texts]
1153p(41D80005): ADD R1, SB, VAR5
1154q(92E00008): LDR R2, SP, 8H
1155r .FIXUP P
1155r(F761B01A): BL MOD6 [Texts] PROC27
Texts.Insert(F.texts,t F.carlocu.pos,v KW.buf)w;x
1156s(80E00004): LDR R0, SP, 4H
1157s(D15F564C): BLEQ MT [trap=4, pos=24406]
1158t(8000001C): LDR R0, R0, 1CH
1159u(81E00004): LDR R1, SP, 4H
115Au(D15F604C): BLEQ MT [trap=4, pos=24416]
115Bv(8110004C): LDR R1, R1, 4CH
115Cw .FIXUP D
115Cw(8D00000A): LDR SB, MT, MOD0 [TextFrames]
115Dw(82D000FC): LDR R2, SB, FCH [data]
115Ex .FIXUP P
115Ex(F760D009): BL MOD6 [Texts] PROC13
SetCaret(F,y F.carlocz.pos + 1)a
115Fy(80E00004): LDR R0, SP, 4H
1160z(81E00004): LDR R1, SP, 4H
1161z(D15F894C): BLEQ MT [trap=4, pos=24457]
1162a(8110004C): LDR R1, R1, 4CH
1163a(41180001): ADD R1, R1, 1H
ENDb
1164b(F7FFF6C5): BL -2363 [082AH]
ENDc Write;
1165c(8FE00000): LDR LNK, SP, 0H
1166c(4EE8001C): ADD SP, SP, 1CH
1167c(C700000F): B LNK
PROCEDURE Defocus* (F: Frame);
BEGINd RemoveCaret(F)e
1168d .PROC 34
1168d(4EE90008): SUB SP, SP, 8H
1169d(AFE00000): STR LNK, SP, 0H
116Ad(A0E00004): STR R0, SP, 4H
116Be(80E00004): LDR R0, SP, 4H
ENDf Defocus;
116Cf(F7FFF732): BL -2254 [089FH]
116Df(8FE00000): LDR LNK, SP, 0H
116Ef(4EE80008): ADD SP, SP, 8H
116Ff(C700000F): B LNK
PROCEDURE Neutralize* (F: Frame);
BEGINg RemoveMarks(F)h
1170g .PROC 35
1170g(4EE90008): SUB SP, SP, 8H
1171g(AFE00000): STR LNK, SP, 0H
1172g(A0E00004): STR R0, SP, 4H
1173h(80E00004): LDR R0, SP, 4H
ENDi Neutralize;
1174i(F7FFFE92): BL -366 [1007H]
1175i(8FE00000): LDR LNK, SP, 0H
1176i(4EE80008): ADD SP, SP, 8H
1177i(C700000F): B LNK
PROCEDURE Modify* (F: Frame; id, dY, Y, H: INTEGER);
BEGINj
1178j .PROC 36
1178j(4EE90018): SUB SP, SP, 18H
1179j(AFE00000): STR LNK, SP, 0H
117Aj(A0E00004): STR R0, SP, 4H
117Bj(A1E00008): STR R1, SP, 8H
117Cj(A2E0000C): STR R2, SP, CH
117Dj(A3E00010): STR R3, SP, 10H
117Ej(A4E00014): STR R4, SP, 14H
Mark(F,k FALSE)l;m RemoveMarks(F)n;o SetChangeMark(F,p FALSE)q;r
117Fk(80E00004): LDR R0, SP, 4H
1180l(41000000): MOV R1, R0, 0H
1181m(F7FFF071): BL -3983 [01F3H]
1182n(80E00004): LDR R0, SP, 4H
1183o(F7FFFE83): BL -381 [1007H]
1184p(80E00004): LDR R0, SP, 4H
1185q(41000000): MOV R1, R0, 0H
1186r(F7FFEF65): BL -4251 [00ECH]
IF id = MenuViewers.extend THENs
1187s(80E00008): LDR R0, SP, 8H
1188s(E9000025): BNE 37 [11AEH]
IF dY > 0 THENt Display.CopyBlock(F.Xu,v F.Yw,x F.Wy,z F.Ha,b F.Xc,d F.Ye + dY,f 0)g;h F.Yi := F.Yj + dY ENDk;
1189t(80E0000C): LDR R0, SP, CH
118At(40090000): SUB R0, R0, 0H
118Bt(E600001E): BLE 30 [11AAH]
118Cu(80E00004): LDR R0, SP, 4H
118Du(D1610A4C): BLEQ MT [trap=4, pos=24842]
118Ev(80000008): LDR R0, R0, 8H
118Fw(81E00004): LDR R1, SP, 4H
1190w(D1610F4C): BLEQ MT [trap=4, pos=24847]
1191x(8110000C): LDR R1, R1, CH
1192y(82E00004): LDR R2, SP, 4H
1193y(D161144C): BLEQ MT [trap=4, pos=24852]
1194z(82200010): LDR R2, R2, 10H
1195a(83E00004): LDR R3, SP, 4H
1196a(D161194C): BLEQ MT [trap=4, pos=24857]
1197b(83300014): LDR R3, R3, 14H
1198c(84E00004): LDR R4, SP, 4H
1199c(D1611E4C): BLEQ MT [trap=4, pos=24862]
119Ad(84400008): LDR R4, R4, 8H
119Be(85E00004): LDR R5, SP, 4H
119Ce(D161234C): BLEQ MT [trap=4, pos=24867]
119Df(8550000C): LDR R5, R5, CH
119Ef(86E0000C): LDR R6, SP, CH
119Ff(05580006): ADD R5, R5, R6
11A0g(46000000): MOV R6, R0, 0H
11A1h .FIXUP P
11A1h(F7311043): BL MOD3 [Display] PROC17
11A2i(80E00004): LDR R0, SP, 4H
11A3i(D161314C): BLEQ MT [trap=4, pos=24881]
11A4j(81E00004): LDR R1, SP, 4H
11A5j(D161384C): BLEQ MT [trap=4, pos=24888]
11A6k(8110000C): LDR R1, R1, CH
11A7k(82E0000C): LDR R2, SP, CH
11A8k(01180002): ADD R1, R1, R2
11A9k(A100000C): STR R1, R0, CH
Extend(F,l Y)m
11AAl(80E00004): LDR R0, SP, 4H
11ABm(81E00010): LDR R1, SP, 10H
ELSIFn ido = MenuViewers.reduce THENp
11ACn(F7FFF130): BL -3792 [02DDH]
11ADo(E7000021): B 33 [11CFH]
11AEp(80E00008): LDR R0, SP, 8H
11AFp(40090001): SUB R0, R0, 1H
11B0p(E900001E): BNE 30 [11CFH]
Reduce(F,q Y + dY)r;s
11B1q(80E00004): LDR R0, SP, 4H
11B2r(81E00010): LDR R1, SP, 10H
11B3r(82E0000C): LDR R2, SP, CH
11B4r(01180002): ADD R1, R1, R2
11B5s(F7FFF20E): BL -3570 [03C4H]
IF dY > 0 THENt Display.CopyBlock(F.Xu,v F.Yw,x F.Wy,z F.Ha,b F.Xc,d Y,e 0)f;g F.Yh := Y ENDi
11B6t(80E0000C): LDR R0, SP, CH
11B7t(40090000): SUB R0, R0, 0H
11B8t(E6000016): BLE 22 [11CFH]
11B9u(80E00004): LDR R0, SP, 4H
11BAu(D161C04C): BLEQ MT [trap=4, pos=25024]
11BBv(80000008): LDR R0, R0, 8H
11BCw(81E00004): LDR R1, SP, 4H
11BDw(D161C54C): BLEQ MT [trap=4, pos=25029]
11BEx(8110000C): LDR R1, R1, CH
11BFy(82E00004): LDR R2, SP, 4H
11C0y(D161CA4C): BLEQ MT [trap=4, pos=25034]
11C1z(82200010): LDR R2, R2, 10H
11C2a(83E00004): LDR R3, SP, 4H
11C3a(D161CF4C): BLEQ MT [trap=4, pos=25039]
11C4b(83300014): LDR R3, R3, 14H
11C5c(84E00004): LDR R4, SP, 4H
11C6c(D161D44C): BLEQ MT [trap=4, pos=25044]
11C7d(84400008): LDR R4, R4, 8H
11C8e(85E00010): LDR R5, SP, 10H
11C9f(46000000): MOV R6, R0, 0H
11CAg .FIXUP P
11CAg(F7311029): BL MOD3 [Display] PROC17
11CBh(80E00004): LDR R0, SP, 4H
11CCh(D161E04C): BLEQ MT [trap=4, pos=25056]
11CDi(81E00010): LDR R1, SP, 10H
11CEi(A100000C): STR R1, R0, CH
END;
IF F.Hj > 0 THENk Mark(F,l TRUE)m;n SetChangeMark(F,o F.textp.changedq)r ENDs
11CFj(80E00004): LDR R0, SP, 4H
11D0j(D161FD4C): BLEQ MT [trap=4, pos=25085]
11D1k(80000014): LDR R0, R0, 14H
11D2k(40090000): SUB R0, R0, 0H
11D3k(E600000A): BLE 10 [11DEH]
11D4l(80E00004): LDR R0, SP, 4H
11D5m(41000001): MOV R1, R0, 1H
11D6n(F7FFF01C): BL -4068 [01F3H]
11D7o(80E00004): LDR R0, SP, 4H
11D8p(81E00004): LDR R1, SP, 4H
11D9p(D1622E4C): BLEQ MT [trap=4, pos=25134]
11DAq(8110001C): LDR R1, R1, 1CH
11DBq(D162364C): BLEQ MT [trap=4, pos=25142]
11DCr(91100004): LDR R1, R1, 4H
11DDs(F7FFEF0E): BL -4338 [00ECH]
ENDt Modify;
11DEt(8FE00000): LDR LNK, SP, 0H
11DFt(4EE80018): ADD SP, SP, 18H
11E0t(C700000F): B LNK
PROCEDURE Open* (F: Frame; H: Display.Handler; T: Texts.Text; org: LONGINT;
col, left, right, top, bot, lsp: INTEGER);
VAR L: Line;
BEGINu NEW(L);v
11E1u .PROC 37
11E1u(4EE90030): SUB SP, SP, 30H
11E2u(AFE00000): STR LNK, SP, 0H
11E3u(A0E00004): STR R0, SP, 4H
11E4u(A1E00008): STR R1, SP, 8H
11E5u(A2E0000C): STR R2, SP, CH
11E6u(A3E00010): STR R3, SP, 10H
11E7u(A4E00014): STR R4, SP, 14H
11E8u(A5E00018): STR R5, SP, 18H
11E9u(A6E0001C): STR R6, SP, 1CH
11EAu(A7E00020): STR R7, SP, 20H
11EBu(A8E00024): STR R8, SP, 24H
11ECu(A9E00028): STR R9, SP, 28H
11EDv(40E8002C): ADD R0, SP, 2CH
11EEv .FIXUP D
11EEv(8D000092): LDR SB, MT, MOD0 [TextFrames]
11EFv(41D80000): ADD R1, SB, 0H [data]
11F0v(D762EC0C): BL MT [trap=0, pos=25324]
L.lenw := 0;x L.widy := 0;z L.eota := FALSE;b L.nextc := L;d
11F1w(80E0002C): LDR R0, SP, 2CH
11F2w(D162F64C): BLEQ MT [trap=4, pos=25334]
11F3x(41000000): MOV R1, R0, 0H
11F4x(A1000000): STR R1, R0, 0H
11F5y(80E0002C): LDR R0, SP, 2CH
11F6y(D163024C): BLEQ MT [trap=4, pos=25346]
11F7z(41000000): MOV R1, R0, 0H
11F8z(A1000004): STR R1, R0, 4H
11F9a(80E0002C): LDR R0, SP, 2CH
11FAa(D1630E4C): BLEQ MT [trap=4, pos=25358]
11FBb(41000000): MOV R1, R0, 0H
11FCb(B1000008): STR R1, R0, 8H
11FDc(80E0002C): LDR R0, SP, 2CH
11FEc(D1631F4C): BLEQ MT [trap=4, pos=25375]
11FFd(81E0002C): LDR R1, SP, 2CH
1200d(A100000C): STR R1, R0, CH
F.handlee := H;f F.textg := T;h F.orgi := org;j F.trailerk := L;l
1201e(80E00004): LDR R0, SP, 4H
1202e(D163324C): BLEQ MT [trap=4, pos=25394]
1203f(81E00008): LDR R1, SP, 8H
1204f(A1000018): STR R1, R0, 18H
1205g(80E00004): LDR R0, SP, 4H
1206g(D1633F4C): BLEQ MT [trap=4, pos=25407]
1207h(81E0000C): LDR R1, SP, CH
1208h(A100001C): STR R1, R0, 1CH
1209i(80E00004): LDR R0, SP, 4H
120Ai(D1634B4C): BLEQ MT [trap=4, pos=25419]
120Bj(81E00010): LDR R1, SP, 10H
120Cj(A1000020): STR R1, R0, 20H
120Dk(80E00004): LDR R0, SP, 4H
120Ek(D1635D4C): BLEQ MT [trap=4, pos=25437]
120Fl(81E0002C): LDR R1, SP, 2CH
1210l(A1000090): STR R1, R0, 90H
F.leftm := left;n F.righto := right;p F.topq := top;r F.bots := bot;t
1211m(80E00004): LDR R0, SP, 4H
1212m(D1636E4C): BLEQ MT [trap=4, pos=25454]
1213n(81E00018): LDR R1, SP, 18H
1214n(A100002C): STR R1, R0, 2CH
1215o(80E00004): LDR R0, SP, 4H
1216o(D1637F4C): BLEQ MT [trap=4, pos=25471]
1217p(81E0001C): LDR R1, SP, 1CH
1218p(A1000030): STR R1, R0, 30H
1219q(80E00004): LDR R0, SP, 4H
121Aq(D1638F4C): BLEQ MT [trap=4, pos=25487]
121Br(81E00020): LDR R1, SP, 20H
121Cr(A1000034): STR R1, R0, 34H
121Ds(80E00004): LDR R0, SP, 4H
121Es(D1639D4C): BLEQ MT [trap=4, pos=25501]
121Ft(81E00024): LDR R1, SP, 24H
1220t(A1000038): STR R1, R0, 38H
F.lspu := lsp;v F.colw := col;x F.hasMarky := FALSE;z F.hasCara := FALSE;b F.hasSelc := FALSE
1221u(80E00004): LDR R0, SP, 4H
1222u(D163AF4C): BLEQ MT [trap=4, pos=25519]
1223v(81E00028): LDR R1, SP, 28H
1224v(A1000028): STR R1, R0, 28H
1225w(80E00004): LDR R0, SP, 4H
1226w(D163BD4C): BLEQ MT [trap=4, pos=25533]
1227x(81E00014): LDR R1, SP, 14H
1228x(A1000024): STR R1, R0, 24H
1229y(80E00004): LDR R0, SP, 4H
122Ay(D163CF4C): BLEQ MT [trap=4, pos=25551]
122Bz(41000000): MOV R1, R0, 0H
122Cz(B1000046): STR R1, R0, 46H
122Da(80E00004): LDR R0, SP, 4H
122Ea(D163E24C): BLEQ MT [trap=4, pos=25570]
122Fb(41000000): MOV R1, R0, 0H
1230b(B1000044): STR R1, R0, 44H
1231c(80E00004): LDR R0, SP, 4H
1232c(D163F54C): BLEQ MT [trap=4, pos=25589]
ENDd Open;
1233d(41000000): MOV R1, R0, 0H
1234d(B1000045): STR R1, R0, 45H
1235d(8FE00000): LDR LNK, SP, 0H
1236d(4EE80030): ADD SP, SP, 30H
1237d(C700000F): B LNK
PROCEDURE Copy* (F: Frame; VAR F1: Frame);
BEGINe NEW(F1);f
1238e .PROC 38
1238e(4EE9000C): SUB SP, SP, CH
1239e(AFE00000): STR LNK, SP, 0H
123Ae(A0E00004): STR R0, SP, 4H
123Be(A1E00008): STR R1, SP, 8H
123Cf(80E00008): LDR R0, SP, 8H
123Df .FIXUP D
123Df(8D00004F): LDR SB, MT, MOD0 [TextFrames]
123Ef(41D80030): ADD R1, SB, 30H [data]
123Ff(D764490C): BL MT [trap=0, pos=25673]
Open(F1,g F.handleh,i F.textj,k F.orgl,m F.coln,o F.leftp,q F.rightr,s F.topt,u F.botv,w F.lspx)y
1240g(80E00008): LDR R0, SP, 8H
1241g(80000000): LDR R0, R0, 0H
1242h(81E00004): LDR R1, SP, 4H
1243h(D1645F4C): BLEQ MT [trap=4, pos=25695]
1244i(81100018): LDR R1, R1, 18H
1245j(82E00004): LDR R2, SP, 4H
1246j(D164674C): BLEQ MT [trap=4, pos=25703]
1247k(8220001C): LDR R2, R2, 1CH
1248l(83E00004): LDR R3, SP, 4H
1249l(D1646E4C): BLEQ MT [trap=4, pos=25710]
124Am(83300020): LDR R3, R3, 20H
124Bn(84E00004): LDR R4, SP, 4H
124Cn(D164754C): BLEQ MT [trap=4, pos=25717]
124Do(84400024): LDR R4, R4, 24H
124Ep(85E00004): LDR R5, SP, 4H
124Fp(D1647D4C): BLEQ MT [trap=4, pos=25725]
1250q(8550002C): LDR R5, R5, 2CH
1251r(86E00004): LDR R6, SP, 4H
1252r(D164864C): BLEQ MT [trap=4, pos=25734]
1253s(86600030): LDR R6, R6, 30H
1254t(87E00004): LDR R7, SP, 4H
1255t(D1648D4C): BLEQ MT [trap=4, pos=25741]
1256u(87700034): LDR R7, R7, 34H
1257v(88E00004): LDR R8, SP, 4H
1258v(D164944C): BLEQ MT [trap=4, pos=25748]
1259w(88800038): LDR R8, R8, 38H
125Ax(89E00004): LDR R9, SP, 4H
125Bx(D1649B4C): BLEQ MT [trap=4, pos=25755]
125Cy(89900028): LDR R9, R9, 28H
ENDz Copy;
125Dz(F7FFFF83): BL -125 [11E1H]
125Ez(8FE00000): LDR LNK, SP, 0H
125Fz(4EE8000C): ADD SP, SP, CH
1260z(C700000F): B LNK
PROCEDURE CopyOver(F: Frame; text: Texts.Text; beg, end: LONGINT);
VAR buf: Texts.Buffer;
BEGINa
1261a(4EE90018): SUB SP, SP, 18H
1262a(AFE00000): STR LNK, SP, 0H
1263a(A0E00004): STR R0, SP, 4H
1264a(A1E00008): STR R1, SP, 8H
1265a(A2E0000C): STR R2, SP, CH
1266a(A3E00010): STR R3, SP, 10H
IF F.hasCarb THENc
1267b(80E00004): LDR R0, SP, 4H
1268b(D165214C): BLEQ MT [trap=4, pos=25889]
1269c(90000044): LDR R0, R0, 44H
126Ac(E100001C): BEQ 28 [1287H]
NEW(buf);d Texts.OpenBuf(buf)e;f
126Bd(40E80014): ADD R0, SP, 14H
126Cd .FIXUP D
126Cd(8D60002F): LDR SB, MT, MOD6 [Texts]
126Dd(41D80004): ADD R1, SB, VAR4
126Ed(D765360C): BL MT [trap=0, pos=25910]
126Fe(80E00014): LDR R0, SP, 14H
1270f .FIXUP P
1270f(F760A0A6): BL MOD6 [Texts] PROC10
Texts.Save(text,g beg,h end,i buf)j;k Texts.Insert(F.textl,m F.carlocn.pos,o buf)p;q
1271g(80E00008): LDR R0, SP, 8H
1272h(81E0000C): LDR R1, SP, CH
1273i(82E00010): LDR R2, SP, 10H
1274j(83E00014): LDR R3, SP, 14H
1275k .FIXUP P
1275k(F760B005): BL MOD6 [Texts] PROC11
1276l(80E00004): LDR R0, SP, 4H
1277l(D165854C): BLEQ MT [trap=4, pos=25989]
1278m(8000001C): LDR R0, R0, 1CH
1279n(81E00004): LDR R1, SP, 4H
127An(D1658F4C): BLEQ MT [trap=4, pos=25999]
127Bo(8110004C): LDR R1, R1, 4CH
127Cp(82E00014): LDR R2, SP, 14H
127Dq .FIXUP P
127Dq(F760D008): BL MOD6 [Texts] PROC13
SetCaret(F,r F.carlocs.pos + (end - beg)t)u
127Er(80E00004): LDR R0, SP, 4H
127Fs(81E00004): LDR R1, SP, 4H
1280s(D165B54C): BLEQ MT [trap=4, pos=26037]
1281t(82E00010): LDR R2, SP, 10H
1282t(83E0000C): LDR R3, SP, CH
1283t(02290003): SUB R2, R2, R3
1284u(8110004C): LDR R1, R1, 4CH
1285u(01180002): ADD R1, R1, R2
ENDv
1286v(F7FFF5A3): BL -2653 [082AH]
ENDw CopyOver;
1287w(8FE00000): LDR LNK, SP, 0H
1288w(4EE80018): ADD SP, SP, 18H
1289w(C700000F): B LNK
PROCEDURE GetSelection* (F: Frame; VAR text: Texts.Text; VAR beg, end, time: LONGINT);
BEGINx
128Ax .PROC 39
128Ax(4EE90018): SUB SP, SP, 18H
128Bx(AFE00000): STR LNK, SP, 0H
128Cx(A0E00004): STR R0, SP, 4H
128Dx(A1E00008): STR R1, SP, 8H
128Ex(A2E0000C): STR R2, SP, CH
128Fx(A3E00010): STR R3, SP, 10H
1290x(A4E00014): STR R4, SP, 14H
IF F.hasSely THENz
1291y(80E00004): LDR R0, SP, 4H
1292y(D166524C): BLEQ MT [trap=4, pos=26194]
1293z(90000045): LDR R0, R0, 45H
1294z(E1000040): BEQ 64 [12D5H]
IF F.texta = text THENb
1295a(80E00004): LDR R0, SP, 4H
1296a(D166674C): BLEQ MT [trap=4, pos=26215]
1297b(8000001C): LDR R0, R0, 1CH
1298b(81E00008): LDR R1, SP, 8H
1299b(81100000): LDR R1, R1, 0H
129Ab(00090001): SUB R0, R0, R1
129Bb(E900001E): BNE 30 [12BAH]
IF F.selbegc.pos < beg THENd beg := F.selbege.pos ENDf ; (*leftmost*)
129Cc(80E00004): LDR R0, SP, 4H
129Dc(D166874C): BLEQ MT [trap=4, pos=26247]
129Ed(80000064): LDR R0, R0, 64H
129Fd(81E0000C): LDR R1, SP, CH
12A0d(81100000): LDR R1, R1, 0H
12A1d(00090001): SUB R0, R0, R1
12A2d(ED000005): BGE 5 [12A8H]
12A3e(80E00004): LDR R0, SP, 4H
12A4e(D166A64C): BLEQ MT [trap=4, pos=26278]
12A5f(80000064): LDR R0, R0, 64H
12A6f(81E0000C): LDR R1, SP, CH
12A7f(A0100000): STR R0, R1, 0H
IF F.timeg > time THENh end := F.selendi.pos;j time := F.timek ENDl ; (*last selected*)
12A8g(80E00004): LDR R0, SP, 4H
12A9g(D166D04C): BLEQ MT [trap=4, pos=26320]
12AAh(80000040): LDR R0, R0, 40H
12ABh(81E00014): LDR R1, SP, 14H
12ACh(81100000): LDR R1, R1, 0H
12ADh(00090001): SUB R0, R0, R1
12AEh(E600000A): BLE 10 [12B9H]
12AFi(80E00004): LDR R0, SP, 4H
12B0i(D166EC4C): BLEQ MT [trap=4, pos=26348]
12B1j(8000007C): LDR R0, R0, 7CH
12B2j(81E00010): LDR R1, SP, 10H
12B3j(A0100000): STR R0, R1, 0H
12B4k(80E00004): LDR R0, SP, 4H
12B5k(D167004C): BLEQ MT [trap=4, pos=26368]
12B6l(80000040): LDR R0, R0, 40H
12B7l(81E00014): LDR R1, SP, 14H
12B8l(A0100000): STR R0, R1, 0H
ELSIF Fm.timen > time THENo
12B9m(E700001B): B 27 [12D5H]
12BAn(80E00004): LDR R0, SP, 4H
12BBn(D1672B4C): BLEQ MT [trap=4, pos=26411]
12BCo(80000040): LDR R0, R0, 40H
12BDo(81E00014): LDR R1, SP, 14H
12BEo(81100000): LDR R1, R1, 0H
12BFo(00090001): SUB R0, R0, R1
12C0o(E6000014): BLE 20 [12D5H]
text := F.textp;q beg := F.selbegr.pos;s end := F.selendt.pos;u time := F.timev
12C1p(80E00004): LDR R0, SP, 4H
12C2p(D1674E4C): BLEQ MT [trap=4, pos=26446]
12C3q(8000001C): LDR R0, R0, 1CH
12C4q(81E00008): LDR R1, SP, 8H
12C5q(A0100000): STR R0, R1, 0H
12C6r(80E00004): LDR R0, SP, 4H
12C7r(D1675F4C): BLEQ MT [trap=4, pos=26463]
12C8s(80000064): LDR R0, R0, 64H
12C9s(81E0000C): LDR R1, SP, CH
12CAs(A0100000): STR R0, R1, 0H
12CBt(80E00004): LDR R0, SP, 4H
12CCt(D167744C): BLEQ MT [trap=4, pos=26484]
12CDu(8000007C): LDR R0, R0, 7CH
12CEu(81E00010): LDR R1, SP, 10H
12CFu(A0100000): STR R0, R1, 0H
12D0v(80E00004): LDR R0, SP, 4H
12D1v(D167884C): BLEQ MT [trap=4, pos=26504]
ENDw
12D2w(80000040): LDR R0, R0, 40H
12D3w(81E00014): LDR R1, SP, 14H
12D4w(A0100000): STR R0, R1, 0H
END
ENDx GetSelection;
12D5x(8FE00000): LDR LNK, SP, 0H
12D6x(4EE80018): ADD SP, SP, 18H
12D7x(C700000F): B LNK
PROCEDURE Update* (F: Frame; VAR M: UpdateMsg);
BEGINy (*F.text = M.text*) SetChangeMark(F,z FALSE)a;b
12D8y .PROC 40
12D8y(4EE90010): SUB SP, SP, 10H
12D9y(AFE00000): STR LNK, SP, 0H
12DAy(A0E00004): STR R0, SP, 4H
12DBy(A1E00008): STR R1, SP, 8H
12DCy(A2E0000C): STR R2, SP, CH
12DDz(80E00004): LDR R0, SP, 4H
12DEa(41000000): MOV R1, R0, 0H
12DFb(F7FFEE0C): BL -4596 [00ECH]
RemoveMarks(F)c;d Oberon.RemoveMarks(F.Xe,f F.Yg,h F.Wi,j F.Hk)l;m
12E0c(80E00004): LDR R0, SP, 4H
12E1d(F7FFFD25): BL -731 [1007H]
12E2e(80E00004): LDR R0, SP, 4H
12E3e(D168414C): BLEQ MT [trap=4, pos=26689]
12E4f(80000008): LDR R0, R0, 8H
12E5g(81E00004): LDR R1, SP, 4H
12E6g(D168464C): BLEQ MT [trap=4, pos=26694]
12E7h(8110000C): LDR R1, R1, CH
12E8i(82E00004): LDR R2, SP, 4H
12E9i(D1684B4C): BLEQ MT [trap=4, pos=26699]
12EAj(82200010): LDR R2, R2, 10H
12EBk(83E00004): LDR R3, SP, 4H
12ECk(D168504C): BLEQ MT [trap=4, pos=26704]
12EDl(83300014): LDR R3, R3, 14H
12EEm .FIXUP P
12EEm(F781B071): BL MOD8 [Oberon] PROC27
IF M.id = replace THENn Replace(F,o M.beg,p M.end)q
12EFn(80E00008): LDR R0, SP, 8H
12F0n(80000000): LDR R0, R0, 0H
12F1n(E9000007): BNE 7 [12F9H]
12F2o(80E00004): LDR R0, SP, 4H
12F3p(81E00008): LDR R1, SP, 8H
12F4p(81100008): LDR R1, R1, 8H
12F5q(82E00008): LDR R2, SP, 8H
12F6q(8220000C): LDR R2, R2, CH
ELSIFr Ms.id = insert THENt Insert(F,u M.beg,v M.end)w
12F7r(F7FFF8E1): BL -1823 [0BD9H]
12F8s(E7000015): B 21 [130EH]
12F9t(80E00008): LDR R0, SP, 8H
12FAt(80000000): LDR R0, R0, 0H
12FBt(40090001): SUB R0, R0, 1H
12FCt(E9000007): BNE 7 [1304H]
12FDu(80E00004): LDR R0, SP, 4H
12FEv(81E00008): LDR R1, SP, 8H
12FFv(81100008): LDR R1, R1, 8H
1300w(82E00008): LDR R2, SP, 8H
1301w(8220000C): LDR R2, R2, CH
ELSIFx My.id = delete THENz Delete(F,a M.beg,b M.end)c
1302x(F7FFF9BF): BL -1601 [0CC2H]
1303y(E700000A): B 10 [130EH]
1304z(80E00008): LDR R0, SP, 8H
1305z(80000000): LDR R0, R0, 0H
1306z(40090002): SUB R0, R0, 2H
1307z(E9000006): BNE 6 [130EH]
1308a(80E00004): LDR R0, SP, 4H
1309b(81E00008): LDR R1, SP, 8H
130Ab(81100008): LDR R1, R1, 8H
130Bc(82E00008): LDR R2, SP, 8H
130Cc(8220000C): LDR R2, R2, CH
ENDd ;
130Dd(F7FFFB4A): BL -1206 [0E58H]
SetChangeMark(F,e F.textf.changedg)h
130Ee(80E00004): LDR R0, SP, 4H
130Ff(81E00004): LDR R1, SP, 4H
1310f(D169174C): BLEQ MT [trap=4, pos=26903]
1311g(8110001C): LDR R1, R1, 1CH
1312g(D1691F4C): BLEQ MT [trap=4, pos=26911]
1313h(91100004): LDR R1, R1, 4H
ENDi Update;
1314i(F7FFEDD7): BL -4649 [00ECH]
1315i(8FE00000): LDR LNK, SP, 0H
1316i(4EE80010): ADD SP, SP, 10H
1317i(C700000F): B LNK
PROCEDURE Edit* (F: Frame; X, Y: INTEGER; Keys: SET);
VAR M: CopyOverMsg;
text: Texts.Text;
buf: Texts.Buffer;
v: Viewers.Viewer;
beg, end, time, pos: LONGINT;
keysum: SET;
fnt: Fonts.Font;
col, voff: INTEGER;
BEGINj
1318j .PROC 41
1318j(4EE9004C): SUB SP, SP, 4CH
1319j(AFE00000): STR LNK, SP, 0H
131Aj(A0E00004): STR R0, SP, 4H
131Bj(A1E00008): STR R1, SP, 8H
131Cj(A2E0000C): STR R2, SP, CH
131Dj(A3E00010): STR R3, SP, 10H
IF X < F.Xk + Min(Fl.leftm,n barW)o THENp (*scroll bar*)
131Ek(80E00004): LDR R0, SP, 4H
131Fk(D16A484C): BLEQ MT [trap=4, pos=27208]
1320l(4EE90004): SUB SP, SP, 4H
1321l(A0E00000): STR R0, SP, 0H
1322m(80E00008): LDR R0, SP, 8H
1323m(D16A554C): BLEQ MT [trap=4, pos=27221]
1324n(8000002C): LDR R0, R0, 2CH
1325o .FIXUP D
1325o(8D0000B9): LDR SB, MT, MOD0 [TextFrames]
1326o(81D0009C): LDR R1, SB, 9CH [data]
1327p(F7FFECD8): BL -4904 [0000H]
1328p(01000000): MOV R1, R0, R0
1329p(80E00000): LDR R0, SP, 0H
132Ap(4EE80004): ADD SP, SP, 4H
132Bp(80000008): LDR R0, R0, 8H
132Cp(00080001): ADD R0, R0, R1
132Dp(81E00008): LDR R1, SP, 8H
132Ep(01190000): SUB R1, R1, R0
132Fp(ED0000AB): BGE 171 [13DBH]
Oberon.DrawMouse(ScrollMarker,q X,r Y)s;t keysum := Keys;u
1330q .FIXUP D
1330q(8D00000B): LDR SB, MT, MOD0 [TextFrames]
1331q(40D800CC): ADD R0, SB, CCH [data]
1332q .FIXUP D
1332q(8D800002): LDR SB, MT, MOD8 [Oberon]
1333q(41D80001): ADD R1, SB, VAR1
1334r(82E00008): LDR R2, SP, 8H
1335s(83E0000C): LDR R3, SP, CH
1336t .FIXUP P
1336t(F7817048): BL MOD8 [Oberon] PROC23
1337u(80E00010): LDR R0, SP, 10H
1338u(A0E0003C): STR R0, SP, 3CH
IF Keys = {2} THENv (*ML, scroll up*)
1339v(80E00010): LDR R0, SP, 10H
133Av(40090004): SUB R0, R0, 4H
133Bv(E9000022): BNE 34 [135EH]
TrackLine(F,w X,x Y,y pos,z keysum)a;b
133Cw(80E00004): LDR R0, SP, 4H
133Dx(81E00008): LDR R1, SP, 8H
133Ey(82E0000C): LDR R2, SP, CH
133Fz(43E80038): ADD R3, SP, 38H
1340a(44E8003C): ADD R4, SP, 3CH
1341b(F7FFF745): BL -2235 [0A87H]
IF (pos >= 0)c & (dkeysum = {2})e THENf
1342c(80E00038): LDR R0, SP, 38H
1343c(40090000): SUB R0, R0, 0H
1344d(E5000018): BLT 24 [135DH]
1345e(80E0003C): LDR R0, SP, 3CH
1346e(40090004): SUB R0, R0, 4H
1347f(E9000015): BNE 21 [135DH]
SetChangeMark(F,g FALSE)h;i
1348g(80E00004): LDR R0, SP, 4H
1349h(41000000): MOV R1, R0, 0H
134Ai(F7FFEDA1): BL -4703 [00ECH]
RemoveMarks(F)j;k Oberon.RemoveMarks(F.Xl,m F.Yn,o F.Wp,q F.Hr)s;t
134Bj(80E00004): LDR R0, SP, 4H
134Ck(F7FFFCBA): BL -838 [1007H]
134Dl(80E00004): LDR R0, SP, 4H
134El(D16B834C): BLEQ MT [trap=4, pos=27523]
134Fm(80000008): LDR R0, R0, 8H
1350n(81E00004): LDR R1, SP, 4H
1351n(D16B884C): BLEQ MT [trap=4, pos=27528]
1352o(8110000C): LDR R1, R1, CH
1353p(82E00004): LDR R2, SP, 4H
1354p(D16B8D4C): BLEQ MT [trap=4, pos=27533]
1355q(82200010): LDR R2, R2, 10H
1356r(83E00004): LDR R3, SP, 4H
1357r(D16B924C): BLEQ MT [trap=4, pos=27538]
1358s(83300014): LDR R3, R3, 14H
1359t .FIXUP P
1359t(F781B023): BL MOD8 [Oberon] PROC27
Show(F,u pos)v
135Au(80E00004): LDR R0, SP, 4H
135Bv(81E00038): LDR R1, SP, 38H
ENDw
135Cw(F7FFF0F3): BL -3853 [0450H]
ELSIF Keysx = {1} THENy (*MM*) keysum := Keys;z
135Dx(E700007C): B 124 [13DAH]
135Ey(80E00010): LDR R0, SP, 10H
135Fy(40090002): SUB R0, R0, 2H
1360y(E9000052): BNE 82 [13B3H]
1361z(80E00010): LDR R0, SP, 10H
1362z(A0E0003C): STR R0, SP, 3CH
REPEAT Input.Mouse(Keys,a X,b Y)c;d keysum := keysum + Keys;e
1363a(40E80010): ADD R0, SP, 10H
1364b(41E80008): ADD R1, SP, 8H
1365c(42E8000C): ADD R2, SP, CH
1366d .FIXUP P
1366d(F720300D): BL MOD2 [Input] PROC3
1367e(80E0003C): LDR R0, SP, 3CH
1368e(81E00010): LDR R1, SP, 10H
1369e(00060001): IOR R0, R0, R1
136Ae(A0E0003C): STR R0, SP, 3CH
Oberon.DrawMouse(ScrollMarker,f X,g Y)h
136Bf .FIXUP D
136Bf(8D000039): LDR SB, MT, MOD0 [TextFrames]
136Cf(40D800CC): ADD R0, SB, CCH [data]
136Df .FIXUP D
136Df(8D800002): LDR SB, MT, MOD8 [Oberon]
136Ef(41D80001): ADD R1, SB, VAR1
136Fg(82E00008): LDR R2, SP, 8H
1370h(83E0000C): LDR R3, SP, CH
UNTILi Keys = {};j
1371i .FIXUP P
1371i(F781700B): BL MOD8 [Oberon] PROC23
1372j(80E00010): LDR R0, SP, 10H
1373j(E9FFFFEF): BNE -17 [1363H]
IF keysum # {0, 1, 2} THENk
1374k(80E0003C): LDR R0, SP, 3CH
1375k(40090007): SUB R0, R0, 7H
1376k(E100003B): BEQ 59 [13B2H]
IF 0 IN keysum THENl pos := 0
1377l(80E0003C): LDR R0, SP, 3CH
1378l(40030001): ROR R0, R0, 1H
1379l(E8000003): BPL 3 [137DH]
ELSIFm 2n IN keysum THENo pos := F.textp.lenq - 100
137Am(40000000): MOV R0, R0, 0H
137Bm(A0E00038): STR R0, SP, 38H
137Cn(E7000020): B 32 [139DH]
137Do(80E0003C): LDR R0, SP, 3CH
137Eo(40030003): ROR R0, R0, 3H
137Fo(E8000008): BPL 8 [1388H]
1380p(80E00004): LDR R0, SP, 4H
1381p(D16CEF4C): BLEQ MT [trap=4, pos=27887]
1382q(8000001C): LDR R0, R0, 1CH
1383q(D16CF34C): BLEQ MT [trap=4, pos=27891]
ELSEr poss := (F.Yt + F.Hu -v Y)w * (F.textx.leny) DIVz F.Ha
1384r(80000000): LDR R0, R0, 0H
1385r(40090064): SUB R0, R0, 64H
1386r(A0E00038): STR R0, SP, 38H
1387s(E7000015): B 21 [139DH]
1388t(80E00004): LDR R0, SP, 4H
1389t(D16D144C): BLEQ MT [trap=4, pos=27924]
138Au(81E00004): LDR R1, SP, 4H
138Bu(D16D1A4C): BLEQ MT [trap=4, pos=27930]
138Cv(8000000C): LDR R0, R0, CH
138Dv(81100014): LDR R1, R1, 14H
138Ev(00080001): ADD R0, R0, R1
138Fw(81E0000C): LDR R1, SP, CH
1390w(00090001): SUB R0, R0, R1
1391x(81E00004): LDR R1, SP, 4H
1392x(D16D294C): BLEQ MT [trap=4, pos=27945]
1393y(8110001C): LDR R1, R1, 1CH
1394y(D16D2D4C): BLEQ MT [trap=4, pos=27949]
1395z(81100000): LDR R1, R1, 0H
1396z(000A0001): MUL R0, R0, R1
1397a(81E00004): LDR R1, SP, 4H
1398a(D16D364C): BLEQ MT [trap=4, pos=27958]
ENDb ;
1399b(81100014): LDR R1, R1, 14H
139Ab(D66D446C): BLLE MT [trap=6, pos=27972]
139Bb(000B0001): DIV R0, R0, R1
139Cb(A0E00038): STR R0, SP, 38H
SetChangeMark(F,c FALSE)d;e
139Dc(80E00004): LDR R0, SP, 4H
139Ed(41000000): MOV R1, R0, 0H
139Fe(F7FFED4C): BL -4788 [00ECH]
RemoveMarks(F)f;g Oberon.RemoveMarks(F.Xh,i F.Yj,k F.Wl,m F.Hn)o;p
13A0f(80E00004): LDR R0, SP, 4H
13A1g(F7FFFC65): BL -923 [1007H]
13A2h(80E00004): LDR R0, SP, 4H
13A3h(D16D9A4C): BLEQ MT [trap=4, pos=28058]
13A4i(80000008): LDR R0, R0, 8H
13A5j(81E00004): LDR R1, SP, 4H
13A6j(D16D9F4C): BLEQ MT [trap=4, pos=28063]
13A7k(8110000C): LDR R1, R1, CH
13A8l(82E00004): LDR R2, SP, 4H
13A9l(D16DA44C): BLEQ MT [trap=4, pos=28068]
13AAm(82200010): LDR R2, R2, 10H
13ABn(83E00004): LDR R3, SP, 4H
13ACn(D16DA94C): BLEQ MT [trap=4, pos=28073]
13ADo(83300014): LDR R3, R3, 14H
13AEp .FIXUP P
13AEp(F781B03D): BL MOD8 [Oberon] PROC27
Show(F,q pos)r
13AFq(80E00004): LDR R0, SP, 4H
13B0r(81E00038): LDR R1, SP, 38H
ENDs
13B1s(F7FFF09E): BL -3938 [0450H]
ELSIF Keyst = {0} THENu (*MR, scroll down*)
13B2t(E7000027): B 39 [13DAH]
13B3u(80E00010): LDR R0, SP, 10H
13B4u(40090001): SUB R0, R0, 1H
13B5u(E9000024): BNE 36 [13DAH]
TrackLine(F,v X,w Y,x pos,y keysum)z;a
13B6v(80E00004): LDR R0, SP, 4H
13B7w(81E00008): LDR R1, SP, 8H
13B8x(82E0000C): LDR R2, SP, CH
13B9y(43E80038): ADD R3, SP, 38H
13BAz(44E8003C): ADD R4, SP, 3CH
13BBa(F7FFF6CB): BL -2357 [0A87H]
IF keysum = {0} THENb
13BCb(80E0003C): LDR R0, SP, 3CH
13BDb(40090001): SUB R0, R0, 1H
13BEb(E900001B): BNE 27 [13DAH]
SetChangeMark(F,c FALSE)d;e
13BFc(80E00004): LDR R0, SP, 4H
13C0d(41000000): MOV R1, R0, 0H
13C1e(F7FFED2A): BL -4822 [00ECH]
RemoveMarks(F)f;g Oberon.RemoveMarks(F.Xh,i F.Yj,k F.Wl,m F.Hn)o;p
13C2f(80E00004): LDR R0, SP, 4H
13C3g(F7FFFC43): BL -957 [1007H]
13C4h(80E00004): LDR R0, SP, 4H
13C5h(D16E9A4C): BLEQ MT [trap=4, pos=28314]
13C6i(80000008): LDR R0, R0, 8H
13C7j(81E00004): LDR R1, SP, 4H
13C8j(D16E9F4C): BLEQ MT [trap=4, pos=28319]
13C9k(8110000C): LDR R1, R1, CH
13CAl(82E00004): LDR R2, SP, 4H
13CBl(D16EA44C): BLEQ MT [trap=4, pos=28324]
13CCm(82200010): LDR R2, R2, 10H
13CDn(83E00004): LDR R3, SP, 4H
13CEn(D16EA94C): BLEQ MT [trap=4, pos=28329]
13CFo(83300014): LDR R3, R3, 14H
13D0p .FIXUP P
13D0p(F781B022): BL MOD8 [Oberon] PROC27
Show(F,q F.orgr*2 -s pos -t 100)u
13D1q(80E00004): LDR R0, SP, 4H
13D2r(81E00004): LDR R1, SP, 4H
13D3r(D16EC34C): BLEQ MT [trap=4, pos=28355]
13D4s(81100020): LDR R1, R1, 20H
13D5s(41110001): LSL R1, R1, 1H
13D6t(82E00038): LDR R2, SP, 38H
13D7t(01190002): SUB R1, R1, R2
13D8u(41190064): SUB R1, R1, 64H
ENDv
13D9v(F7FFF076): BL -3978 [0450H]
END
ELSE (*text area*)
Oberonw.DrawMouseArrow(X,x Y)y;z
13DAw(E70000E6): B 230 [14C1H]
13DBx(80E00008): LDR R0, SP, 8H
13DCy(81E0000C): LDR R1, SP, CH
13DDz .FIXUP P
13DDz(F781800D): BL MOD8 [Oberon] PROC24
IF 0 IN Keys THENa (*MR: select*)
13DEa(80E00010): LDR R0, SP, 10H
13DFa(40030001): ROR R0, R0, 1H
13E0a(E8000041): BPL 65 [1422H]
TrackSelection(F,b X,c Y,d keysum)e;f
13E1b(80E00004): LDR R0, SP, 4H
13E2c(81E00008): LDR R1, SP, 8H
13E3d(82E0000C): LDR R2, SP, CH
13E4e(43E8003C): ADD R3, SP, 3CH
13E5f(F7FFF591): BL -2671 [0977H]
IF F.hasSelg THENh
13E6g(80E00004): LDR R0, SP, 4H
13E7g(D16F884C): BLEQ MT [trap=4, pos=28552]
13E8h(90000045): LDR R0, R0, 45H
13E9h(E1000037): BEQ 55 [1421H]
IF keysum = {0, 2} THENi (*MR, ML: delete text*)
13EAi(80E0003C): LDR R0, SP, 3CH
13EBi(40090005): SUB R0, R0, 5H
13ECi(E9000017): BNE 23 [1404H]
Oberon.GetSelection(text,j beg,k end,l time)m;n
13EDj(40E80020): ADD R0, SP, 20H
13EEk(41E8002C): ADD R1, SP, 2CH
13EFl(42E80030): ADD R2, SP, 30H
13F0m(43E80034): ADD R3, SP, 34H
13F1n .FIXUP P
13F1n(F7829014): BL MOD8 [Oberon] PROC41
Texts.Delete(text,o beg,p end,q TBuf)r;s
13F2o(80E00020): LDR R0, SP, 20H
13F3p(81E0002C): LDR R1, SP, 2CH
13F4q(82E00030): LDR R2, SP, 30H
13F5r .FIXUP D
13F5r(8D000088): LDR SB, MT, MOD0 [TextFrames]
13F6r(83D00090): LDR R3, SB, 90H [data]
13F7s .FIXUP P
13F7s(F760F006): BL MOD6 [Texts] PROC15
Oberon.PassFocus(Viewers.This(F.Xt,u F.Yv)w)x;y SetCaret(F,z beg)a
13F8t(80E00004): LDR R0, SP, 4H
13F9t(D1705C4C): BLEQ MT [trap=4, pos=28764]
13FAu(80000008): LDR R0, R0, 8H
13FBv(81E00004): LDR R1, SP, 4H
13FCv(D170614C): BLEQ MT [trap=4, pos=28769]
13FDw(8110000C): LDR R1, R1, CH
13FEx .FIXUP P
13FEx(F7409007): BL MOD4 [Viewers] PROC9
13FFy .FIXUP P
13FFy(F7825001): BL MOD8 [Oberon] PROC37
1400z(80E00004): LDR R0, SP, 4H
1401a(81E0002C): LDR R1, SP, 2CH
ELSIFb keysumc = {0, 1} THENd (*MR, MM: copy to caret*)
1402b(F7FFF427): BL -3033 [082AH]
1403c(E700001D): B 29 [1421H]
1404d(80E0003C): LDR R0, SP, 3CH
1405d(40090003): SUB R0, R0, 3H
1406d(E900001A): BNE 26 [1421H]
Oberon.GetSelection(text,e beg,f end,g time)h;i
1407e(40E80020): ADD R0, SP, 20H
1408f(41E8002C): ADD R1, SP, 2CH
1409g(42E80030): ADD R2, SP, 30H
140Ah(43E80034): ADD R3, SP, 34H
140Bi .FIXUP P
140Bi(F782900C): BL MOD8 [Oberon] PROC41
M.text := text;j M.beg := beg;k M.end := end;l
140Cj(80E00020): LDR R0, SP, 20H
140Dj(A0E00014): STR R0, SP, 14H
140Ek(80E0002C): LDR R0, SP, 2CH
140Fk(A0E00018): STR R0, SP, 18H
1410l(80E00030): LDR R0, SP, 30H
1411l(A0E0001C): STR R0, SP, 1CH
Oberon.FocusViewer.handlem(Oberonn.FocusViewer,o M)p
1412m .FIXUP D
1412m(8D80001D): LDR SB, MT, MOD8 [Oberon]
1413m(80D0000C): LDR R0, SB, VAR12
1414m(D1714A4C): BLEQ MT [trap=4, pos=29002]
1415n(80000018): LDR R0, R0, 18H
1416n(4EE90004): SUB SP, SP, 4H
1417n(A0E00000): STR R0, SP, 0H
1418o .FIXUP D
1418o(8D800006): LDR SB, MT, MOD8 [Oberon]
1419o(80D0000C): LDR R0, SB, VAR12
141Ap(41E80018): ADD R1, SP, 18H
141Bp .FIXUP D
141Bp(8D000003): LDR SB, MT, MOD0 [TextFrames]
141Cp(42D80078): ADD R2, SB, 78H [data]
ENDq
141Dq(83E00000): LDR R3, SP, 0H
141Eq(4EE80004): ADD SP, SP, 4H
141Fq(D1716F5C): BLEQ MT [trap=5, pos=29039]
1420q(D7000003): BL R3
END
ELSIF 1r IN Keys THENs (*MM: call*)
1421r(E700009F): B 159 [14C1H]
1422s(80E00010): LDR R0, SP, 10H
1423s(40030002): ROR R0, R0, 2H
1424s(E8000016): BPL 22 [143BH]
TrackWord(F,t X,u Y,v pos,w keysum)x;y
1425t(80E00004): LDR R0, SP, 4H
1426u(81E00008): LDR R1, SP, 8H
1427v(82E0000C): LDR R2, SP, CH
1428w(43E80038): ADD R3, SP, 38H
1429x(44E8003C): ADD R4, SP, 3CH
142Ay(F7FFF70A): BL -2294 [0B35H]
IF (pos >= 0)z & ~a(0 IN keysum)b THENc Call(F,d pos,e 2 IN keysum)f ENDg
142Bz(80E00038): LDR R0, SP, 38H
142Cz(40090000): SUB R0, R0, 0H
142Da(E500000C): BLT 12 [143AH]
142Eb(80E0003C): LDR R0, SP, 3CH
142Fb(40030001): ROR R0, R0, 1H
1430c(E0000009): BMI 9 [143AH]
1431d(80E00004): LDR R0, SP, 4H
1432e(81E00038): LDR R1, SP, 38H
1433f(82E0003C): LDR R2, SP, 3CH
1434f(42230003): ROR R2, R2, 3H
1435f(E8000002): BPL 2 [1438H]
1436f(42000001): MOV R2, R0, 1H
1437f(E7000001): B 1 [1439H]
1438f(42000000): MOV R2, R0, 0H
1439g(F7FFFBEC): BL -1044 [1026H]
ELSIF 2h IN Keys THENi (*ML: set caret*)
143Ah(E7000086): B 134 [14C1H]
143Bi(80E00010): LDR R0, SP, 10H
143Ci(40030003): ROR R0, R0, 3H
143Di(E8000083): BPL 131 [14C1H]
Oberon.PassFocus(Viewers.This(F.Xj,k F.Yl)m)n;o
143Ej(80E00004): LDR R0, SP, 4H
143Fj(D1726F4C): BLEQ MT [trap=4, pos=29295]
1440k(80000008): LDR R0, R0, 8H
1441l(81E00004): LDR R1, SP, 4H
1442l(D172744C): BLEQ MT [trap=4, pos=29300]
1443m(8110000C): LDR R1, R1, CH
1444n .FIXUP P
1444n(F7409039): BL MOD4 [Viewers] PROC9
1445o .FIXUP P
1445o(F7825001): BL MOD8 [Oberon] PROC37
TrackCaret(F,p X,q Y,r keysum)s;t
1446p(80E00004): LDR R0, SP, 4H
1447q(81E00008): LDR R1, SP, 8H
1448r(82E0000C): LDR R2, SP, CH
1449s(43E8003C): ADD R3, SP, 3CH
144At(F7FFF3F4): BL -3084 [083FH]
IF keysum = {2, 1} THENu (*ML, MM: copy from selection to caret*)
144Bu(80E0003C): LDR R0, SP, 3CH
144Cu(40090006): SUB R0, R0, 6H
144Du(E9000054): BNE 84 [14A2H]
Oberon.GetSelection(text,v beg,w end,x time)y;z
144Ev(40E80020): ADD R0, SP, 20H
144Fw(41E8002C): ADD R1, SP, 2CH
1450x(42E80030): ADD R2, SP, 30H
1451y(43E80034): ADD R3, SP, 34H
1452z .FIXUP P
1452z(F782900D): BL MOD8 [Oberon] PROC41
IF time >= 0 THENa
1453a(80E00034): LDR R0, SP, 34H
1454a(40090000): SUB R0, R0, 0H
1455a(E500002D): BLT 45 [1483H]
NEW(TBuf);b Texts.OpenBuf(TBuf)c;d
1456b .FIXUP D
1456b(8D00003B): LDR SB, MT, MOD0 [TextFrames]
1457b(40D80090): ADD R0, SB, 90H [data]
1458b .FIXUP D
1458b(8D600002): LDR SB, MT, MOD6 [Texts]
1459b(41D80004): ADD R1, SB, VAR4
145Ab(D7734E0C): BL MT [trap=0, pos=29518]
145Bc .FIXUP D
145Bc(8D000003): LDR SB, MT, MOD0 [TextFrames]
145Cc(80D00090): LDR R0, SB, 90H [data]
145Dd .FIXUP P
145Dd(F760A00B): BL MOD6 [Texts] PROC10
Texts.Save(text,e beg,f end,g TBuf)h;i Texts.Insert(F.textj,k F.carlocl.pos,m TBuf)n;o
145Ee(80E00020): LDR R0, SP, 20H
145Ff(81E0002C): LDR R1, SP, 2CH
1460g(82E00030): LDR R2, SP, 30H
1461h .FIXUP D
1461h(8D000006): LDR SB, MT, MOD0 [TextFrames]
1462h(83D00090): LDR R3, SB, 90H [data]
1463i .FIXUP P
1463i(F760B006): BL MOD6 [Texts] PROC11
1464j(80E00004): LDR R0, SP, 4H
1465j(D173A54C): BLEQ MT [trap=4, pos=29605]
1466k(8000001C): LDR R0, R0, 1CH
1467l(81E00004): LDR R1, SP, 4H
1468l(D173AF4C): BLEQ MT [trap=4, pos=29615]
1469m(8110004C): LDR R1, R1, 4CH
146An .FIXUP D
146An(8D000009): LDR SB, MT, MOD0 [TextFrames]
146Bn(82D00090): LDR R2, SB, 90H [data]
146Co .FIXUP P
146Co(F760D009): BL MOD6 [Texts] PROC13
SetSelection(F,p F.carlocq.pos,r F.carlocs.pos + (end - beg)t)u;v
146Dp(80E00004): LDR R0, SP, 4H
146Eq(81E00004): LDR R1, SP, 4H
146Fq(D173E04C): BLEQ MT [trap=4, pos=29664]
1470r(8110004C): LDR R1, R1, 4CH
1471s(82E00004): LDR R2, SP, 4H
1472s(D173EE4C): BLEQ MT [trap=4, pos=29678]
1473t(83E00030): LDR R3, SP, 30H
1474t(84E0002C): LDR R4, SP, 2CH
1475t(03390004): SUB R3, R3, R4
1476u(8220004C): LDR R2, R2, 4CH
1477u(02280003): ADD R2, R2, R3
1478v(F7FFF4B7): BL -2889 [0930H]
SetCaret(F,w F.carlocx.pos + (end - beg)y)z
1479w(80E00004): LDR R0, SP, 4H
147Ax(81E00004): LDR R1, SP, 4H
147Bx(D174244C): BLEQ MT [trap=4, pos=29732]
147Cy(82E00030): LDR R2, SP, 30H
147Dy(83E0002C): LDR R3, SP, 2CH
147Ey(02290003): SUB R2, R2, R3
147Fz(8110004C): LDR R1, R1, 4CH
1480z(01180002): ADD R1, R1, R2
ELSIFa TBufb # NIL THENc
1481a(F7FFF3A8): BL -3160 [082AH]
1482b(E700001E): B 30 [14A1H]
1483c .FIXUP D
1483c(8D000019): LDR SB, MT, MOD0 [TextFrames]
1484c(80D00090): LDR R0, SB, 90H [data]
1485c(E100001B): BEQ 27 [14A1H]
NEW(buf);d Texts.OpenBuf(buf)e;f
1486d(40E80024): ADD R0, SP, 24H
1487d .FIXUP D
1487d(8D600004): LDR SB, MT, MOD6 [Texts]
1488d(41D80004): ADD R1, SB, VAR4
1489d(D7746D0C): BL MT [trap=0, pos=29805]
148Ae(80E00024): LDR R0, SP, 24H
148Bf .FIXUP P
148Bf(F760A01F): BL MOD6 [Texts] PROC10
Texts.Copy(TBuf,g buf)h;i Texts.Insert(F.textj,k F.carlocl.pos,m buf)n;o
148Cg .FIXUP D
148Cg(8D000005): LDR SB, MT, MOD0 [TextFrames]
148Dg(80D00090): LDR R0, SB, 90H [data]
148Eh(81E00024): LDR R1, SP, 24H
148Fi .FIXUP P
148Fi(F760C004): BL MOD6 [Texts] PROC12
1490j(80E00004): LDR R0, SP, 4H
1491j(D174B84C): BLEQ MT [trap=4, pos=29880]
1492k(8000001C): LDR R0, R0, 1CH
1493l(81E00004): LDR R1, SP, 4H
1494l(D174C24C): BLEQ MT [trap=4, pos=29890]
1495m(8110004C): LDR R1, R1, 4CH
1496n(82E00024): LDR R2, SP, 24H
1497o .FIXUP P
1497o(F760D008): BL MOD6 [Texts] PROC13
SetCaret(F,p F.carlocq.pos + buf.lenr)s
1498p(80E00004): LDR R0, SP, 4H
1499q(81E00004): LDR R1, SP, 4H
149Aq(D174EE4C): BLEQ MT [trap=4, pos=29934]
149Br(82E00024): LDR R2, SP, 24H
149Cr(D174FC4C): BLEQ MT [trap=4, pos=29948]
149Ds(8110004C): LDR R1, R1, 4CH
149Es(82200000): LDR R2, R2, 0H
149Fs(01180002): ADD R1, R1, R2
ENDt
14A0t(F7FFF389): BL -3191 [082AH]
ELSIF keysumu = {2, 0} THENv (*ML, MR: copy looks*)
14A1u(E700001F): B 31 [14C1H]
14A2v(80E0003C): LDR R0, SP, 3CH
14A3v(40090005): SUB R0, R0, 5H
14A4v(E900001C): BNE 28 [14C1H]
Oberon.GetSelection(text,w beg,x end,y time)z;a
14A5w(40E80020): ADD R0, SP, 20H
14A6x(41E8002C): ADD R1, SP, 2CH
14A7y(42E80030): ADD R2, SP, 30H
14A8z(43E80034): ADD R3, SP, 34H
14A9a .FIXUP P
14A9a(F7829012): BL MOD8 [Oberon] PROC41
IF time >= 0 THENb
14AAb(80E00034): LDR R0, SP, 34H
14ABb(40090000): SUB R0, R0, 0H
14ACb(E5000014): BLT 20 [14C1H]
Texts.Attributes(F.textc,d F.carloce.pos,f fnt,g col,h voff)i;j
14ADc(80E00004): LDR R0, SP, 4H
14AEc(D175BA4C): BLEQ MT [trap=4, pos=30138]
14AFd(8000001C): LDR R0, R0, 1CH
14B0e(81E00004): LDR R1, SP, 4H
14B1e(D175C44C): BLEQ MT [trap=4, pos=30148]
14B2f(8110004C): LDR R1, R1, 4CH
14B3g(42E80040): ADD R2, SP, 40H
14B4h(43E80044): ADD R3, SP, 44H
14B5i(44E80048): ADD R4, SP, 48H
14B6j .FIXUP P
14B6j(F761100D): BL MOD6 [Texts] PROC17
IF fnt # NIL THENk Texts.ChangeLooks(text,l beg,m end,n {0,1,2},o fnt,p col,q voff)r ENDs
14B7k(80E00040): LDR R0, SP, 40H
14B8k(E1000008): BEQ 8 [14C1H]
14B9l(80E00020): LDR R0, SP, 20H
14BAm(81E0002C): LDR R1, SP, 2CH
14BBn(82E00030): LDR R2, SP, 30H
14BCo(43000007): MOV R3, R0, 7H
14BDp(84E00040): LDR R4, SP, 40H
14BEq(85E00044): LDR R5, SP, 44H
14BFr(86E00048): LDR R6, SP, 48H
14C0s .FIXUP P
14C0s(F761000A): BL MOD6 [Texts] PROC16
END
END
END
END
ENDt Edit;
14C1t(8FE00000): LDR LNK, SP, 0H
14C2t(4EE8004C): ADD SP, SP, 4CH
14C3t(C700000F): B LNK
PROCEDURE Handle* (F: Display.Frame; VAR M: Display.FrameMsg);
VAR F1: Frame; buf: Texts.Buffer;
BEGINu
14C4u .PROC 42
14C4u(4EE90018): SUB SP, SP, 18H
14C5u(AFE00000): STR LNK, SP, 0H
14C6u(A0E00004): STR R0, SP, 4H
14C7u(A1E00008): STR R1, SP, 8H
14C8u(A2E0000C): STR R2, SP, CH
CASE F OF Frame:v
14C9v(80E00004): LDR R0, SP, 4H
14CAv(E1000005): BEQ 5 [14D0H]
14CBv(810FFFF8): LDR R1, R0, FFFFFFF8H
14CCv(81100004): LDR R1, R1, 4H
14CDv .FIXUP D
14CDv(8D000041): LDR SB, MT, MOD0 [TextFrames]
14CEv(42D80030): ADD R2, SB, 30H [data]
14CFv(02290001): SUB R2, R2, R1
14D0v(E9000086): BNE 134 [1557H]
CASE M OF
Oberon.InputMsg:w
14D1w(80E0000C): LDR R0, SP, CH
14D2w(80000004): LDR R0, R0, 4H
14D3w .FIXUP D
14D3w(8D800006): LDR SB, MT, MOD8 [Oberon]
14D4w(41D80003): ADD R1, SB, VAR3
14D5w(01190000): SUB R1, R1, R0
14D6w(E900001F): BNE 31 [14F6H]
IF M.id = Oberon.track THENx Edit(F,y M.X,z M.Y,a M.keys)b
14D7x(80E00008): LDR R0, SP, 8H
14D8x(80000000): LDR R0, R0, 0H
14D9x(40090001): SUB R0, R0, 1H
14DAx(E9000009): BNE 9 [14E4H]
14DBy(80E00004): LDR R0, SP, 4H
14DCz(81E00008): LDR R1, SP, 8H
14DDz(81100008): LDR R1, R1, 8H
14DEa(82E00008): LDR R2, SP, 8H
14DFa(8220000C): LDR R2, R2, CH
14E0b(83E00008): LDR R3, SP, 8H
14E1b(83300004): LDR R3, R3, 4H
ELSIFc Md.id = Oberon.consume THENe
14E2c(F7FFFE35): BL -459 [1318H]
14E3d(E7000011): B 17 [14F5H]
14E4e(80E00008): LDR R0, SP, 8H
14E5e(80000000): LDR R0, R0, 0H
14E6e(E900000E): BNE 14 [14F5H]
IF F.hasCarf THENg Write(F,h M.ch,i M.fnt,j M.col,k M.voff)l ENDm
14E7f(80E00004): LDR R0, SP, 4H
14E8f(D177984C): BLEQ MT [trap=4, pos=30616]
14E9g(90000044): LDR R0, R0, 44H
14EAg(E100000A): BEQ 10 [14F5H]
14EBh(80E00004): LDR R0, SP, 4H
14ECi(81E00008): LDR R1, SP, 8H
14EDi(91100010): LDR R1, R1, 10H
14EEj(82E00008): LDR R2, SP, 8H
14EFj(82200014): LDR R2, R2, 14H
14F0k(83E00008): LDR R3, SP, 8H
14F1k(83300018): LDR R3, R3, 18H
14F2l(84E00008): LDR R4, SP, 8H
14F3l(8440001C): LDR R4, R4, 1CH
14F4m(F7FFFBCA): BL -1078 [10BFH]
END |
Oberonn.ControlMsg:o
14F5n(E7000061): B 97 [1557H]
14F6o(80E0000C): LDR R0, SP, CH
14F7o(80000004): LDR R0, R0, 4H
14F8o .FIXUP D
14F8o(8D800025): LDR SB, MT, MOD8 [Oberon]
14F9o(41D80005): ADD R1, SB, VAR5
14FAo(01190000): SUB R1, R1, R0
14FBo(E900000D): BNE 13 [1509H]
IF M.id = Oberon.defocus THENp Defocus(F)q
14FCp(80E00008): LDR R0, SP, 8H
14FDp(80000000): LDR R0, R0, 0H
14FEp(E9000003): BNE 3 [1502H]
14FFq(80E00004): LDR R0, SP, 4H
ELSIFr Ms.id = Oberon.neutralize THENt Neutralize(F)u
1500r(F7FFFC67): BL -921 [1168H]
1501s(E7000006): B 6 [1508H]
1502t(80E00008): LDR R0, SP, 8H
1503t(80000000): LDR R0, R0, 0H
1504t(40090001): SUB R0, R0, 1H
1505t(E9000002): BNE 2 [1508H]
1506u(80E00004): LDR R0, SP, 4H
ENDv |
1507v(F7FFFC68): BL -920 [1170H]
Oberonw.SelectionMsg:x
1508w(E700004E): B 78 [1557H]
1509x(80E0000C): LDR R0, SP, CH
150Ax(80000004): LDR R0, R0, 4H
150Bx .FIXUP D
150Bx(8D800013): LDR SB, MT, MOD8 [Oberon]
150Cx(41D80004): ADD R1, SB, VAR4
150Dx(01190000): SUB R1, R1, R0
150Ex(E900000A): BNE 10 [1519H]
GetSelection(F,y M.text,z M.beg,a M.end,b M.time)c |d
150Fy(80E00004): LDR R0, SP, 4H
1510z(81E00008): LDR R1, SP, 8H
1511z(41180004): ADD R1, R1, 4H
1512a(82E00008): LDR R2, SP, 8H
1513a(42280008): ADD R2, R2, 8H
1514b(83E00008): LDR R3, SP, 8H
1515b(4338000C): ADD R3, R3, CH
1516c(84E00008): LDR R4, SP, 8H
1517d(F7FFFD72): BL -654 [128AH]
Oberone.CopyMsg:f Copy(F,g F1)h;i M.F := F1 |j
1518e(E700003E): B 62 [1557H]
1519f(80E0000C): LDR R0, SP, CH
151Af(80000004): LDR R0, R0, 4H
151Bf .FIXUP D
151Bf(8D800010): LDR SB, MT, MOD8 [Oberon]
151Cf(41D80006): ADD R1, SB, VAR6
151Df(01190000): SUB R1, R1, R0
151Ef(E9000007): BNE 7 [1526H]
151Fg(80E00004): LDR R0, SP, 4H
1520h(41E80010): ADD R1, SP, 10H
1521i(F7FFFD16): BL -746 [1238H]
1522j(80E00010): LDR R0, SP, 10H
1523j(81E00008): LDR R1, SP, 8H
1524j(A0100000): STR R0, R1, 0H
MenuViewersk.ModifyMsg:l Modify(F,m M.id,n M.dY,o M.Y,p M.H)q |r
1525k(E7000031): B 49 [1557H]
1526l(80E0000C): LDR R0, SP, CH
1527l(80000004): LDR R0, R0, 4H
1528l .FIXUP D
1528l(8D90000D): LDR SB, MT, MOD9 [MenuViewers]
1529l(41D80002): ADD R1, SB, VAR2
152Al(01190000): SUB R1, R1, R0
152Bl(E900000B): BNE 11 [1537H]
152Cm(80E00004): LDR R0, SP, 4H
152Dn(81E00008): LDR R1, SP, 8H
152En(81100000): LDR R1, R1, 0H
152Fo(82E00008): LDR R2, SP, 8H
1530o(82200004): LDR R2, R2, 4H
1531p(83E00008): LDR R3, SP, 8H
1532p(83300008): LDR R3, R3, 8H
1533q(84E00008): LDR R4, SP, 8H
1534q(8440000C): LDR R4, R4, CH
1535r(F7FFFC42): BL -958 [1178H]
CopyOverMsgs:t CopyOver(F,u M.text,v M.beg,w M.end)x |y
1536s(E7000020): B 32 [1557H]
1537t(80E0000C): LDR R0, SP, CH
1538t(80000004): LDR R0, R0, 4H
1539t .FIXUP D
1539t(8D000011): LDR SB, MT, MOD0 [TextFrames]
153At(41D80078): ADD R1, SB, 78H [data]
153Bt(01190000): SUB R1, R1, R0
153Ct(E9000009): BNE 9 [1546H]
153Du(80E00004): LDR R0, SP, 4H
153Ev(81E00008): LDR R1, SP, 8H
153Fv(81100000): LDR R1, R1, 0H
1540w(82E00008): LDR R2, SP, 8H
1541w(82200004): LDR R2, R2, 4H
1542x(83E00008): LDR R3, SP, 8H
1543x(83300008): LDR R3, R3, 8H
1544y(F7FFFD1C): BL -740 [1261H]
UpdateMsgz:a IF F.textb = M.text THENc Update(F,d M)e ENDf
1545z(E7000011): B 17 [1557H]
1546a(80E0000C): LDR R0, SP, CH
1547a(80000004): LDR R0, R0, 4H
1548a .FIXUP D
1548a(8D00000F): LDR SB, MT, MOD0 [TextFrames]
1549a(41D80060): ADD R1, SB, 60H [data]
154Aa(01190000): SUB R1, R1, R0
154Ba(E900000B): BNE 11 [1557H]
154Cb(80E00004): LDR R0, SP, 4H
154Db(D179794C): BLEQ MT [trap=4, pos=31097]
154Ec(8000001C): LDR R0, R0, 1CH
154Fc(81E00008): LDR R1, SP, 8H
1550c(81100004): LDR R1, R1, 4H
1551c(00090001): SUB R0, R0, R1
1552c(E9000004): BNE 4 [1557H]
1553d(80E00004): LDR R0, SP, 4H
1554e(81E00008): LDR R1, SP, 8H
1555e(82E0000C): LDR R2, SP, CH
1556f(F7FFFD81): BL -639 [12D8H]
END
END
ENDg Handle;
1557g(8FE00000): LDR LNK, SP, 0H
1558g(4EE80018): ADD SP, SP, 18H
1559g(C700000F): B LNK
(*creation*)
PROCEDURE Menu (name, commands: ARRAY OF CHAR): Texts.Text;
VAR T: Texts.Text;
BEGINh NEW(T);i T.notifyj := NotifyDisplay;k Texts.Open(T,l "")m;n
155Ah(4EE90018): SUB SP, SP, 18H
155Bh(AFE00000): STR LNK, SP, 0H
155Ch(A0E00004): STR R0, SP, 4H
155Dh(A1E00008): STR R1, SP, 8H
155Eh(A2E0000C): STR R2, SP, CH
155Fh(A3E00010): STR R3, SP, 10H
1560i(40E80014): ADD R0, SP, 14H
1561i .FIXUP D
1561i(8D600019): LDR SB, MT, MOD6 [Texts]
1562i(41D80001): ADD R1, SB, VAR1
1563i(D77A2E0C): BL MT [trap=0, pos=31278]
1564j(80E00014): LDR R0, SP, 14H
1565j(D17A374C): BLEQ MT [trap=4, pos=31287]
1566k(F7000000): BL 0 [1567H]
1567k(41F91558): SUB R1, LNK, 1558H
1568k(A1000008): STR R1, R0, 8H
1569l(80E00014): LDR R0, SP, 14H
156Am .FIXUP D
156Am(8D000009): LDR SB, MT, MOD0 [TextFrames]
156Bm(41D801B0): ADD R1, SB, 1B0H [""]
156Cm(42000001): MOV R2, R0, 1H
156Dn .FIXUP P
156Dn(F76070AD): BL MOD6 [Texts] PROC7
Texts.WriteString(W,o name)p;q Texts.WriteString(W,r " | ")s;t Texts.WriteString(W,u commands)v;w
156Eo .FIXUP D
156Eo(8D000004): LDR SB, MT, MOD0 [TextFrames]
156Fo(40D800D4): ADD R0, SB, D4H [data]
1570o .FIXUP D
1570o(8D600002): LDR SB, MT, MOD6 [Texts]
1571o(41D80005): ADD R1, SB, VAR5
1572p(82E00004): LDR R2, SP, 4H
1573p(83E00008): LDR R3, SP, 8H
1574q .FIXUP P
1574q(F761D007): BL MOD6 [Texts] PROC29
1575r .FIXUP D
1575r(8D000005): LDR SB, MT, MOD0 [TextFrames]
1576r(40D800D4): ADD R0, SB, D4H [data]
1577r .FIXUP D
1577r(8D600002): LDR SB, MT, MOD6 [Texts]
1578r(41D80005): ADD R1, SB, VAR5
1579s .FIXUP D
1579s(8D000002): LDR SB, MT, MOD0 [TextFrames]
157As(42D801B4): ADD R2, SB, 1B4H [" | "]
157Bs(43000004): MOV R3, R0, 4H
157Ct .FIXUP P
157Ct(F761D008): BL MOD6 [Texts] PROC29
157Du .FIXUP D
157Du(8D000004): LDR SB, MT, MOD0 [TextFrames]
157Eu(40D800D4): ADD R0, SB, D4H [data]
157Fu .FIXUP D
157Fu(8D600002): LDR SB, MT, MOD6 [Texts]
1580u(41D80005): ADD R1, SB, VAR5
1581v(82E0000C): LDR R2, SP, CH
1582v(83E00010): LDR R3, SP, 10H
1583w .FIXUP P
1583w(F761D007): BL MOD6 [Texts] PROC29
Texts.Append(T,x W.buf)y;z RETURN T
1584x(80E00014): LDR R0, SP, 14H
1585y .FIXUP D
1585y(8D000006): LDR SB, MT, MOD0 [TextFrames]
1586y(81D000D4): LDR R1, SB, D4H [data]
1587z .FIXUP P
1587z(F760E004): BL MOD6 [Texts] PROC14
ENDa Menu;
1588a(80E00014): LDR R0, SP, 14H
1589a(8FE00000): LDR LNK, SP, 0H
158Aa(4EE80018): ADD SP, SP, 18H
158Ba(C700000F): B LNK
PROCEDURE Text* (name: ARRAY OF CHAR): Texts.Text;
VAR T: Texts.Text;
BEGINb NEW(T);c T.notifyd := NotifyDisplay;e Texts.Open(T,f name)g;h RETURN T
158Cb .PROC 43
158Cb(4EE90010): SUB SP, SP, 10H
158Db(AFE00000): STR LNK, SP, 0H
158Eb(A0E00004): STR R0, SP, 4H
158Fb(A1E00008): STR R1, SP, 8H
1590c(40E8000C): ADD R0, SP, CH
1591c .FIXUP D
1591c(8D60000C): LDR SB, MT, MOD6 [Texts]
1592c(41D80001): ADD R1, SB, VAR1
1593c(D77B490C): BL MT [trap=0, pos=31561]
1594d(80E0000C): LDR R0, SP, CH
1595d(D17B524C): BLEQ MT [trap=4, pos=31570]
1596e(F7000000): BL 0 [1597H]
1597e(41F91618): SUB R1, LNK, 1618H
1598e(A1000008): STR R1, R0, 8H
1599f(80E0000C): LDR R0, SP, CH
159Ag(81E00004): LDR R1, SP, 4H
159Bg(82E00008): LDR R2, SP, 8H
159Ch .FIXUP P
159Ch(F7607015): BL MOD6 [Texts] PROC7
ENDi Text;
159Di(80E0000C): LDR R0, SP, CH
159Ei(8FE00000): LDR LNK, SP, 0H
159Fi(4EE80010): ADD SP, SP, 10H
15A0i(C700000F): B LNK
PROCEDURE NewMenu* (name, commands: ARRAY OF CHAR): Frame;
VAR F: Frame; T: Texts.Text;
BEGINj NEW(F);k T := Menu(name,l commands)m;n
15A1j .PROC 44
15A1j(4EE9001C): SUB SP, SP, 1CH
15A2j(AFE00000): STR LNK, SP, 0H
15A3j(A0E00004): STR R0, SP, 4H
15A4j(A1E00008): STR R1, SP, 8H
15A5j(A2E0000C): STR R2, SP, CH
15A6j(A3E00010): STR R3, SP, 10H
15A7k(40E80014): ADD R0, SP, 14H
15A8k .FIXUP D
15A8k(8D000017): LDR SB, MT, MOD0 [TextFrames]
15A9k(41D80030): ADD R1, SB, 30H [data]
15AAk(D77BFD0C): BL MT [trap=0, pos=31741]
15ABl(80E00004): LDR R0, SP, 4H
15ACl(81E00008): LDR R1, SP, 8H
15ADm(82E0000C): LDR R2, SP, CH
15AEm(83E00010): LDR R3, SP, 10H
15AFn(F7FFFFAA): BL -86 [155AH]
15B0n(A0E00018): STR R0, SP, 18H
Open(F,o Handle,p T,q 0,r Display.white,s left DIV 4,t 0,u 0,v 0,w lsp)x;y RETURN F
15B1o(80E00014): LDR R0, SP, 14H
15B2p(F7000000): BL 0 [15B3H]
15B3p(41F903BC): SUB R1, LNK, 3BCH
15B4q(82E00018): LDR R2, SP, 18H
15B5r(43000000): MOV R3, R0, 0H
15B6s(44000001): MOV R4, R0, 1H
15B7t .FIXUP D
15B7t(8D00000F): LDR SB, MT, MOD0 [TextFrames]
15B8t(85D000A0): LDR R5, SB, A0H [data]
15B9t(45520002): ASR R5, R5, 2H
15BAu(46000000): MOV R6, R0, 0H
15BBv(47000000): MOV R7, R0, 0H
15BCw(48000000): MOV R8, R0, 0H
15BDx(89D000B0): LDR R9, SB, B0H
15BEy(F7FFFC22): BL -990 [11E1H]
ENDz NewMenu;
15BFz(80E00014): LDR R0, SP, 14H
15C0z(8FE00000): LDR LNK, SP, 0H
15C1z(4EE8001C): ADD SP, SP, 1CH
15C2z(C700000F): B LNK
PROCEDURE NewText* (text: Texts.Text; pos: LONGINT): Frame;
VAR F: Frame;
BEGINa NEW(F);b
15C3a .PROC 45
15C3a(4EE90010): SUB SP, SP, 10H
15C4a(AFE00000): STR LNK, SP, 0H
15C5a(A0E00004): STR R0, SP, 4H
15C6a(A1E00008): STR R1, SP, 8H
15C7b(40E8000C): ADD R0, SP, CH
15C8b .FIXUP D
15C8b(8D000011): LDR SB, MT, MOD0 [TextFrames]
15C9b(41D80030): ADD R1, SB, 30H [data]
15CAb(D77CD50C): BL MT [trap=0, pos=31957]
Open(F,c Handle,d text,e pos,f Display.black,g left,h right,i top,j bot,k lsp)l;m RETURN F
15CBc(80E0000C): LDR R0, SP, CH
15CCd(F7000000): BL 0 [15CDH]
15CDd(41F90424): SUB R1, LNK, 424H
15CEe(82E00004): LDR R2, SP, 4H
15CFf(83E00008): LDR R3, SP, 8H
15D0g(44000000): MOV R4, R0, 0H
15D1h .FIXUP D
15D1h(8D000009): LDR SB, MT, MOD0 [TextFrames]
15D2h(85D000A0): LDR R5, SB, A0H [data]
15D3i(86D000A4): LDR R6, SB, A4H
15D4j(87D000A8): LDR R7, SB, A8H
15D5k(88D000AC): LDR R8, SB, ACH
15D6l(89D000B0): LDR R9, SB, B0H
15D7m(F7FFFC09): BL -1015 [11E1H]
ENDn NewText;
15D8n(80E0000C): LDR R0, SP, CH
15D9n(8FE00000): LDR LNK, SP, 0H
15DAn(4EE80010): ADD SP, SP, 10H
15DBn(C700000F): B LNK
BEGINo NEW(TBuf);p NEW(DelBuf);q
15DCo .PROC 0
15DCo .ENTRYPOINT
15DCo(4EE90004): SUB SP, SP, 4H
15DDo(AFE00000): STR LNK, SP, 0H
15DEp .FIXUP D
15DEp(8D00000D): LDR SB, MT, MOD0 [TextFrames]
15DFp(40D80090): ADD R0, SB, 90H [data]
15E0p .FIXUP D
15E0p(8D600002): LDR SB, MT, MOD6 [Texts]
15E1p(41D80004): ADD R1, SB, VAR4
15E2p(D77D4A0C): BL MT [trap=0, pos=32074]
15E3q .FIXUP D
15E3q(8D000003): LDR SB, MT, MOD0 [TextFrames]
15E4q(40D80094): ADD R0, SB, 94H [data]
15E5q .FIXUP D
15E5q(8D600002): LDR SB, MT, MOD6 [Texts]
15E6q(41D80004): ADD R1, SB, VAR4
15E7q(D77D570C): BL MT [trap=0, pos=32087]
Texts.OpenBuf(TBuf)r;s Texts.OpenBuf(DelBuf)t;u
15E8r .FIXUP D
15E8r(8D000003): LDR SB, MT, MOD0 [TextFrames]
15E9r(80D00090): LDR R0, SB, 90H [data]
15EAs .FIXUP P
15EAs(F760A04E): BL MOD6 [Texts] PROC10
15EBt .FIXUP D
15EBt(8D000003): LDR SB, MT, MOD0 [TextFrames]
15ECt(80D00094): LDR R0, SB, 94H [data]
15EDu .FIXUP P
15EDu(F760A003): BL MOD6 [Texts] PROC10
lsp := Fonts.Default.heightv;w menuH := lsp + 2;x barW := menuH;y
15EEv .FIXUP D
15EEv(8D500003): LDR SB, MT, MOD5 [Fonts]
15EFv(80D00002): LDR R0, SB, VAR2
15F0v(D17DA34C): BLEQ MT [trap=4, pos=32163]
15F1w(80000020): LDR R0, R0, 20H
15F2w .FIXUP D
15F2w(8D000004): LDR SB, MT, MOD0 [TextFrames]
15F3w(A0D000B0): STR R0, SB, B0H [data]
15F4x(80D000B0): LDR R0, SB, B0H
15F5x(40080002): ADD R0, R0, 2H
15F6x(A0D00098): STR R0, SB, 98H
15F7y(80D00098): LDR R0, SB, 98H
15F8y(A0D0009C): STR R0, SB, 9CH
left := barW + lsp DIV 2;z
15F9z(80D000B0): LDR R0, SB, B0H
15FAz(40020001): ASR R0, R0, 1H
15FBz(81D0009C): LDR R1, SB, 9CH
15FCz(00180000): ADD R0, R1, R0
15FDz(A0D000A0): STR R0, SB, A0H
right := lsp DIV 2;a
15FEa(80D000B0): LDR R0, SB, B0H
15FFa(40020001): ASR R0, R0, 1H
1600a(A0D000A4): STR R0, SB, A4H
top := lsp DIV 2;b bot := lsp DIV 2;c
1601b(80D000B0): LDR R0, SB, B0H
1602b(40020001): ASR R0, R0, 1H
1603b(A0D000A8): STR R0, SB, A8H
1604c(80D000B0): LDR R0, SB, B0H
1605c(40020001): ASR R0, R0, 1H
1606c(A0D000AC): STR R0, SB, ACH
asr := Fonts.Default.maxYd;e
1607d .FIXUP D
1607d(8D500015): LDR SB, MT, MOD5 [Fonts]
1608d(80D00002): LDR R0, SB, VAR2
1609d(D17E394C): BLEQ MT [trap=4, pos=32313]
160Ae(80000030): LDR R0, R0, 30H
160Be .FIXUP D
160Be(8D000004): LDR SB, MT, MOD0 [TextFrames]
160Ce(A0D000B4): STR R0, SB, B4H [data]
dsr := -Fonts.Default.minYf;g
160Df .FIXUP D
160Df(8D500002): LDR SB, MT, MOD5 [Fonts]
160Ef(80D00002): LDR R0, SB, VAR2
160Ff(D17E574C): BLEQ MT [trap=4, pos=32343]
1610g(8000002C): LDR R0, R0, 2CH
1611g(41000000): MOV R1, R0, 0H
1612g(00190000): SUB R0, R1, R0
1613g .FIXUP D
1613g(8D000006): LDR SB, MT, MOD0 [TextFrames]
1614g(A0D000B8): STR R0, SB, B8H [data]
selH := lsp;h markW := lsp DIV 2;i
1615h(80D000B0): LDR R0, SB, B0H
1616h(A0D000BC): STR R0, SB, BCH
1617i(80D000B0): LDR R0, SB, B0H
1618i(40020001): ASR R0, R0, 1H
1619i(A0D000C0): STR R0, SB, C0H
eolW := lsp DIV 2;j
161Aj(80D000B0): LDR R0, SB, B0H
161Bj(40020001): ASR R0, R0, 1H
161Cj(A0D000C4): STR R0, SB, C4H
ScrollMarker.Fade := FlipSM;k ScrollMarker.Draw := FlipSM;l
161Dk(F7000000): BL 0 [161EH]
161Ek(40F9575C): SUB R0, LNK, 575CH
161Fk(A0D000CC): STR R0, SB, CCH
1620l(F7000000): BL 0 [1621H]
1621l(40F95768): SUB R0, LNK, 5768H
1622l(A0D000D0): STR R0, SB, D0H
Texts.OpenWriter(W)m;n Texts.OpenWriter(KW)o
1623m(40D800D4): ADD R0, SB, D4H
1624m .FIXUP D
1624m(8D600011): LDR SB, MT, MOD6 [Texts]
1625m(41D80005): ADD R1, SB, VAR5
1626n .FIXUP P
1626n(F7617039): BL MOD6 [Texts] PROC23
1627o .FIXUP D
1627o(8D000003): LDR SB, MT, MOD0 [TextFrames]
1628o(40D800FC): ADD R0, SB, FCH [data]
1629o .FIXUP D
1629o(8D600002): LDR SB, MT, MOD6 [Texts]
162Ao(41D80005): ADD R1, SB, VAR5
ENDp TextFrames.q
162Bp .FIXUP P
162Bp(F7617005): BL MOD6 [Texts] PROC23
162Cq(8FE00000): LDR LNK, SP, 0H
162Dq(4EE80004): ADD SP, SP, 4H
162Eq(C700000F): B LNK