Used Exports

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 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
.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 1B4H " | "
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
next: Line
Location* = RECORD
org*, pos*: LONGINT;
dx*, x*, y*: INTEGER;
lin: Line
Frame* = POINTER TO FrameDesc;
FrameDesc* = RECORD
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
UpdateMsg* = RECORD (Display.FrameMsg)
text*: Texts.Text;
beg*, end*: LONGINT
CopyOverMsg = RECORD (Display.FrameMsg)
text: Texts.Text;
beg, end: LONGINT
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*)
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
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);
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
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
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
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
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
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*)
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(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
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*)
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(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
0125f .FIXUP P
0125f(F730F018): BL MOD3 [Display] PROC15
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]
014Cy .FIXUP P
014Cy(F761300C): BL MOD6 [Texts] PROC19
014Dy(E7FFFFE4): B -28 [0132H]
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
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]
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;
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(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(8D600007): LDR SB, MT, MOD6 [Texts]
01DEh(41D80002): ADD R1, SB, VAR2
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]
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);
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(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
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
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]
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
02AEo(80E00044): LDR R0, SP, 44H
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(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
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
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]
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
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(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
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
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;
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
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
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
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
0604v(F7FFFBEE): BL -1042 [01F3H]
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
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
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]
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(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(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]
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(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(F7613011): BL MOD6 [Texts] PROC19
06ECa(E7000002): B 2 [06EFH]
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]
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
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(F761207E): BL MOD6 [Texts] PROC18
07BBf(40E80018): ADD R0, SP, 18H
07BCf(8D600006): LDR SB, MT, MOD6 [Texts]
07BDf(41D80002): ADD R1, SB, VAR2
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(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
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);
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
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;
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]
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);
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
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(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
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
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);
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]
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;
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]
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
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(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(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(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(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]
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]
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;
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(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(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(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(8D000016): LDR SB, MT, MOD0 [TextFrames]
0AC7f(40D800CC): ADD R0, SB, CCH [data]
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(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(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(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
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]
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;
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
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(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(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
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(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]
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;
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
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(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(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(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(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(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
0CB7h(80E00050): LDR R0, SP, 50H
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]
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;
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
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(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
0D09o(80E00058): LDR R0, SP, 58H
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(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(8D000002): LDR SB, MT, MOD0 [TextFrames]
0D2Cb(42D800C8): ADD R2, SB, C8H [data]
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]
0D7Bo(40E8004C): ADD R0, SP, 4CH
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(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(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
0DB2p(80E00058): LDR R0, SP, 58H
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
0DD4d(80E00058): LDR R0, SP, 58H
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(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]
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(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(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
0E4De(80E00058): LDR R0, SP, 58H
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]
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;
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
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]
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(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
0EBDy(80E0005C): LDR R0, SP, 5CH
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(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
0EEEr(80E0005C): LDR R0, SP, 5CH
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(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(F76120C4): BL MOD6 [Texts] PROC18
0EFEy(40E80010): ADD R0, SP, 10H
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(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(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]