| MODULE TextFrames; (*JG 8.10.90 / NW 10.5.2013 / 11.2.2017*) |
| .MODULE TextFrames (KEY 650813D5, VERSION 1, SIZE 00005B80) |
| .IMPORT Modules (KEY 41C6A19A) |
| .IMPORT Input (KEY 5DE391A8) |
| .IMPORT Display (KEY 4C08D3EA) |
| .IMPORT Viewers (KEY 25ABF199) |
| .IMPORT Fonts (KEY F4C9F557) |
| .IMPORT Texts (KEY 0B9E9984) |
| .IMPORT Files (KEY 73F5D686) |
| .IMPORT Oberon (KEY A89CCEE2) |
| .IMPORT MenuViewers (KEY 245ACC30) |
| .TYPEDESC 00000020 FFFFFFFF FFFFFFFF FFFFFFFF 0000000C FFFFFFFF 00000020 FFFFFFFF FFFFFFFF FFFFFFFF 00000014 FFFFFFFF 00000100 0003000D FFFFFFFF FFFFFFFF 00000090 0000008C 00000074 0000005C 0000001C 00000000 00000004 FFFFFFFF 00000020 0006000C FFFFFFFF FFFFFFFF 00000004 FFFFFFFF 00000020 00078006 FFFFFFFF FFFFFFFF 00000000 FFFFFFFF |
| .DATA 94H |
| .STRING 124H "Call error: " |
| .STRING 134H " module not found" |
| .STRING 148H " bad version" |
| .STRING 158H " imports " |
| .STRING 164H " with bad key" |
| .STRING 174H " corrupted obj file" |
| .STRING 188H " command not found" |
| .STRING 19CH " insufficient space" |
| .STRING 1B0H "" |
| .STRING 1B4H " | " |
| .POINTER_REFERENCES 90H 94H D4H D8H F8H ECH FCH 100H 120H 114H |
| .FIXUP T 1FH |
| IMPORT Modules, Input, Display, Viewers, Fonts, Texts, Oberon, MenuViewers; |
| |
| CONST replace* = 0; insert* = 1; delete* = 2; unmark* = 3; (*message id*) |
| BS = 8X; TAB = 9X; CR = 0DX; DEL = 7FX; |
| |
| TYPE Line = POINTER TO LineDesc; |
| LineDesc = RECORD |
| len: LONGINT; |
| wid: INTEGER; |
| eot: BOOLEAN; |
| next: Line |
| END; |
| |
| Location* = RECORD |
| org*, pos*: LONGINT; |
| dx*, x*, y*: INTEGER; |
| lin: Line |
| END; |
| |
| Frame* = POINTER TO FrameDesc; |
| FrameDesc* = RECORD |
| (Display.FrameDesc) |
| text*: Texts.Text; |
| org*: LONGINT; |
| col*: INTEGER; |
| lsp*: INTEGER; |
| left*, right*, top*, bot*: INTEGER; |
| markH*: INTEGER; |
| time*: LONGINT; |
| hasCar*, hasSel*, hasMark: BOOLEAN; |
| carloc*: Location; |
| selbeg*, selend*: Location; |
| trailer: Line |
| END; |
| |
| UpdateMsg* = RECORD (Display.FrameMsg) |
| id*: INTEGER; |
| text*: Texts.Text; |
| beg*, end*: LONGINT |
| END; |
| |
| CopyOverMsg = RECORD (Display.FrameMsg) |
| text: Texts.Text; |
| beg, end: LONGINT |
| END; |
| |
| VAR TBuf*, DelBuf: Texts.Buffer; |
| menuH*, barW*, left*, right*, top*, bot*, lsp*: INTEGER; (*standard sizes*) |
| asr, dsr, selH, markW, eolW: INTEGER; |
| nextCh: CHAR; |
| ScrollMarker: Oberon.Marker; |
| W, KW: Texts.Writer; (*keyboard writer*) |
| |
| PROCEDURE Min (i, j: INTEGER): INTEGER; |
| BEGINa IF i < j THENb j := i ENDc ; |
0000 | a(4EE9000C): SUB SP, SP, CH |
0001 | a(AFE00000): STR LNK, SP, 0H |
0002 | a(A0E00004): STR R0, SP, 4H |
0003 | a(A1E00008): STR R1, SP, 8H |
0004 | b(80E00004): LDR R0, SP, 4H |
0005 | b(81E00008): LDR R1, SP, 8H |
0006 | b .PROC 1 |
0006 | b(00090001): SUB R0, R0, R1 |
0007 | b(ED000002): BGE 2 [000AH] |
0008 | c(80E00004): LDR R0, SP, 4H |
0009 | c(A0E00008): STR R0, SP, 8H |
| RETURN j |
| ENDd Min; |
000A | d(80E00008): LDR R0, SP, 8H |
000B | d(8FE00000): LDR LNK, SP, 0H |
000C | d .PROC 2 |
000C | d(4EE8000C): ADD SP, SP, CH |
000D | d(C700000F): B LNK |
| |
| (*------------------display support------------------------*) |
| |
| PROCEDURE ReplConst (col: INTEGER; F: Frame; X, Y, W, H: INTEGER; mode: INTEGER); |
| BEGINe |
000E | e(4EE90020): SUB SP, SP, 20H |
000F | e(AFE00000): STR LNK, SP, 0H |
0010 | e(A0E00004): STR R0, SP, 4H |
0011 | e(A1E00008): STR R1, SP, 8H |
0012 | e(A2E0000C): STR R2, SP, CH |
0013 | e(A3E00010): STR R3, SP, 10H |
0014 | e(A4E00014): STR R4, SP, 14H |
0015 | e(A5E00018): STR R5, SP, 18H |
0016 | e(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 |
0017 | f(80E0000C): LDR R0, SP, CH |
0018 | f .PROC 3 |
0018 | f(81E00014): LDR R1, SP, 14H |
0019 | f(00080001): ADD R0, R0, R1 |
001A | g(81E00008): LDR R1, SP, 8H |
001B | g(D1067A4C): BLEQ MT [trap=4, pos=1658] |
001C | h(82E00008): LDR R2, SP, 8H |
001D | h(D106804C): BLEQ MT [trap=4, pos=1664] |
001E | i(81100008): LDR R1, R1, 8H |
001F | i(82200010): LDR R2, R2, 10H |
0020 | i(01180002): ADD R1, R1, R2 |
0021 | i(00090001): SUB R0, R0, R1 |
0022 | i(EE000008): BGT 8 [002BH] |
0023 | j(80E00004): LDR R0, SP, 4H |
0024 | k .PROC 4 |
0024 | k(81E0000C): LDR R1, SP, CH |
0025 | l(82E00010): LDR R2, SP, 10H |
0026 | m .PROC 5 |
0026 | m(83E00014): LDR R3, SP, 14H |
0027 | n .PROC 6 |
0027 | n(84E00018): LDR R4, SP, 18H |
0028 | o .PROC 7 |
0028 | o(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 |
0029 | p .PROC 8 |
0029 | p .FIXUP P |
0029 | p(F730F029): BL MOD3 [Display] PROC15 |
002A | q .PROC 9 |
002A | q(E7000019): B 25 [0044H] |
002B | r .PROC 10 |
002B | r(80E00008): LDR R0, SP, 8H |
002C | r .PROC 11 |
002C | r(D106C04C): BLEQ MT [trap=4, pos=1728] |
002D | s(81E00008): LDR R1, SP, 8H |
002E | s(D106C64C): BLEQ MT [trap=4, pos=1734] |
002F | t(80000008): LDR R0, R0, 8H |
0030 | t(81100010): LDR R1, R1, 10H |
0031 | t(00080001): ADD R0, R0, R1 |
0032 | t(81E0000C): LDR R1, SP, CH |
0033 | t(01190000): SUB R1, R1, R0 |
0034 | t(ED00000F): BGE 15 [0044H] |
0035 | u(80E00004): LDR R0, SP, 4H |
0036 | v(81E0000C): LDR R1, SP, CH |
0037 | w(82E00010): LDR R2, SP, 10H |
0038 | x(83E00008): LDR R3, SP, 8H |
0039 | x(D106EC4C): BLEQ MT [trap=4, pos=1772] |
003A | y(84E00008): LDR R4, SP, 8H |
003B | y(D106F24C): BLEQ MT [trap=4, pos=1778] |
003C | z(83300008): LDR R3, R3, 8H |
003D | z(84400010): LDR R4, R4, 10H |
003E | z(03380004): ADD R3, R3, R4 |
003F | a(84E0000C): LDR R4, SP, CH |
0040 | a(03390004): SUB R3, R3, R4 |
0041 | b(84E00018): LDR R4, SP, 18H |
0042 | c(85E0001C): LDR R5, SP, 1CH |
| ENDd |
0043 | d .FIXUP P |
0043 | d(F730F01A): BL MOD3 [Display] PROC15 |
| ENDe ReplConst; |
0044 | e(8FE00000): LDR LNK, SP, 0H |
0045 | e(4EE80020): ADD SP, SP, 20H |
0046 | e(C700000F): B LNK |
| |
| PROCEDURE FlipSM(X, Y: INTEGER); |
| VAR DW, DH, CL: INTEGER; |
| BEGINf DW := Display.Width;g DH := Display.Height;h CL := DW;i |
0047 | f(4EE90018): SUB SP, SP, 18H |
0048 | f(AFE00000): STR LNK, SP, 0H |
0049 | f(A0E00004): STR R0, SP, 4H |
004A | f(A1E00008): STR R1, SP, 8H |
004B | g .FIXUP D |
004B | g(8D30004B): LDR SB, MT, MOD3 [Display] |
004C | g(80D00004): LDR R0, SB, VAR4 |
004D | g(A0E0000C): STR R0, SP, CH |
004E | h .FIXUP D |
004E | h(8D300003): LDR SB, MT, MOD3 [Display] |
004F | h(80D00005): LDR R0, SB, VAR5 |
0050 | h(A0E00010): STR R0, SP, 10H |
0051 | i(80E0000C): LDR R0, SP, CH |
0052 | i(A0E00014): STR R0, SP, 14H |
| IF X < CL THENj |
0053 | j(80E00004): LDR R0, SP, 4H |
0054 | j(81E00014): LDR R1, SP, 14H |
0055 | j(00090001): SUB R0, R0, R1 |
0056 | j(ED00000F): BGE 15 [0066H] |
| IF X < 3 THENk X := 3 ELSIFl Xm > DW - 4 THENn X := DW - 4 ENDo |
0057 | k(80E00004): LDR R0, SP, 4H |
0058 | k(40090003): SUB R0, R0, 3H |
0059 | k(ED000003): BGE 3 [005DH] |
005A | l(40000003): MOV R0, R0, 3H |
005B | l(A0E00004): STR R0, SP, 4H |
005C | m(E7000008): B 8 [0065H] |
005D | n(80E0000C): LDR R0, SP, CH |
005E | n(40090004): SUB R0, R0, 4H |
005F | n(81E00004): LDR R1, SP, 4H |
0060 | n(01190000): SUB R1, R1, R0 |
0061 | n(E6000003): BLE 3 [0065H] |
0062 | o(80E0000C): LDR R0, SP, CH |
0063 | o(40090004): SUB R0, R0, 4H |
0064 | o(A0E00004): STR R0, SP, 4H |
| ELSE |
| IFp X < CL + 3 THENq X := CL + 4 ELSIFr Xs > CL + DW -t 4 THENu X := CL + DW -v 4 ENDw |
0065 | p(E7000015): B 21 [007BH] |
0066 | q(80E00014): LDR R0, SP, 14H |
0067 | q(40080003): ADD R0, R0, 3H |
0068 | q(81E00004): LDR R1, SP, 4H |
0069 | q(01190000): SUB R1, R1, R0 |
006A | q(ED000004): BGE 4 [006FH] |
006B | r(80E00014): LDR R0, SP, 14H |
006C | r(40080004): ADD R0, R0, 4H |
006D | r(A0E00004): STR R0, SP, 4H |
006E | s(E700000C): B 12 [007BH] |
006F | t(80E00014): LDR R0, SP, 14H |
0070 | t(81E0000C): LDR R1, SP, CH |
0071 | t(00080001): ADD R0, R0, R1 |
0072 | u(40090004): SUB R0, R0, 4H |
0073 | u(81E00004): LDR R1, SP, 4H |
0074 | u(01190000): SUB R1, R1, R0 |
0075 | u(E6000005): BLE 5 [007BH] |
0076 | v(80E00014): LDR R0, SP, 14H |
0077 | v(81E0000C): LDR R1, SP, CH |
0078 | v(00080001): ADD R0, R0, R1 |
0079 | w(40090004): SUB R0, R0, 4H |
007A | w(A0E00004): STR R0, SP, 4H |
| END ; |
| IF Y < 6 THENx Y := 6 ELSIFy Yz > DH - 6 THENa Y := DH - 6 ENDb; |
007B | x(80E00008): LDR R0, SP, 8H |
007C | x(40090006): SUB R0, R0, 6H |
007D | x(ED000003): BGE 3 [0081H] |
007E | y(40000006): MOV R0, R0, 6H |
007F | y(A0E00008): STR R0, SP, 8H |
0080 | z(E7000008): B 8 [0089H] |
0081 | a(80E00010): LDR R0, SP, 10H |
0082 | a(40090006): SUB R0, R0, 6H |
0083 | a(81E00008): LDR R1, SP, 8H |
0084 | a(01190000): SUB R1, R1, R0 |
0085 | a(E6000003): BLE 3 [0089H] |
0086 | b(80E00010): LDR R0, SP, 10H |
0087 | b(40090006): SUB R0, R0, 6H |
0088 | b(A0E00008): STR R0, SP, 8H |
| Display.CopyPattern(Display.white,c Display.updown,d X-4,e Y-4,f Display.invert)g |
0089 | c(40000001): MOV R0, R0, 1H |
008A | d .FIXUP D |
008A | d(8D30003C): LDR SB, MT, MOD3 [Display] |
008B | d(81D00009): LDR R1, SB, VAR9 |
008C | e(82E00004): LDR R2, SP, 4H |
008D | e(42290004): SUB R2, R2, 4H |
008E | f(83E00008): LDR R3, SP, 8H |
008F | f(43390004): SUB R3, R3, 4H |
0090 | g(44000002): MOV R4, R0, 2H |
| ENDh FlipSM; |
0091 | h .FIXUP P |
0091 | h(F731004E): BL MOD3 [Display] PROC16 |
0092 | h(8FE00000): LDR LNK, SP, 0H |
0093 | h(4EE80018): ADD SP, SP, 18H |
0094 | h(C700000F): B LNK |
| |
| PROCEDURE UpdateMark (F: Frame); (*in scroll bar*) |
| VAR oldH: INTEGER; |
| BEGINi oldH := F.markHj;k F.markHl := F.orgm * F.Hn DIVo (F.textp.lenq + 1)r;s |
0095 | i(4EE9000C): SUB SP, SP, CH |
0096 | i(AFE00000): STR LNK, SP, 0H |
0097 | i(A0E00004): STR R0, SP, 4H |
0098 | j(80E00004): LDR R0, SP, 4H |
0099 | j(D109584C): BLEQ MT [trap=4, pos=2392] |
009A | k(8000003C): LDR R0, R0, 3CH |
009B | k(A0E00008): STR R0, SP, 8H |
009C | l(80E00004): LDR R0, SP, 4H |
009D | l(D109614C): BLEQ MT [trap=4, pos=2401] |
009E | m(81E00004): LDR R1, SP, 4H |
009F | m(D1096A4C): BLEQ MT [trap=4, pos=2410] |
00A0 | n(82E00004): LDR R2, SP, 4H |
00A1 | n(D109704C): BLEQ MT [trap=4, pos=2416] |
00A2 | o(81100020): LDR R1, R1, 20H |
00A3 | o(82200014): LDR R2, R2, 14H |
00A4 | o(011A0002): MUL R1, R1, R2 |
00A5 | p(82E00004): LDR R2, SP, 4H |
00A6 | p(D1097C4C): BLEQ MT [trap=4, pos=2428] |
00A7 | q(8220001C): LDR R2, R2, 1CH |
00A8 | q(D109804C): BLEQ MT [trap=4, pos=2432] |
00A9 | r(82200000): LDR R2, R2, 0H |
00AA | r(42280001): ADD R2, R2, 1H |
00AB | s(D609866C): BLLE MT [trap=6, pos=2438] |
00AC | s(011B0002): DIV R1, R1, R2 |
00AD | s(A100003C): STR R1, R0, 3CH |
| IF F.hasMarkt & (uF.leftv >= barW)w & (xF.markHy # oldH)z THENa |
00AE | t(80E00004): LDR R0, SP, 4H |
00AF | t(D109974C): BLEQ MT [trap=4, pos=2455] |
00B0 | u(90000046): LDR R0, R0, 46H |
00B1 | u(E1000037): BEQ 55 [00E9H] |
00B2 | v(80E00004): LDR R0, SP, 4H |
00B3 | v(D109A14C): BLEQ MT [trap=4, pos=2465] |
00B4 | w(8000002C): LDR R0, R0, 2CH |
00B5 | w .FIXUP D |
00B5 | w(8D00002B): LDR SB, MT, MOD0 [TextFrames] |
00B6 | w(81D0009C): LDR R1, SB, 9CH [data] |
00B7 | w(00090001): SUB R0, R0, R1 |
00B8 | x(E5000030): BLT 48 [00E9H] |
00B9 | y(80E00004): LDR R0, SP, 4H |
00BA | y(D109B54C): BLEQ MT [trap=4, pos=2485] |
00BB | z(8000003C): LDR R0, R0, 3CH |
00BC | z(81E00008): LDR R1, SP, 8H |
00BD | z(00090001): SUB R0, R0, R1 |
00BE | a(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 |
00BF | b(40000001): MOV R0, R0, 1H |
00C0 | c(81E00004): LDR R1, SP, 4H |
00C1 | c(D109ED4C): BLEQ MT [trap=4, pos=2541] |
00C2 | d(81100008): LDR R1, R1, 8H |
00C3 | d(41180001): ADD R1, R1, 1H |
00C4 | e(82E00004): LDR R2, SP, 4H |
00C5 | e(D109F64C): BLEQ MT [trap=4, pos=2550] |
00C6 | f(83E00004): LDR R3, SP, 4H |
00C7 | f(D109FC4C): BLEQ MT [trap=4, pos=2556] |
00C8 | g(8220000C): LDR R2, R2, CH |
00C9 | g(83300014): LDR R3, R3, 14H |
00CA | g(02280003): ADD R2, R2, R3 |
00CB | h(42290001): SUB R2, R2, 1H |
00CC | i(83E00008): LDR R3, SP, 8H |
00CD | i(02290003): SUB R2, R2, R3 |
00CE | j .FIXUP D |
00CE | j(8D000019): LDR SB, MT, MOD0 [TextFrames] |
00CF | j(83D000C0): LDR R3, SB, C0H [data] |
00D0 | k(44000001): MOV R4, R0, 1H |
00D1 | l(45000002): MOV R5, R0, 2H |
00D2 | m .FIXUP P |
00D2 | m(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 |
00D3 | n(40000001): MOV R0, R0, 1H |
00D4 | o(81E00004): LDR R1, SP, 4H |
00D5 | o(D10A4E4C): BLEQ MT [trap=4, pos=2638] |
00D6 | p(81100008): LDR R1, R1, 8H |
00D7 | p(41180001): ADD R1, R1, 1H |
00D8 | q(82E00004): LDR R2, SP, 4H |
00D9 | q(D10A574C): BLEQ MT [trap=4, pos=2647] |
00DA | r(83E00004): LDR R3, SP, 4H |
00DB | r(D10A5D4C): BLEQ MT [trap=4, pos=2653] |
00DC | s(8220000C): LDR R2, R2, CH |
00DD | s(83300014): LDR R3, R3, 14H |
00DE | s(02280003): ADD R2, R2, R3 |
00DF | t(42290001): SUB R2, R2, 1H |
00E0 | u(83E00004): LDR R3, SP, 4H |
00E1 | u(D10A6B4C): BLEQ MT [trap=4, pos=2667] |
00E2 | v(8330003C): LDR R3, R3, 3CH |
00E3 | v(02290003): SUB R2, R2, R3 |
00E4 | w .FIXUP D |
00E4 | w(8D000016): LDR SB, MT, MOD0 [TextFrames] |
00E5 | w(83D000C0): LDR R3, SB, C0H [data] |
00E6 | x(44000001): MOV R4, R0, 1H |
00E7 | y(45000002): MOV R5, R0, 2H |
| ENDz |
00E8 | z .FIXUP P |
00E8 | z(F730F016): BL MOD3 [Display] PROC15 |
| ENDa UpdateMark; |
00E9 | a(8FE00000): LDR LNK, SP, 0H |
00EA | a(4EE8000C): ADD SP, SP, CH |
00EB | a(C700000F): B LNK |
| |
| PROCEDURE SetChangeMark (F: Frame; on: BOOLEAN); (*in corner*) |
| BEGINb |
00EC | b(4EE9000C): SUB SP, SP, CH |
00ED | b(AFE00000): STR LNK, SP, 0H |
00EE | b(A0E00004): STR R0, SP, 4H |
00EF | b(A1E00008): STR R1, SP, 8H |
| IF F.Hc > menuH THENd |
00F0 | c(80E00004): LDR R0, SP, 4H |
00F1 | c(D10AF64C): BLEQ MT [trap=4, pos=2806] |
00F2 | d(80000014): LDR R0, R0, 14H |
00F3 | d .FIXUP D |
00F3 | d(8D00000F): LDR SB, MT, MOD0 [TextFrames] |
00F4 | d(81D00098): LDR R1, SB, 98H [data] |
00F5 | d(00090001): SUB R0, R0, R1 |
00F6 | d(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 |
00F7 | e(90E00008): LDR R0, SP, 8H |
00F8 | e(E1000016): BEQ 22 [010FH] |
00F9 | f(40000001): MOV R0, R0, 1H |
00FA | g .FIXUP D |
00FA | g(8D300007): LDR SB, MT, MOD3 [Display] |
00FB | g(81D0000A): LDR R1, SB, VAR10 |
00FC | h(82E00004): LDR R2, SP, 4H |
00FD | h(D10B4B4C): BLEQ MT [trap=4, pos=2891] |
00FE | i(83E00004): LDR R3, SP, 4H |
00FF | i(D10B4F4C): BLEQ MT [trap=4, pos=2895] |
0100 | j(82200008): LDR R2, R2, 8H |
0101 | j(83300010): LDR R3, R3, 10H |
0102 | j(02280003): ADD R2, R2, R3 |
0103 | k(4229000C): SUB R2, R2, CH |
0104 | l(83E00004): LDR R3, SP, 4H |
0105 | l(D10B574C): BLEQ MT [trap=4, pos=2903] |
0106 | m(84E00004): LDR R4, SP, 4H |
0107 | m(D10B5B4C): BLEQ MT [trap=4, pos=2907] |
0108 | n(8330000C): LDR R3, R3, CH |
0109 | n(84400014): LDR R4, R4, 14H |
010A | n(03380004): ADD R3, R3, R4 |
010B | o(4339000C): SUB R3, R3, CH |
010C | p(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 |
010D | q .FIXUP P |
010D | q(F7310025): BL MOD3 [Display] PROC16 |
010E | r(E7000017): B 23 [0126H] |
010F | s(80E00004): LDR R0, SP, 4H |
0110 | s(D10B914C): BLEQ MT [trap=4, pos=2961] |
0111 | t(80000024): LDR R0, R0, 24H |
0112 | u(81E00004): LDR R1, SP, 4H |
0113 | u(D10B964C): BLEQ MT [trap=4, pos=2966] |
0114 | v(82E00004): LDR R2, SP, 4H |
0115 | v(D10B9A4C): BLEQ MT [trap=4, pos=2970] |
0116 | w(81100008): LDR R1, R1, 8H |
0117 | w(82200010): LDR R2, R2, 10H |
0118 | w(01180002): ADD R1, R1, R2 |
0119 | x(4119000C): SUB R1, R1, CH |
011A | y(82E00004): LDR R2, SP, 4H |
011B | y(D10BA24C): BLEQ MT [trap=4, pos=2978] |
011C | z(83E00004): LDR R3, SP, 4H |
011D | z(D10BA64C): BLEQ MT [trap=4, pos=2982] |
011E | a(8220000C): LDR R2, R2, CH |
011F | a(83300014): LDR R3, R3, 14H |
0120 | a(02280003): ADD R2, R2, R3 |
0121 | b(4229000C): SUB R2, R2, CH |
0122 | c(43000008): MOV R3, R0, 8H |
0123 | d(44000008): MOV R4, R0, 8H |
0124 | e(45000000): MOV R5, R0, 0H |
| ENDf |
0125 | f .FIXUP P |
0125 | f(F730F018): BL MOD3 [Display] PROC15 |
| END |
| ENDg SetChangeMark; |
0126 | g(8FE00000): LDR LNK, SP, 0H |
0127 | g(4EE8000C): ADD SP, SP, CH |
0128 | g(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 |
0129 | h(4EE90030): SUB SP, SP, 30H |
012A | h(AFE00000): STR LNK, SP, 0H |
012B | h(A0E00004): STR R0, SP, 4H |
012C | h(A1E00008): STR R1, SP, 8H |
012D | h(A2E0000C): STR R2, SP, CH |
012E | i(40000000): MOV R0, R0, 0H |
012F | i(A0E00014): STR R0, SP, 14H |
0130 | j(40000000): MOV R0, R0, 0H |
0131 | j(A0E00018): STR R0, SP, 18H |
| WHILE pos < len DOk |
0132 | k(80E00014): LDR R0, SP, 14H |
0133 | k(81E0000C): LDR R1, SP, CH |
0134 | k(00090001): SUB R0, R0, R1 |
0135 | k(ED000018): BGE 24 [014EH] |
| Fonts.GetPat(R.fnt,l nextCh,m dx,n x,o y,p w,q h,r patadr)s;t |
0136 | l(80E00004): LDR R0, SP, 4H |
0137 | l(80000004): LDR R0, R0, 4H |
0138 | m .FIXUP D |
0138 | m(8D00003E): LDR SB, MT, MOD0 [TextFrames] |
0139 | m(91D000C8): LDR R1, SB, C8H [data] |
013A | n(42E8001C): ADD R2, SP, 1CH |
013B | o(43E80020): ADD R3, SP, 20H |
013C | p(44E80024): ADD R4, SP, 24H |
013D | q(45E80028): ADD R5, SP, 28H |
013E | r(46E8002C): ADD R6, SP, 2CH |
013F | s(47E80010): ADD R7, SP, 10H |
0140 | t .FIXUP P |
0140 | t(F750401B): BL MOD5 [Fonts] PROC4 |
| ox := ox + dx;u INC(pos);v Texts.Read(R,w nextCh)x |
0141 | u(80E00018): LDR R0, SP, 18H |
0142 | u(81E0001C): LDR R1, SP, 1CH |
0143 | u(00080001): ADD R0, R0, R1 |
0144 | u(A0E00018): STR R0, SP, 18H |
0145 | v(80E00014): LDR R0, SP, 14H |
0146 | v(40080001): ADD R0, R0, 1H |
0147 | v(A0E00014): STR R0, SP, 14H |
0148 | w(80E00004): LDR R0, SP, 4H |
0149 | w(81E00008): LDR R1, SP, 8H |
014A | x .FIXUP D |
014A | x(8D000012): LDR SB, MT, MOD0 [TextFrames] |
014B | x(42D800C8): ADD R2, SB, C8H [data] |
| ENDy; |
014C | y .FIXUP P |
014C | y(F761300C): BL MOD6 [Texts] PROC19 |
014D | y(E7FFFFE4): B -28 [0132H] |
| RETURN ox |
| ENDz Width; |
014E | z(80E00018): LDR R0, SP, 18H |
014F | z(8FE00000): LDR LNK, SP, 0H |
0150 | z(4EE80030): ADD SP, SP, 30H |
0151 | z(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 |
0152 | a(4EE9003C): SUB SP, SP, 3CH |
0153 | a(AFE00000): STR LNK, SP, 0H |
0154 | a(A0E00004): STR R0, SP, 4H |
0155 | a(A1E00008): STR R1, SP, 8H |
0156 | a(A2E0000C): STR R2, SP, CH |
0157 | a(A3E00010): STR R3, SP, 10H |
0158 | a(A4E00014): STR R4, SP, 14H |
0159 | a(A5E00018): STR R5, SP, 18H |
015A | a(A6E0001C): STR R6, SP, 1CH |
015B | b(80E00004): LDR R0, SP, 4H |
015C | b(D10DCE4C): BLEQ MT [trap=4, pos=3534] |
015D | c(81E00004): LDR R1, SP, 4H |
015E | c(D10DD44C): BLEQ MT [trap=4, pos=3540] |
015F | d(80000008): LDR R0, R0, 8H |
0160 | d(81100010): LDR R1, R1, 10H |
0161 | d(00080001): ADD R0, R0, R1 |
0162 | d(A0E00024): STR R0, SP, 24H |
| WHILE (nextCh # CR)e & (fR.fnt # NIL)g DOh |
0163 | e .FIXUP D |
0163 | e(8D000019): LDR SB, MT, MOD0 [TextFrames] |
0164 | e(90D000C8): LDR R0, SB, C8H [data] |
0165 | e(4009000D): SUB R0, R0, DH |
0166 | f(E1000030): BEQ 48 [0197H] |
0167 | g(80E0000C): LDR R0, SP, CH |
0168 | g(80000004): LDR R0, R0, 4H |
0169 | h(E100002D): BEQ 45 [0197H] |
| Fonts.GetPat(R.fnt,i nextCh,j dx,k x,l y,m w,n h,o patadr)p;q |
016A | i(80E0000C): LDR R0, SP, CH |
016B | i(80000004): LDR R0, R0, 4H |
016C | j .FIXUP D |
016C | j(8D000009): LDR SB, MT, MOD0 [TextFrames] |
016D | j(91D000C8): LDR R1, SB, C8H [data] |
016E | k(42E80028): ADD R2, SP, 28H |
016F | l(43E8002C): ADD R3, SP, 2CH |
0170 | m(44E80030): ADD R4, SP, 30H |
0171 | n(45E80034): ADD R5, SP, 34H |
0172 | o(46E80038): ADD R6, SP, 38H |
0173 | p(47E80020): ADD R7, SP, 20H |
0174 | q .FIXUP P |
0174 | q(F7504028): BL MOD5 [Fonts] PROC4 |
| IF (X + x +r w <=s NX)t & (uh # 0)v THENw |
0175 | r(80E00014): LDR R0, SP, 14H |
0176 | r(81E0002C): LDR R1, SP, 2CH |
0177 | r(00080001): ADD R0, R0, R1 |
0178 | s(81E00034): LDR R1, SP, 34H |
0179 | s(00080001): ADD R0, R0, R1 |
017A | t(81E00024): LDR R1, SP, 24H |
017B | t(00090001): SUB R0, R0, R1 |
017C | u(EE00000D): BGT 13 [018AH] |
017D | v(80E00038): LDR R0, SP, 38H |
017E | w(E100000B): BEQ 11 [018AH] |
| Display.CopyPattern(R.col,x patadr,y X + x,z Y + y,a Display.invert)b |
017F | x(80E0000C): LDR R0, SP, CH |
0180 | x(80000008): LDR R0, R0, 8H |
0181 | y(81E00020): LDR R1, SP, 20H |
0182 | z(82E00014): LDR R2, SP, 14H |
0183 | z(83E0002C): LDR R3, SP, 2CH |
0184 | z(02280003): ADD R2, R2, R3 |
0185 | a(83E00018): LDR R3, SP, 18H |
0186 | a(84E00030): LDR R4, SP, 30H |
0187 | a(03380004): ADD R3, R3, R4 |
0188 | b(44000002): MOV R4, R0, 2H |
| ENDc; |
0189 | c .FIXUP P |
0189 | c(F7310015): BL MOD3 [Display] PROC16 |
| X := X + dx;d INC(len);e Texts.Read(R,f nextCh)g |
018A | d(80E00014): LDR R0, SP, 14H |
018B | d(81E00028): LDR R1, SP, 28H |
018C | d(00080001): ADD R0, R0, R1 |
018D | d(A0E00014): STR R0, SP, 14H |
018E | e(80E0001C): LDR R0, SP, 1CH |
018F | e(40080001): ADD R0, R0, 1H |
0190 | e(A0E0001C): STR R0, SP, 1CH |
0191 | f(80E0000C): LDR R0, SP, CH |
0192 | f(81E00010): LDR R1, SP, 10H |
0193 | g .FIXUP D |
0193 | g(8D000027): LDR SB, MT, MOD0 [TextFrames] |
0194 | g(42D800C8): ADD R2, SB, C8H [data] |
| ENDh; |
0195 | h .FIXUP P |
0195 | h(F761300C): BL MOD6 [Texts] PROC19 |
0196 | h(E7FFFFCC): B -52 [0163H] |
| L.leni := len + 1;j L.widk := X + eolW -l (F.Xm + F.leftn)o;p |
0197 | i(80E00008): LDR R0, SP, 8H |
0198 | i(D10EFF4C): BLEQ MT [trap=4, pos=3839] |
0199 | j(81E0001C): LDR R1, SP, 1CH |
019A | j(41180001): ADD R1, R1, 1H |
019B | j(A1000000): STR R1, R0, 0H |
019C | k(80E00008): LDR R0, SP, 8H |
019D | k(D10F114C): BLEQ MT [trap=4, pos=3857] |
019E | l(81E00014): LDR R1, SP, 14H |
019F | l .FIXUP D |
019F | l(8D00000C): LDR SB, MT, MOD0 [TextFrames] |
01A0 | l(82D000C4): LDR R2, SB, C4H [data] |
01A1 | l(01180002): ADD R1, R1, R2 |
01A2 | m(82E00004): LDR R2, SP, 4H |
01A3 | m(D10F244C): BLEQ MT [trap=4, pos=3876] |
01A4 | n(83E00004): LDR R3, SP, 4H |
01A5 | n(D10F2D4C): BLEQ MT [trap=4, pos=3885] |
01A6 | o(82200008): LDR R2, R2, 8H |
01A7 | o(8330002C): LDR R3, R3, 2CH |
01A8 | o(02280003): ADD R2, R2, R3 |
01A9 | p(01190002): SUB R1, R1, R2 |
01AA | p(A1000004): STR R1, R0, 4H |
| L.eotq := R.fnt = NIL;r Texts.Read(R,s nextCh)t |
01AB | q(80E00008): LDR R0, SP, 8H |
01AC | q(D10F394C): BLEQ MT [trap=4, pos=3897] |
01AD | r(81E0000C): LDR R1, SP, CH |
01AE | r(81100004): LDR R1, R1, 4H |
01AF | r(E9000002): BNE 2 [01B2H] |
01B0 | r(41000001): MOV R1, R0, 1H |
01B1 | r(E7000001): B 1 [01B3H] |
01B2 | r(41000000): MOV R1, R0, 0H |
01B3 | r(B1000008): STR R1, R0, 8H |
01B4 | s(80E0000C): LDR R0, SP, CH |
01B5 | s(81E00010): LDR R1, SP, 10H |
01B6 | t .FIXUP D |
01B6 | t(8D000017): LDR SB, MT, MOD0 [TextFrames] |
01B7 | t(42D800C8): ADD R2, SB, C8H [data] |
| ENDu DisplayLine; |
01B8 | u .FIXUP P |
01B8 | u(F7613023): BL MOD6 [Texts] PROC19 |
01B9 | u(8FE00000): LDR LNK, SP, 0H |
01BA | u(4EE8003C): ADD SP, SP, 3CH |
01BB | u(C700000F): B LNK |
| |
| PROCEDURE Validate (T: Texts.Text; VAR pos: LONGINT); |
| VAR R: Texts.Reader; |
| BEGINv |
01BC | v(4EE90040): SUB SP, SP, 40H |
01BD | v(AFE00000): STR LNK, SP, 0H |
01BE | v(A0E00004): STR R0, SP, 4H |
01BF | v(A1E00008): STR R1, SP, 8H |
| IF pos > T.lenw THENx pos := T.leny |
01C0 | w(80E00004): LDR R0, SP, 4H |
01C1 | w(D10FDF4C): BLEQ MT [trap=4, pos=4063] |
01C2 | x(81E00008): LDR R1, SP, 8H |
01C3 | x(81100000): LDR R1, R1, 0H |
01C4 | x(80000000): LDR R0, R0, 0H |
01C5 | x(01190000): SUB R1, R1, R0 |
01C6 | x(E6000006): BLE 6 [01CDH] |
01C7 | y(80E00004): LDR R0, SP, 4H |
01C8 | y(D10FF14C): BLEQ MT [trap=4, pos=4081] |
| ELSIFz posa > 0 THENb |
01C9 | z(80000000): LDR R0, R0, 0H |
01CA | z(81E00008): LDR R1, SP, 8H |
01CB | z(A0100000): STR R0, R1, 0H |
01CC | a(E7000023): B 35 [01F0H] |
01CD | b(80E00008): LDR R0, SP, 8H |
01CE | b(80000000): LDR R0, R0, 0H |
01CF | b(40090000): SUB R0, R0, 0H |
01D0 | b(E600001C): BLE 28 [01EDH] |
| DEC(pos);c Texts.OpenReader(R,d T,e pos)f;g |
01D1 | c(80E00008): LDR R0, SP, 8H |
01D2 | c(81000000): LDR R1, R0, 0H |
01D3 | c(41190001): SUB R1, R1, 1H |
01D4 | c(A1000000): STR R1, R0, 0H |
01D5 | d(40E8000C): ADD R0, SP, CH |
01D6 | d .FIXUP D |
01D6 | d(8D600020): LDR SB, MT, MOD6 [Texts] |
01D7 | d(41D80002): ADD R1, SB, VAR2 |
01D8 | e(82E00004): LDR R2, SP, 4H |
01D9 | f(83E00008): LDR R3, SP, 8H |
01DA | f(83300000): LDR R3, R3, 0H |
01DB | g .FIXUP P |
01DB | g(F7612023): BL MOD6 [Texts] PROC18 |
| REPEAT Texts.Read(R,h nextCh)i;j INC(pos) UNTILk R.eot OR (lnextCh = CR)m |
01DC | h(40E8000C): ADD R0, SP, CH |
01DD | h .FIXUP D |
01DD | h(8D600007): LDR SB, MT, MOD6 [Texts] |
01DE | h(41D80002): ADD R1, SB, VAR2 |
01DF | i .FIXUP D |
01DF | i(8D000002): LDR SB, MT, MOD0 [TextFrames] |
01E0 | i(42D800C8): ADD R2, SB, C8H [data] |
01E1 | j .FIXUP P |
01E1 | j(F7613006): BL MOD6 [Texts] PROC19 |
01E2 | k(80E00008): LDR R0, SP, 8H |
01E3 | k(81000000): LDR R1, R0, 0H |
01E4 | k(41180001): ADD R1, R1, 1H |
01E5 | k(A1000000): STR R1, R0, 0H |
01E6 | l(90E0000C): LDR R0, SP, CH |
01E7 | l(E9000004): BNE 4 [01ECH] |
01E8 | m .FIXUP D |
01E8 | m(8D000009): LDR SB, MT, MOD0 [TextFrames] |
01E9 | m(90D000C8): LDR R0, SB, C8H [data] |
01EA | m(4009000D): SUB R0, R0, DH |
| ELSEn poso := 0 |
01EB | n(E9FFFFF0): BNE -16 [01DCH] |
01EC | o(E7000003): B 3 [01F0H] |
| ENDp |
01ED | p(40000000): MOV R0, R0, 0H |
01EE | p(81E00008): LDR R1, SP, 8H |
01EF | p(A0100000): STR R0, R1, 0H |
| ENDq Validate; |
01F0 | q(8FE00000): LDR LNK, SP, 0H |
01F1 | q(4EE80040): ADD SP, SP, 40H |
01F2 | q(C700000F): B LNK |
| |
| PROCEDURE Mark* (F: Frame; on: BOOLEAN); |
| BEGINr |
01F3 | r .PROC 12 |
01F3 | r(4EE9000C): SUB SP, SP, CH |
01F4 | r(AFE00000): STR LNK, SP, 0H |
01F5 | r(A0E00004): STR R0, SP, 4H |
01F6 | r(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 |
01F7 | s(80E00004): LDR R0, SP, 4H |
01F8 | s(D110E94C): BLEQ MT [trap=4, pos=4329] |
01F9 | t(80000014): LDR R0, R0, 14H |
01FA | t(40090000): SUB R0, R0, 0H |
01FB | u(E6000029): BLE 41 [0225H] |
01FC | v(80E00004): LDR R0, SP, 4H |
01FD | v(D110F84C): BLEQ MT [trap=4, pos=4344] |
01FE | w(8000002C): LDR R0, R0, 2CH |
01FF | w .FIXUP D |
01FF | w(8D000017): LDR SB, MT, MOD0 [TextFrames] |
0200 | w(81D0009C): LDR R1, SB, 9CH [data] |
0201 | w(00090001): SUB R0, R0, R1 |
0202 | x(E5000022): BLT 34 [0225H] |
0203 | y(80E00004): LDR R0, SP, 4H |
0204 | y(D1110F4C): BLEQ MT [trap=4, pos=4367] |
0205 | z(90000046): LDR R0, R0, 46H |
0206 | z(E1000002): BEQ 2 [0209H] |
0207 | a(90E00008): LDR R0, SP, 8H |
0208 | b(E1000006): BEQ 6 [020FH] |
0209 | c(80E00004): LDR R0, SP, 4H |
020A | c(D111254C): BLEQ MT [trap=4, pos=4389] |
020B | d(90000046): LDR R0, R0, 46H |
020C | e(E9000018): BNE 24 [0225H] |
020D | f(90E00008): LDR R0, SP, 8H |
020E | g(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 |
020F | h(40000001): MOV R0, R0, 1H |
0210 | i(81E00004): LDR R1, SP, 4H |
0211 | i(D1115C4C): BLEQ MT [trap=4, pos=4444] |
0212 | j(81100008): LDR R1, R1, 8H |
0213 | j(41180001): ADD R1, R1, 1H |
0214 | k(82E00004): LDR R2, SP, 4H |
0215 | k(D111654C): BLEQ MT [trap=4, pos=4453] |
0216 | l(83E00004): LDR R3, SP, 4H |
0217 | l(D1116B4C): BLEQ MT [trap=4, pos=4459] |
0218 | m(8220000C): LDR R2, R2, CH |
0219 | m(83300014): LDR R3, R3, 14H |
021A | m(02280003): ADD R2, R2, R3 |
021B | n(42290001): SUB R2, R2, 1H |
021C | o(83E00004): LDR R3, SP, 4H |
021D | o(D111794C): BLEQ MT [trap=4, pos=4473] |
021E | p(8330003C): LDR R3, R3, 3CH |
021F | p(02290003): SUB R2, R2, R3 |
0220 | q .FIXUP D |
0220 | q(8D000021): LDR SB, MT, MOD0 [TextFrames] |
0221 | q(83D000C0): LDR R3, SB, C0H [data] |
0222 | r(44000001): MOV R4, R0, 1H |
0223 | s(45000002): MOV R5, R0, 2H |
| ENDt; |
0224 | t .FIXUP P |
0224 | t(F730F043): BL MOD3 [Display] PROC15 |
| F.hasMarku := on |
0225 | u(80E00004): LDR R0, SP, 4H |
0226 | u(D111AB4C): BLEQ MT [trap=4, pos=4523] |
| ENDv Mark; |
0227 | v(91E00008): LDR R1, SP, 8H |
0228 | v(B1000046): STR R1, R0, 46H |
0229 | v(8FE00000): LDR LNK, SP, 0H |
022A | v(4EE8000C): ADD SP, SP, CH |
022B | v(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 |
022C | w .PROC 13 |
022C | w(4EE9004C): SUB SP, SP, 4CH |
022D | w(AFE00000): STR LNK, SP, 0H |
022E | w(A0E00004): STR R0, SP, 4H |
022F | x(80E00004): LDR R0, SP, 4H |
0230 | x(D1123A4C): BLEQ MT [trap=4, pos=4666] |
0231 | y(80000024): LDR R0, R0, 24H |
0232 | z(81E00004): LDR R1, SP, 4H |
0233 | z(D1123F4C): BLEQ MT [trap=4, pos=4671] |
0234 | a(81100008): LDR R1, R1, 8H |
0235 | b(82E00004): LDR R2, SP, 4H |
0236 | b(D112444C): BLEQ MT [trap=4, pos=4676] |
0237 | c(8220000C): LDR R2, R2, CH |
0238 | d(83E00004): LDR R3, SP, 4H |
0239 | d(D112494C): BLEQ MT [trap=4, pos=4681] |
023A | e(83300010): LDR R3, R3, 10H |
023B | f(84E00004): LDR R4, SP, 4H |
023C | f(D1124E4C): BLEQ MT [trap=4, pos=4686] |
023D | g(84400014): LDR R4, R4, 14H |
023E | h(45000000): MOV R5, R0, 0H |
023F | i .FIXUP P |
023F | i(F730F01B): BL MOD3 [Display] PROC15 |
| IF F.leftj >= barW THENk |
0240 | j(80E00004): LDR R0, SP, 4H |
0241 | j(D1126F4C): BLEQ MT [trap=4, pos=4719] |
0242 | k(8000002C): LDR R0, R0, 2CH |
0243 | k .FIXUP D |
0243 | k(8D000023): LDR SB, MT, MOD0 [TextFrames] |
0244 | k(81D0009C): LDR R1, SB, 9CH [data] |
0245 | k(00090001): SUB R0, R0, R1 |
0246 | k(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 |
0247 | l(40000001): MOV R0, R0, 1H |
0248 | m(81E00004): LDR R1, SP, 4H |
0249 | m(D112A74C): BLEQ MT [trap=4, pos=4775] |
024A | n(81100008): LDR R1, R1, 8H |
024B | n .FIXUP D |
024B | n(8D000008): LDR SB, MT, MOD0 [TextFrames] |
024C | n(82D0009C): LDR R2, SB, 9CH [data] |
024D | n(01180002): ADD R1, R1, R2 |
024E | o(41190001): SUB R1, R1, 1H |
024F | p(82E00004): LDR R2, SP, 4H |
0250 | p(D112B74C): BLEQ MT [trap=4, pos=4791] |
0251 | q(8220000C): LDR R2, R2, CH |
0252 | r(43000001): MOV R3, R0, 1H |
0253 | s(84E00004): LDR R4, SP, 4H |
0254 | s(D112BF4C): BLEQ MT [trap=4, pos=4799] |
0255 | t(84400014): LDR R4, R4, 14H |
0256 | u(45000002): MOV R5, R0, 2H |
| ENDv; |
0257 | v .FIXUP P |
0257 | v(F730F018): BL MOD3 [Display] PROC15 |
| Validate(F.textw,x F.orgy)z;a |
0258 | w(80E00004): LDR R0, SP, 4H |
0259 | w(D112ED4C): BLEQ MT [trap=4, pos=4845] |
025A | x(8000001C): LDR R0, R0, 1CH |
025B | y(81E00004): LDR R1, SP, 4H |
025C | y(D112F44C): BLEQ MT [trap=4, pos=4852] |
025D | z(41180020): ADD R1, R1, 20H |
025E | a(F7FFFF5D): BL -163 [01BCH] |
| botY := F.Yb + F.botc +d dsr;e |
025F | b(80E00004): LDR R0, SP, 4H |
0260 | b(D113064C): BLEQ MT [trap=4, pos=4870] |
0261 | c(81E00004): LDR R1, SP, 4H |
0262 | c(D1130E4C): BLEQ MT [trap=4, pos=4878] |
0263 | d(8000000C): LDR R0, R0, CH |
0264 | d(81100038): LDR R1, R1, 38H |
0265 | d(00080001): ADD R0, R0, R1 |
0266 | e .FIXUP D |
0266 | e(8D00001B): LDR SB, MT, MOD0 [TextFrames] |
0267 | e(81D000B8): LDR R1, SB, B8H [data] |
0268 | e(00080001): ADD R0, R0, R1 |
0269 | e(A0E00048): STR R0, SP, 48H |
| Texts.OpenReader(R,f F.textg,h F.orgi)j;k Texts.Read(R,l nextCh)m;n |
026A | f(40E80008): ADD R0, SP, 8H |
026B | f .FIXUP D |
026B | f(8D600005): LDR SB, MT, MOD6 [Texts] |
026C | f(41D80002): ADD R1, SB, VAR2 |
026D | g(82E00004): LDR R2, SP, 4H |
026E | g(D113344C): BLEQ MT [trap=4, pos=4916] |
026F | h(8220001C): LDR R2, R2, 1CH |
0270 | i(83E00004): LDR R3, SP, 4H |
0271 | i(D1133B4C): BLEQ MT [trap=4, pos=4923] |
0272 | j(83300020): LDR R3, R3, 20H |
0273 | k .FIXUP P |
0273 | k(F761201C): BL MOD6 [Texts] PROC18 |
0274 | l(40E80008): ADD R0, SP, 8H |
0275 | l .FIXUP D |
0275 | l(8D60000A): LDR SB, MT, MOD6 [Texts] |
0276 | l(41D80002): ADD R1, SB, VAR2 |
0277 | m .FIXUP D |
0277 | m(8D000002): LDR SB, MT, MOD0 [TextFrames] |
0278 | m(42D800C8): ADD R2, SB, C8H [data] |
0279 | n .FIXUP P |
0279 | n(F7613006): BL MOD6 [Texts] PROC19 |
| L := F.trailero;p curY := F.Yq + F.Hr -s F.topt -u asr;v |
027A | o(80E00004): LDR R0, SP, 4H |
027B | o(D113674C): BLEQ MT [trap=4, pos=4967] |
027C | p(80000090): LDR R0, R0, 90H |
027D | p(A0E0003C): STR R0, SP, 3CH |
027E | q(80E00004): LDR R0, SP, 4H |
027F | q(D113744C): BLEQ MT [trap=4, pos=4980] |
0280 | r(81E00004): LDR R1, SP, 4H |
0281 | r(D1137A4C): BLEQ MT [trap=4, pos=4986] |
0282 | s(8000000C): LDR R0, R0, CH |
0283 | s(81100014): LDR R1, R1, 14H |
0284 | s(00080001): ADD R0, R0, R1 |
0285 | t(81E00004): LDR R1, SP, 4H |
0286 | t(D113824C): BLEQ MT [trap=4, pos=4994] |
0287 | u(81100034): LDR R1, R1, 34H |
0288 | u(00090001): SUB R0, R0, R1 |
0289 | v .FIXUP D |
0289 | v(8D000012): LDR SB, MT, MOD0 [TextFrames] |
028A | v(81D000B4): LDR R1, SB, B4H [data] |
028B | v(00090001): SUB R0, R0, R1 |
028C | v(A0E00044): STR R0, SP, 44H |
| WHILE ~L.eotw &x (ycurY >= botY)z DOa |
028D | w(80E0003C): LDR R0, SP, 3CH |
028E | w(D1139A4C): BLEQ MT [trap=4, pos=5018] |
028F | x(90000008): LDR R0, R0, 8H |
0290 | y(E9000023): BNE 35 [02B4H] |
0291 | z(80E00044): LDR R0, SP, 44H |
0292 | z(81E00048): LDR R1, SP, 48H |
0293 | z(00090001): SUB R0, R0, R1 |
0294 | a(E500001F): BLT 31 [02B4H] |
| NEW(l);b |
0295 | b(40E80040): ADD R0, SP, 40H |
0296 | b .FIXUP D |
0296 | b(8D00000D): LDR SB, MT, MOD0 [TextFrames] |
0297 | b(41D80000): ADD R1, SB, 0H [data] |
0298 | b(D713BC0C): BL MT [trap=0, pos=5052] |
| DisplayLine(F,c l,d R,e F.Xf + F.leftg,h curY,i 0)j;k |
0299 | c(80E00004): LDR R0, SP, 4H |
029A | d(81E00040): LDR R1, SP, 40H |
029B | e(42E80008): ADD R2, SP, 8H |
029C | e .FIXUP D |
029C | e(8D600006): LDR SB, MT, MOD6 [Texts] |
029D | e(43D80002): ADD R3, SB, VAR2 |
029E | f(84E00004): LDR R4, SP, 4H |
029F | f(D113DB4C): BLEQ MT [trap=4, pos=5083] |
02A0 | g(85E00004): LDR R5, SP, 4H |
02A1 | g(D113E44C): BLEQ MT [trap=4, pos=5092] |
02A2 | h(84400008): LDR R4, R4, 8H |
02A3 | h(8550002C): LDR R5, R5, 2CH |
02A4 | h(04480005): ADD R4, R4, R5 |
02A5 | i(85E00044): LDR R5, SP, 44H |
02A6 | j(46000000): MOV R6, R0, 0H |
02A7 | k(F7FFFEAA): BL -342 [0152H] |
| L.nextl := l;m L := l;n curY := curY - lsp |
02A8 | l(80E0003C): LDR R0, SP, 3CH |
02A9 | l(D113FC4C): BLEQ MT [trap=4, pos=5116] |
02AA | m(81E00040): LDR R1, SP, 40H |
02AB | m(A100000C): STR R1, R0, CH |
02AC | n(80E00040): LDR R0, SP, 40H |
02AD | n(A0E0003C): STR R0, SP, 3CH |
| ENDo; |
02AE | o(80E00044): LDR R0, SP, 44H |
02AF | o .FIXUP D |
02AF | o(8D000013): LDR SB, MT, MOD0 [TextFrames] |
02B0 | o(81D000B0): LDR R1, SB, B0H [data] |
02B1 | o(00090001): SUB R0, R0, R1 |
02B2 | o(A0E00044): STR R0, SP, 44H |
02B3 | o(E7FFFFD9): B -39 [028DH] |
| L.nextp := F.trailerq;r |
02B4 | p(80E0003C): LDR R0, SP, 3CH |
02B5 | p(D114314C): BLEQ MT [trap=4, pos=5169] |
02B6 | q(81E00004): LDR R1, SP, 4H |
02B7 | q(D1143E4C): BLEQ MT [trap=4, pos=5182] |
02B8 | r(81100090): LDR R1, R1, 90H |
02B9 | r(A100000C): STR R1, R0, CH |
| F.markHs := F.orgt * F.Hu DIVv (F.textw.lenx + 1)y |
02BA | s(80E00004): LDR R0, SP, 4H |
02BB | s(D1144B4C): BLEQ MT [trap=4, pos=5195] |
02BC | t(81E00004): LDR R1, SP, 4H |
02BD | t(D114544C): BLEQ MT [trap=4, pos=5204] |
02BE | u(82E00004): LDR R2, SP, 4H |
02BF | u(D1145A4C): BLEQ MT [trap=4, pos=5210] |
02C0 | v(81100020): LDR R1, R1, 20H |
02C1 | v(82200014): LDR R2, R2, 14H |
02C2 | v(011A0002): MUL R1, R1, R2 |
02C3 | w(82E00004): LDR R2, SP, 4H |
02C4 | w(D114664C): BLEQ MT [trap=4, pos=5222] |
02C5 | x(8220001C): LDR R2, R2, 1CH |
02C6 | x(D1146A4C): BLEQ MT [trap=4, pos=5226] |
02C7 | y(82200000): LDR R2, R2, 0H |
02C8 | y(42280001): ADD R2, R2, 1H |
| ENDz Restore; |
02C9 | z(D614756C): BLLE MT [trap=6, pos=5237] |
02CA | z(011B0002): DIV R1, R1, R2 |
02CB | z(A100003C): STR R1, R0, 3CH |
02CC | z(8FE00000): LDR LNK, SP, 0H |
02CD | z(4EE8004C): ADD SP, SP, 4CH |
02CE | z(C700000F): B LNK |
| |
| PROCEDURE Suspend* (F: Frame); |
| BEGINa F.trailerb.nextc := F.trailerd |
02CF | a .PROC 14 |
02CF | a(4EE90008): SUB SP, SP, 8H |
02D0 | a(AFE00000): STR LNK, SP, 0H |
02D1 | a(A0E00004): STR R0, SP, 4H |
02D2 | b(80E00004): LDR R0, SP, 4H |
02D3 | b(D114B34C): BLEQ MT [trap=4, pos=5299] |
02D4 | c(80000090): LDR R0, R0, 90H |
02D5 | c(D114B84C): BLEQ MT [trap=4, pos=5304] |
02D6 | d(81E00004): LDR R1, SP, 4H |
02D7 | d(D114C54C): BLEQ MT [trap=4, pos=5317] |
| ENDe Suspend; |
02D8 | e(81100090): LDR R1, R1, 90H |
02D9 | e(A100000C): STR R1, R0, CH |
02DA | e(8FE00000): LDR LNK, SP, 0H |
02DB | e(4EE80008): ADD SP, SP, 8H |
02DC | e(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 |
02DD | f .PROC 15 |
02DD | f(4EE90054): SUB SP, SP, 54H |
02DE | f(AFE00000): STR LNK, SP, 0H |
02DF | f(A0E00004): STR R0, SP, 4H |
02E0 | f(A1E00008): STR R1, SP, 8H |
02E1 | g(80E00004): LDR R0, SP, 4H |
02E2 | g(D115704C): BLEQ MT [trap=4, pos=5488] |
02E3 | h(80000024): LDR R0, R0, 24H |
02E4 | i(81E00004): LDR R1, SP, 4H |
02E5 | i(D115754C): BLEQ MT [trap=4, pos=5493] |
02E6 | j(81100008): LDR R1, R1, 8H |
02E7 | k(82E00008): LDR R2, SP, 8H |
02E8 | l(83E00004): LDR R3, SP, 4H |
02E9 | l(D115804C): BLEQ MT [trap=4, pos=5504] |
02EA | m(83300010): LDR R3, R3, 10H |
02EB | n(84E00004): LDR R4, SP, 4H |
02EC | n(D115854C): BLEQ MT [trap=4, pos=5509] |
02ED | o(8440000C): LDR R4, R4, CH |
02EE | o(85E00008): LDR R5, SP, 8H |
02EF | o(04490005): SUB R4, R4, R5 |
02F0 | p(45000000): MOV R5, R0, 0H |
02F1 | q .FIXUP P |
02F1 | q(F730F078): BL MOD3 [Display] PROC15 |
| IF F.leftr >= barW THENs |
02F2 | r(80E00004): LDR R0, SP, 4H |
02F3 | r(D115AD4C): BLEQ MT [trap=4, pos=5549] |
02F4 | s(8000002C): LDR R0, R0, 2CH |
02F5 | s .FIXUP D |
02F5 | s(8D000046): LDR SB, MT, MOD0 [TextFrames] |
02F6 | s(81D0009C): LDR R1, SB, 9CH [data] |
02F7 | s(00090001): SUB R0, R0, R1 |
02F8 | s(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 |
02F9 | t(40000001): MOV R0, R0, 1H |
02FA | u(81E00004): LDR R1, SP, 4H |
02FB | u(D115E54C): BLEQ MT [trap=4, pos=5605] |
02FC | v(81100008): LDR R1, R1, 8H |
02FD | v .FIXUP D |
02FD | v(8D000008): LDR SB, MT, MOD0 [TextFrames] |
02FE | v(82D0009C): LDR R2, SB, 9CH [data] |
02FF | v(01180002): ADD R1, R1, R2 |
0300 | w(41190001): SUB R1, R1, 1H |
0301 | x(82E00008): LDR R2, SP, 8H |
0302 | y(43000001): MOV R3, R0, 1H |
0303 | z(84E00004): LDR R4, SP, 4H |
0304 | z(D115FE4C): BLEQ MT [trap=4, pos=5630] |
0305 | a(8440000C): LDR R4, R4, CH |
0306 | a(85E00008): LDR R5, SP, 8H |
0307 | a(04490005): SUB R4, R4, R5 |
0308 | b(45000002): MOV R5, R0, 2H |
| ENDc; |
0309 | c .FIXUP P |
0309 | c(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 |
030A | d(80E00004): LDR R0, SP, 4H |
030B | d(D1162F4C): BLEQ MT [trap=4, pos=5679] |
030C | e(81E00004): LDR R1, SP, 4H |
030D | e(D116374C): BLEQ MT [trap=4, pos=5687] |
030E | f(8000000C): LDR R0, R0, CH |
030F | f(81100038): LDR R1, R1, 38H |
0310 | f(00080001): ADD R0, R0, R1 |
0311 | g .FIXUP D |
0311 | g(8D000014): LDR SB, MT, MOD0 [TextFrames] |
0312 | g(81D000B8): LDR R1, SB, B8H [data] |
0313 | g(00080001): ADD R0, R0, R1 |
0314 | g(A0E00050): STR R0, SP, 50H |
0315 | h(80E00004): LDR R0, SP, 4H |
0316 | h(D116424C): BLEQ MT [trap=4, pos=5698] |
0317 | i(81E00004): LDR R1, SP, 4H |
0318 | i(D116494C): BLEQ MT [trap=4, pos=5705] |
0319 | j(82E00004): LDR R2, SP, 4H |
031A | j(D1164F4C): BLEQ MT [trap=4, pos=5711] |
031B | k(81100014): LDR R1, R1, 14H |
031C | k(8220000C): LDR R2, R2, CH |
031D | k(01180002): ADD R1, R1, R2 |
031E | l(82E00008): LDR R2, SP, 8H |
031F | l(01190002): SUB R1, R1, R2 |
0320 | l(A1000014): STR R1, R0, 14H |
0321 | m(80E00004): LDR R0, SP, 4H |
0322 | m(D1165B4C): BLEQ MT [trap=4, pos=5723] |
0323 | n(81E00008): LDR R1, SP, 8H |
0324 | n(A100000C): STR R1, R0, CH |
| IF F.trailero.nextp = F.trailerq THENr Validate(F.texts,t F.orgu)v ENDw; |
0325 | o(80E00004): LDR R0, SP, 4H |
0326 | o(D116754C): BLEQ MT [trap=4, pos=5749] |
0327 | p(80000090): LDR R0, R0, 90H |
0328 | p(D1167A4C): BLEQ MT [trap=4, pos=5754] |
0329 | q(81E00004): LDR R1, SP, 4H |
032A | q(D116864C): BLEQ MT [trap=4, pos=5766] |
032B | r(8000000C): LDR R0, R0, CH |
032C | r(81100090): LDR R1, R1, 90H |
032D | r(00090001): SUB R0, R0, R1 |
032E | r(E9000007): BNE 7 [0336H] |
032F | s(80E00004): LDR R0, SP, 4H |
0330 | s(D1169B4C): BLEQ MT [trap=4, pos=5787] |
0331 | t(8000001C): LDR R0, R0, 1CH |
0332 | u(81E00004): LDR R1, SP, 4H |
0333 | u(D116A24C): BLEQ MT [trap=4, pos=5794] |
0334 | v(41180020): ADD R1, R1, 20H |
0335 | w(F7FFFE86): BL -378 [01BCH] |
| L := F.trailerx;y org := F.orgz;a curY := F.Yb + F.Hc -d F.tope -f asr;g |
0336 | x(80E00004): LDR R0, SP, 4H |
0337 | x(D116BB4C): BLEQ MT [trap=4, pos=5819] |
0338 | y(80000090): LDR R0, R0, 90H |
0339 | y(A0E00040): STR R0, SP, 40H |
033A | z(80E00004): LDR R0, SP, 4H |
033B | z(D116C94C): BLEQ MT [trap=4, pos=5833] |
033C | a(80000020): LDR R0, R0, 20H |
033D | a(A0E00048): STR R0, SP, 48H |
033E | b(80E00004): LDR R0, SP, 4H |
033F | b(D116D64C): BLEQ MT [trap=4, pos=5846] |
0340 | c(81E00004): LDR R1, SP, 4H |
0341 | c(D116DC4C): BLEQ MT [trap=4, pos=5852] |
0342 | d(8000000C): LDR R0, R0, CH |
0343 | d(81100014): LDR R1, R1, 14H |
0344 | d(00080001): ADD R0, R0, R1 |
0345 | e(81E00004): LDR R1, SP, 4H |
0346 | e(D116E44C): BLEQ MT [trap=4, pos=5860] |
0347 | f(81100034): LDR R1, R1, 34H |
0348 | f(00090001): SUB R0, R0, R1 |
0349 | g .FIXUP D |
0349 | g(8D000038): LDR SB, MT, MOD0 [TextFrames] |
034A | g(81D000B4): LDR R1, SB, B4H [data] |
034B | g(00090001): SUB R0, R0, R1 |
034C | g(A0E0004C): STR R0, SP, 4CH |
| WHILE (L.nexth # F.traileri)j & (kcurY >= botY)l DOm |
034D | h(80E00040): LDR R0, SP, 40H |
034E | h(D116FD4C): BLEQ MT [trap=4, pos=5885] |
034F | i(81E00004): LDR R1, SP, 4H |
0350 | i(D117094C): BLEQ MT [trap=4, pos=5897] |
0351 | j(8000000C): LDR R0, R0, CH |
0352 | j(81100090): LDR R1, R1, 90H |
0353 | j(00090001): SUB R0, R0, R1 |
0354 | k(E1000014): BEQ 20 [0369H] |
0355 | l(80E0004C): LDR R0, SP, 4CH |
0356 | l(81E00050): LDR R1, SP, 50H |
0357 | l(00090001): SUB R0, R0, R1 |
0358 | m(E5000010): BLT 16 [0369H] |
| L := L.nextn;o org := org + L.lenp;q curY := curY - lsp |
0359 | n(80E00040): LDR R0, SP, 40H |
035A | n(D117304C): BLEQ MT [trap=4, pos=5936] |
035B | o(8000000C): LDR R0, R0, CH |
035C | o(A0E00040): STR R0, SP, 40H |
035D | p(80E00040): LDR R0, SP, 40H |
035E | p(D117444C): BLEQ MT [trap=4, pos=5956] |
035F | q(81E00048): LDR R1, SP, 48H |
0360 | q(80000000): LDR R0, R0, 0H |
0361 | q(00180000): ADD R0, R1, R0 |
0362 | q(A0E00048): STR R0, SP, 48H |
| ENDr; |
0363 | r(80E0004C): LDR R0, SP, 4CH |
0364 | r .FIXUP D |
0364 | r(8D00001B): LDR SB, MT, MOD0 [TextFrames] |
0365 | r(81D000B0): LDR R1, SB, B0H [data] |
0366 | r(00090001): SUB R0, R0, R1 |
0367 | r(A0E0004C): STR R0, SP, 4CH |
0368 | r(E7FFFFE4): B -28 [034DH] |
| botY := F.Ys + F.bott +u dsr;v |
0369 | s(80E00004): LDR R0, SP, 4H |
036A | s(D117714C): BLEQ MT [trap=4, pos=6001] |
036B | t(81E00004): LDR R1, SP, 4H |
036C | t(D117794C): BLEQ MT [trap=4, pos=6009] |
036D | u(8000000C): LDR R0, R0, CH |
036E | u(81100038): LDR R1, R1, 38H |
036F | u(00080001): ADD R0, R0, R1 |
0370 | v .FIXUP D |
0370 | v(8D00000C): LDR SB, MT, MOD0 [TextFrames] |
0371 | v(81D000B8): LDR R1, SB, B8H [data] |
0372 | v(00080001): ADD R0, R0, R1 |
0373 | v(A0E00050): STR R0, SP, 50H |
| Texts.OpenReader(R,w F.textx,y org)z;a Texts.Read(R,b nextCh)c;d |
0374 | w(40E8000C): ADD R0, SP, CH |
0375 | w .FIXUP D |
0375 | w(8D600005): LDR SB, MT, MOD6 [Texts] |
0376 | w(41D80002): ADD R1, SB, VAR2 |
0377 | x(82E00004): LDR R2, SP, 4H |
0378 | x(D1179F4C): BLEQ MT [trap=4, pos=6047] |
0379 | y(8220001C): LDR R2, R2, 1CH |
037A | z(83E00048): LDR R3, SP, 48H |
037B | a .FIXUP P |
037B | a(F7612072): BL MOD6 [Texts] PROC18 |
037C | b(40E8000C): ADD R0, SP, CH |
037D | b .FIXUP D |
037D | b(8D600008): LDR SB, MT, MOD6 [Texts] |
037E | b(41D80002): ADD R1, SB, VAR2 |
037F | c .FIXUP D |
037F | c(8D000002): LDR SB, MT, MOD0 [TextFrames] |
0380 | c(42D800C8): ADD R2, SB, C8H [data] |
0381 | d .FIXUP P |
0381 | d(F7613006): BL MOD6 [Texts] PROC19 |
| WHILE ~L.eote &f (gcurY >= botY)h DOi |
0382 | e(80E00040): LDR R0, SP, 40H |
0383 | e(D117CE4C): BLEQ MT [trap=4, pos=6094] |
0384 | f(90000008): LDR R0, R0, 8H |
0385 | g(E9000023): BNE 35 [03A9H] |
0386 | h(80E0004C): LDR R0, SP, 4CH |
0387 | h(81E00050): LDR R1, SP, 50H |
0388 | h(00090001): SUB R0, R0, R1 |
0389 | i(E500001F): BLT 31 [03A9H] |
| NEW(l);j |
038A | j(40E80044): ADD R0, SP, 44H |
038B | j .FIXUP D |
038B | j(8D00000C): LDR SB, MT, MOD0 [TextFrames] |
038C | j(41D80000): ADD R1, SB, 0H [data] |
038D | j(D717F00C): BL MT [trap=0, pos=6128] |
| DisplayLine(F,k l,l R,m F.Xn + F.lefto,p curY,q 0)r;s |
038E | k(80E00004): LDR R0, SP, 4H |
038F | l(81E00044): LDR R1, SP, 44H |
0390 | m(42E8000C): ADD R2, SP, CH |
0391 | m .FIXUP D |
0391 | m(8D600006): LDR SB, MT, MOD6 [Texts] |
0392 | m(43D80002): ADD R3, SB, VAR2 |
0393 | n(84E00004): LDR R4, SP, 4H |
0394 | n(D1180F4C): BLEQ MT [trap=4, pos=6159] |
0395 | o(85E00004): LDR R5, SP, 4H |
0396 | o(D118184C): BLEQ MT [trap=4, pos=6168] |
0397 | p(84400008): LDR R4, R4, 8H |
0398 | p(8550002C): LDR R5, R5, 2CH |
0399 | p(04480005): ADD R4, R4, R5 |
039A | q(85E0004C): LDR R5, SP, 4CH |
039B | r(46000000): MOV R6, R0, 0H |
039C | s(F7FFFDB5): BL -587 [0152H] |
| L.nextt := l;u L := l;v curY := curY - lsp |
039D | t(80E00040): LDR R0, SP, 40H |
039E | t(D118304C): BLEQ MT [trap=4, pos=6192] |
039F | u(81E00044): LDR R1, SP, 44H |
03A0 | u(A100000C): STR R1, R0, CH |
03A1 | v(80E00044): LDR R0, SP, 44H |
03A2 | v(A0E00040): STR R0, SP, 40H |
| ENDw; |
03A3 | w(80E0004C): LDR R0, SP, 4CH |
03A4 | w .FIXUP D |
03A4 | w(8D000013): LDR SB, MT, MOD0 [TextFrames] |
03A5 | w(81D000B0): LDR R1, SB, B0H [data] |
03A6 | w(00090001): SUB R0, R0, R1 |
03A7 | w(A0E0004C): STR R0, SP, 4CH |
03A8 | w(E7FFFFD9): B -39 [0382H] |
| L.nextx := F.trailery;z |
03A9 | x(80E00040): LDR R0, SP, 40H |
03AA | x(D118654C): BLEQ MT [trap=4, pos=6245] |
03AB | y(81E00004): LDR R1, SP, 4H |
03AC | y(D118724C): BLEQ MT [trap=4, pos=6258] |
03AD | z(81100090): LDR R1, R1, 90H |
03AE | z(A100000C): STR R1, R0, CH |
| F.markHa := F.orgb * F.Hc DIVd (F.texte.lenf + 1)g |
03AF | a(80E00004): LDR R0, SP, 4H |
03B0 | a(D1187F4C): BLEQ MT [trap=4, pos=6271] |
03B1 | b(81E00004): LDR R1, SP, 4H |
03B2 | b(D118884C): BLEQ MT [trap=4, pos=6280] |
03B3 | c(82E00004): LDR R2, SP, 4H |
03B4 | c(D1188E4C): BLEQ MT [trap=4, pos=6286] |
03B5 | d(81100020): LDR R1, R1, 20H |
03B6 | d(82200014): LDR R2, R2, 14H |
03B7 | d(011A0002): MUL R1, R1, R2 |
03B8 | e(82E00004): LDR R2, SP, 4H |
03B9 | e(D1189A4C): BLEQ MT [trap=4, pos=6298] |
03BA | f(8220001C): LDR R2, R2, 1CH |
03BB | f(D1189E4C): BLEQ MT [trap=4, pos=6302] |
03BC | g(82200000): LDR R2, R2, 0H |
03BD | g(42280001): ADD R2, R2, 1H |
| ENDh Extend; |
03BE | h(D618A96C): BLLE MT [trap=6, pos=6313] |
03BF | h(011B0002): DIV R1, R1, R2 |
03C0 | h(A100003C): STR R1, R0, 3CH |
03C1 | h(8FE00000): LDR LNK, SP, 0H |
03C2 | h(4EE80054): ADD SP, SP, 54H |
03C3 | h(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 |
03C4 | i .PROC 16 |
03C4 | i(4EE90018): SUB SP, SP, 18H |
03C5 | i(AFE00000): STR LNK, SP, 0H |
03C6 | i(A0E00004): STR R0, SP, 4H |
03C7 | i(A1E00008): STR R1, SP, 8H |
03C8 | j(80E00004): LDR R0, SP, 4H |
03C9 | j(D119134C): BLEQ MT [trap=4, pos=6419] |
03CA | k(81E00004): LDR R1, SP, 4H |
03CB | k(D1191A4C): BLEQ MT [trap=4, pos=6426] |
03CC | l(82E00004): LDR R2, SP, 4H |
03CD | l(D119204C): BLEQ MT [trap=4, pos=6432] |
03CE | m(81100014): LDR R1, R1, 14H |
03CF | m(8220000C): LDR R2, R2, CH |
03D0 | m(01180002): ADD R1, R1, R2 |
03D1 | n(82E00008): LDR R2, SP, 8H |
03D2 | n(01190002): SUB R1, R1, R2 |
03D3 | n(A1000014): STR R1, R0, 14H |
03D4 | o(80E00004): LDR R0, SP, 4H |
03D5 | o(D1192C4C): BLEQ MT [trap=4, pos=6444] |
03D6 | p(81E00008): LDR R1, SP, 8H |
03D7 | p(A100000C): STR R1, R0, CH |
| botY := F.Yq + F.botr +s dsr;t |
03D8 | q(80E00004): LDR R0, SP, 4H |
03D9 | q(D119454C): BLEQ MT [trap=4, pos=6469] |
03DA | r(81E00004): LDR R1, SP, 4H |
03DB | r(D1194D4C): BLEQ MT [trap=4, pos=6477] |
03DC | s(8000000C): LDR R0, R0, CH |
03DD | s(81100038): LDR R1, R1, 38H |
03DE | s(00080001): ADD R0, R0, R1 |
03DF | t .FIXUP D |
03DF | t(8D00003B): LDR SB, MT, MOD0 [TextFrames] |
03E0 | t(81D000B8): LDR R1, SB, B8H [data] |
03E1 | t(00080001): ADD R0, R0, R1 |
03E2 | t(A0E00014): STR R0, SP, 14H |
| L := F.traileru;v curY := F.Yw + F.Hx -y F.topz -a asr;b |
03E3 | u(80E00004): LDR R0, SP, 4H |
03E4 | u(D119674C): BLEQ MT [trap=4, pos=6503] |
03E5 | v(80000090): LDR R0, R0, 90H |
03E6 | v(A0E0000C): STR R0, SP, CH |
03E7 | w(80E00004): LDR R0, SP, 4H |
03E8 | w(D119744C): BLEQ MT [trap=4, pos=6516] |
03E9 | x(81E00004): LDR R1, SP, 4H |
03EA | x(D1197A4C): BLEQ MT [trap=4, pos=6522] |
03EB | y(8000000C): LDR R0, R0, CH |
03EC | y(81100014): LDR R1, R1, 14H |
03ED | y(00080001): ADD R0, R0, R1 |
03EE | z(81E00004): LDR R1, SP, 4H |
03EF | z(D119824C): BLEQ MT [trap=4, pos=6530] |
03F0 | a(81100034): LDR R1, R1, 34H |
03F1 | a(00090001): SUB R0, R0, R1 |
03F2 | b(81D000B4): LDR R1, SB, B4H |
03F3 | b(00090001): SUB R0, R0, R1 |
03F4 | b(A0E00010): STR R0, SP, 10H |
| WHILE (L.nextc # F.trailerd)e & (fcurY >= botY)g DOh |
03F5 | c(80E0000C): LDR R0, SP, CH |
03F6 | c(D1199B4C): BLEQ MT [trap=4, pos=6555] |
03F7 | d(81E00004): LDR R1, SP, 4H |
03F8 | d(D119A74C): BLEQ MT [trap=4, pos=6567] |
03F9 | e(8000000C): LDR R0, R0, CH |
03FA | e(81100090): LDR R1, R1, 90H |
03FB | e(00090001): SUB R0, R0, R1 |
03FC | f(E100000E): BEQ 14 [040BH] |
03FD | g(80E00010): LDR R0, SP, 10H |
03FE | g(81E00014): LDR R1, SP, 14H |
03FF | g(00090001): SUB R0, R0, R1 |
0400 | h(E500000A): BLT 10 [040BH] |
| L := L.nexti;j curY := curY - lsp |
0401 | i(80E0000C): LDR R0, SP, CH |
0402 | i(D119CE4C): BLEQ MT [trap=4, pos=6606] |
0403 | j(8000000C): LDR R0, R0, CH |
0404 | j(A0E0000C): STR R0, SP, CH |
| ENDk; |
0405 | k(80E00010): LDR R0, SP, 10H |
0406 | k .FIXUP D |
0406 | k(8D000027): LDR SB, MT, MOD0 [TextFrames] |
0407 | k(81D000B0): LDR R1, SB, B0H [data] |
0408 | k(00090001): SUB R0, R0, R1 |
0409 | k(A0E00010): STR R0, SP, 10H |
040A | k(E7FFFFEA): B -22 [03F5H] |
| L.nextl := F.trailerm;n |
040B | l(80E0000C): LDR R0, SP, CH |
040C | l(D119F64C): BLEQ MT [trap=4, pos=6646] |
040D | m(81E00004): LDR R1, SP, 4H |
040E | m(D11A034C): BLEQ MT [trap=4, pos=6659] |
040F | n(81100090): LDR R1, R1, 90H |
0410 | n(A100000C): STR R1, R0, CH |
| IF curY + asr >o F.Yp THENq |
0411 | o(80E00010): LDR R0, SP, 10H |
0412 | o .FIXUP D |
0412 | o(8D00000C): LDR SB, MT, MOD0 [TextFrames] |
0413 | o(81D000B4): LDR R1, SB, B4H [data] |
0414 | o(00080001): ADD R0, R0, R1 |
0415 | p(81E00004): LDR R1, SP, 4H |
0416 | p(D11A1C4C): BLEQ MT [trap=4, pos=6684] |
0417 | q(8110000C): LDR R1, R1, CH |
0418 | q(00090001): SUB R0, R0, R1 |
0419 | q(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 |
041A | r(80E00004): LDR R0, SP, 4H |
041B | r(D11A3F4C): BLEQ MT [trap=4, pos=6719] |
041C | s(80000024): LDR R0, R0, 24H |
041D | t(81E00004): LDR R1, SP, 4H |
041E | t(D11A444C): BLEQ MT [trap=4, pos=6724] |
041F | u(82E00004): LDR R2, SP, 4H |
0420 | u(D11A4D4C): BLEQ MT [trap=4, pos=6733] |
0421 | v(81100008): LDR R1, R1, 8H |
0422 | v(8220002C): LDR R2, R2, 2CH |
0423 | v(01180002): ADD R1, R1, R2 |
0424 | w(82E00004): LDR R2, SP, 4H |
0425 | w(D11A524C): BLEQ MT [trap=4, pos=6738] |
0426 | x(8220000C): LDR R2, R2, CH |
0427 | y(83E00004): LDR R3, SP, 4H |
0428 | y(D11A574C): BLEQ MT [trap=4, pos=6743] |
0429 | z(84E00004): LDR R4, SP, 4H |
042A | z(D11A604C): BLEQ MT [trap=4, pos=6752] |
042B | a(83300010): LDR R3, R3, 10H |
042C | a(8440002C): LDR R4, R4, 2CH |
042D | a(03390004): SUB R3, R3, R4 |
042E | b(84E00010): LDR R4, SP, 10H |
042F | b .FIXUP D |
042F | b(8D00001D): LDR SB, MT, MOD0 [TextFrames] |
0430 | b(85D000B4): LDR R5, SB, B4H [data] |
0431 | b(04480005): ADD R4, R4, R5 |
0432 | c(85E00004): LDR R5, SP, 4H |
0433 | c(D11A724C): BLEQ MT [trap=4, pos=6770] |
0434 | d(8550000C): LDR R5, R5, CH |
0435 | d(04490005): SUB R4, R4, R5 |
0436 | e(45000000): MOV R5, R0, 0H |
| ENDf; |
0437 | f .FIXUP P |
0437 | f(F730F0B6): BL MOD3 [Display] PROC15 |
| F.markHg := F.orgh * F.Hi DIVj (F.textk.lenl + 1)m;n Mark(F,o TRUE)p |
0438 | g(80E00004): LDR R0, SP, 4H |
0439 | g(D11A994C): BLEQ MT [trap=4, pos=6809] |
043A | h(81E00004): LDR R1, SP, 4H |
043B | h(D11AA24C): BLEQ MT [trap=4, pos=6818] |
043C | i(82E00004): LDR R2, SP, 4H |
043D | i(D11AA84C): BLEQ MT [trap=4, pos=6824] |
043E | j(81100020): LDR R1, R1, 20H |
043F | j(82200014): LDR R2, R2, 14H |
0440 | j(011A0002): MUL R1, R1, R2 |
0441 | k(82E00004): LDR R2, SP, 4H |
0442 | k(D11AB44C): BLEQ MT [trap=4, pos=6836] |
0443 | l(8220001C): LDR R2, R2, 1CH |
0444 | l(D11AB84C): BLEQ MT [trap=4, pos=6840] |
0445 | m(82200000): LDR R2, R2, 0H |
0446 | m(42280001): ADD R2, R2, 1H |
0447 | n(D61ABE6C): BLLE MT [trap=6, pos=6846] |
0448 | n(011B0002): DIV R1, R1, R2 |
0449 | n(A100003C): STR R1, R0, 3CH |
044A | o(80E00004): LDR R0, SP, 4H |
044B | p(41000001): MOV R1, R0, 1H |
| ENDq Reduce; |
044C | q(F7FFFDA6): BL -602 [01F3H] |
044D | q(8FE00000): LDR LNK, SP, 0H |
044E | q(4EE80018): ADD SP, SP, 18H |
044F | q(C700000F): B LNK |
| |
| PROCEDURE Show* (F: Frame; pos: LONGINT); |
| VAR R: Texts.Reader; L, L0: Line; |
| org: LONGINT; curY, botY, Y0: INTEGER; |
| BEGINr |
0450 | r .PROC 17 |
0450 | r(4EE90058): SUB SP, SP, 58H |
0451 | r(AFE00000): STR LNK, SP, 0H |
0452 | r(A0E00004): STR R0, SP, 4H |
0453 | r(A1E00008): STR R1, SP, 8H |
| IF F.trailers.nextt # F.traileru THENv |
0454 | s(80E00004): LDR R0, SP, 4H |
0455 | s(D11B734C): BLEQ MT [trap=4, pos=7027] |
0456 | t(80000090): LDR R0, R0, 90H |
0457 | t(D11B784C): BLEQ MT [trap=4, pos=7032] |
0458 | u(81E00004): LDR R1, SP, 4H |
0459 | u(D11B844C): BLEQ MT [trap=4, pos=7044] |
045A | v(8000000C): LDR R0, R0, CH |
045B | v(81100090): LDR R1, R1, 90H |
045C | v(00090001): SUB R0, R0, R1 |
045D | v(E10001A7): BEQ 423 [0605H] |
| Validate(F.textw,x pos)y;z |
045E | w(80E00004): LDR R0, SP, 4H |
045F | w(D11B9F4C): BLEQ MT [trap=4, pos=7071] |
0460 | x(8000001C): LDR R0, R0, 1CH |
0461 | y(41E80008): ADD R1, SP, 8H |
0462 | z(F7FFFD59): BL -679 [01BCH] |
| IF pos < F.orga THENb Mark(F,c FALSE)d;e |
0463 | a(80E00004): LDR R0, SP, 4H |
0464 | a(D11BBB4C): BLEQ MT [trap=4, pos=7099] |
0465 | b(81E00008): LDR R1, SP, 8H |
0466 | b(80000020): LDR R0, R0, 20H |
0467 | b(01190000): SUB R1, R1, R0 |
0468 | b(ED000041): BGE 65 [04AAH] |
0469 | c(80E00004): LDR R0, SP, 4H |
046A | d(41000000): MOV R1, R0, 0H |
046B | e(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 |
046C | f(80E00004): LDR R0, SP, 4H |
046D | f(D11BF04C): BLEQ MT [trap=4, pos=7152] |
046E | g(80000024): LDR R0, R0, 24H |
046F | h(81E00004): LDR R1, SP, 4H |
0470 | h(D11BF54C): BLEQ MT [trap=4, pos=7157] |
0471 | i(82E00004): LDR R2, SP, 4H |
0472 | i(D11BFE4C): BLEQ MT [trap=4, pos=7166] |
0473 | j(81100008): LDR R1, R1, 8H |
0474 | j(8220002C): LDR R2, R2, 2CH |
0475 | j(01180002): ADD R1, R1, R2 |
0476 | k(82E00004): LDR R2, SP, 4H |
0477 | k(D11C034C): BLEQ MT [trap=4, pos=7171] |
0478 | l(8220000C): LDR R2, R2, CH |
0479 | m(83E00004): LDR R3, SP, 4H |
047A | m(D11C084C): BLEQ MT [trap=4, pos=7176] |
047B | n(84E00004): LDR R4, SP, 4H |
047C | n(D11C114C): BLEQ MT [trap=4, pos=7185] |
047D | o(83300010): LDR R3, R3, 10H |
047E | o(8440002C): LDR R4, R4, 2CH |
047F | o(03390004): SUB R3, R3, R4 |
0480 | p(84E00004): LDR R4, SP, 4H |
0481 | p(D11C164C): BLEQ MT [trap=4, pos=7190] |
0482 | q(84400014): LDR R4, R4, 14H |
0483 | r(45000000): MOV R5, R0, 0H |
0484 | s .FIXUP P |
0484 | s(F730F04D): BL MOD3 [Display] PROC15 |
| botY := F.Yt;u F.Yv := F.Yw + F.Hx;y F.Hz := 0;a |
0485 | t(80E00004): LDR R0, SP, 4H |
0486 | t(D11C3D4C): BLEQ MT [trap=4, pos=7229] |
0487 | u(8000000C): LDR R0, R0, CH |
0488 | u(A0E00050): STR R0, SP, 50H |
0489 | v(80E00004): LDR R0, SP, 4H |
048A | v(D11C424C): BLEQ MT [trap=4, pos=7234] |
048B | w(81E00004): LDR R1, SP, 4H |
048C | w(D11C494C): BLEQ MT [trap=4, pos=7241] |
048D | x(82E00004): LDR R2, SP, 4H |
048E | x(D11C4F4C): BLEQ MT [trap=4, pos=7247] |
048F | y(8110000C): LDR R1, R1, CH |
0490 | y(82200014): LDR R2, R2, 14H |
0491 | y(01180002): ADD R1, R1, R2 |
0492 | y(A100000C): STR R1, R0, CH |
0493 | z(80E00004): LDR R0, SP, 4H |
0494 | z(D11C544C): BLEQ MT [trap=4, pos=7252] |
0495 | a(41000000): MOV R1, R0, 0H |
0496 | a(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 |
0497 | b(80E00004): LDR R0, SP, 4H |
0498 | b(D11C684C): BLEQ MT [trap=4, pos=7272] |
0499 | c(81E00008): LDR R1, SP, 8H |
049A | c(A1000020): STR R1, R0, 20H |
049B | d(80E00004): LDR R0, SP, 4H |
049C | d(D11C7A4C): BLEQ MT [trap=4, pos=7290] |
049D | e(80000090): LDR R0, R0, 90H |
049E | e(D11C7F4C): BLEQ MT [trap=4, pos=7295] |
049F | f(81E00004): LDR R1, SP, 4H |
04A0 | f(D11C8C4C): BLEQ MT [trap=4, pos=7308] |
04A1 | g(81100090): LDR R1, R1, 90H |
04A2 | g(A100000C): STR R1, R0, CH |
04A3 | h(80E00004): LDR R0, SP, 4H |
04A4 | i(81E00050): LDR R1, SP, 50H |
04A5 | j(F7FFFE37): BL -457 [02DDH] |
04A6 | k(80E00004): LDR R0, SP, 4H |
04A7 | l(41000001): MOV R1, R0, 1H |
| ELSIFm posn > F.orgo THENp |
04A8 | m(F7FFFD4A): BL -694 [01F3H] |
04A9 | n(E700015B): B 347 [0605H] |
04AA | o(80E00004): LDR R0, SP, 4H |
04AB | o(D11CC44C): BLEQ MT [trap=4, pos=7364] |
04AC | p(81E00008): LDR R1, SP, 8H |
04AD | p(80000020): LDR R0, R0, 20H |
04AE | p(01190000): SUB R1, R1, R0 |
04AF | p(E6000155): BLE 341 [0605H] |
| org := F.orgq;r L := F.trailers.nextt;u curY := F.Yv + F.Hw -x F.topy -z asr;a |
04B0 | q(80E00004): LDR R0, SP, 4H |
04B1 | q(D11CDE4C): BLEQ MT [trap=4, pos=7390] |
04B2 | r(80000020): LDR R0, R0, 20H |
04B3 | r(A0E00048): STR R0, SP, 48H |
04B4 | s(80E00004): LDR R0, SP, 4H |
04B5 | s(D11CEE4C): BLEQ MT [trap=4, pos=7406] |
04B6 | t(80000090): LDR R0, R0, 90H |
04B7 | t(D11CF34C): BLEQ MT [trap=4, pos=7411] |
04B8 | u(8000000C): LDR R0, R0, CH |
04B9 | u(A0E00040): STR R0, SP, 40H |
04BA | v(80E00004): LDR R0, SP, 4H |
04BB | v(D11D004C): BLEQ MT [trap=4, pos=7424] |
04BC | w(81E00004): LDR R1, SP, 4H |
04BD | w(D11D064C): BLEQ MT [trap=4, pos=7430] |
04BE | x(8000000C): LDR R0, R0, CH |
04BF | x(81100014): LDR R1, R1, 14H |
04C0 | x(00080001): ADD R0, R0, R1 |
04C1 | y(81E00004): LDR R1, SP, 4H |
04C2 | y(D11D0E4C): BLEQ MT [trap=4, pos=7438] |
04C3 | z(81100034): LDR R1, R1, 34H |
04C4 | z(00090001): SUB R0, R0, R1 |
04C5 | a .FIXUP D |
04C5 | a(8D000096): LDR SB, MT, MOD0 [TextFrames] |
04C6 | a(81D000B4): LDR R1, SB, B4H [data] |
04C7 | a(00090001): SUB R0, R0, R1 |
04C8 | a(A0E0004C): STR R0, SP, 4CH |
| WHILE (L.nextb # F.trailerc)d & (eorg # pos)f DOg |
04C9 | b(80E00040): LDR R0, SP, 40H |
04CA | b(D11D2B4C): BLEQ MT [trap=4, pos=7467] |
04CB | c(81E00004): LDR R1, SP, 4H |
04CC | c(D11D374C): BLEQ MT [trap=4, pos=7479] |
04CD | d(8000000C): LDR R0, R0, CH |
04CE | d(81100090): LDR R1, R1, 90H |
04CF | d(00090001): SUB R0, R0, R1 |
04D0 | e(E1000014): BEQ 20 [04E5H] |
04D1 | f(80E00048): LDR R0, SP, 48H |
04D2 | f(81E00008): LDR R1, SP, 8H |
04D3 | f(00090001): SUB R0, R0, R1 |
04D4 | g(E1000010): BEQ 16 [04E5H] |
| org := org + L.lenh;i L := L.nextj;k curY := curY - lsp;l |
04D5 | h(80E00040): LDR R0, SP, 40H |
04D6 | h(D11D664C): BLEQ MT [trap=4, pos=7526] |
04D7 | i(81E00048): LDR R1, SP, 48H |
04D8 | i(80000000): LDR R0, R0, 0H |
04D9 | i(00180000): ADD R0, R1, R0 |
04DA | i(A0E00048): STR R0, SP, 48H |
04DB | j(80E00040): LDR R0, SP, 40H |
04DC | j(D11D734C): BLEQ MT [trap=4, pos=7539] |
04DD | k(8000000C): LDR R0, R0, CH |
04DE | k(A0E00040): STR R0, SP, 40H |
04DF | l(80E0004C): LDR R0, SP, 4CH |
04E0 | l .FIXUP D |
04E0 | l(8D00001B): LDR SB, MT, MOD0 [TextFrames] |
04E1 | l(81D000B0): LDR R1, SB, B0H [data] |
04E2 | l(00090001): SUB R0, R0, R1 |
04E3 | l(A0E0004C): STR R0, SP, 4CH |
| ENDm; |
04E4 | m(E7FFFFE4): B -28 [04C9H] |
| IF org = pos THENn |
04E5 | n(80E00048): LDR R0, SP, 48H |
04E6 | n(81E00008): LDR R1, SP, 8H |
04E7 | n(00090001): SUB R0, R0, R1 |
04E8 | n(E90000DC): BNE 220 [05C5H] |
| F.orgo := org;p F.trailerq.nextr := L;s Y0 := curY;t |
04E9 | o(80E00004): LDR R0, SP, 4H |
04EA | o(D11DBF4C): BLEQ MT [trap=4, pos=7615] |
04EB | p(81E00048): LDR R1, SP, 48H |
04EC | p(A1000020): STR R1, R0, 20H |
04ED | q(80E00004): LDR R0, SP, 4H |
04EE | q(D11DD14C): BLEQ MT [trap=4, pos=7633] |
04EF | r(80000090): LDR R0, R0, 90H |
04F0 | r(D11DD64C): BLEQ MT [trap=4, pos=7638] |
04F1 | s(81E00040): LDR R1, SP, 40H |
04F2 | s(A100000C): STR R1, R0, CH |
04F3 | t(80E0004C): LDR R0, SP, 4CH |
04F4 | t(A0E00054): STR R0, SP, 54H |
| WHILE L.nextu # F.trailerv DOw (*!*) |
04F5 | u(80E00040): LDR R0, SP, 40H |
04F6 | u(D11DFF4C): BLEQ MT [trap=4, pos=7679] |
04F7 | v(81E00004): LDR R1, SP, 4H |
04F8 | v(D11E0B4C): BLEQ MT [trap=4, pos=7691] |
04F9 | w(8000000C): LDR R0, R0, CH |
04FA | w(81100090): LDR R1, R1, 90H |
04FB | w(00090001): SUB R0, R0, R1 |
04FC | w(E1000010): BEQ 16 [050DH] |
| org := org + L.lenx;y L := L.nextz;a curY := curY - lsp |
04FD | x(80E00040): LDR R0, SP, 40H |
04FE | x(D11E334C): BLEQ MT [trap=4, pos=7731] |
04FF | y(81E00048): LDR R1, SP, 48H |
0500 | y(80000000): LDR R0, R0, 0H |
0501 | y(00180000): ADD R0, R1, R0 |
0502 | y(A0E00048): STR R0, SP, 48H |
0503 | z(80E00040): LDR R0, SP, 40H |
0504 | z(D11E404C): BLEQ MT [trap=4, pos=7744] |
0505 | a(8000000C): LDR R0, R0, CH |
0506 | a(A0E00040): STR R0, SP, 40H |
| ENDb; |
0507 | b(80E0004C): LDR R0, SP, 4CH |
0508 | b .FIXUP D |
0508 | b(8D000028): LDR SB, MT, MOD0 [TextFrames] |
0509 | b(81D000B0): LDR R1, SB, B0H [data] |
050A | b(00090001): SUB R0, R0, R1 |
050B | b(A0E0004C): STR R0, SP, 4CH |
050C | b(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 |
050D | c(80E00004): LDR R0, SP, 4H |
050E | c(D11E844C): BLEQ MT [trap=4, pos=7812] |
050F | d(81E00004): LDR R1, SP, 4H |
0510 | d(D11E8D4C): BLEQ MT [trap=4, pos=7821] |
0511 | e(80000008): LDR R0, R0, 8H |
0512 | e(8110002C): LDR R1, R1, 2CH |
0513 | e(00080001): ADD R0, R0, R1 |
0514 | f(81E0004C): LDR R1, SP, 4CH |
0515 | f .FIXUP D |
0515 | f(8D00000D): LDR SB, MT, MOD0 [TextFrames] |
0516 | f(82D000B8): LDR R2, SB, B8H [data] |
0517 | f(01190002): SUB R1, R1, R2 |
0518 | g(82E00004): LDR R2, SP, 4H |
0519 | g(D11E9E4C): BLEQ MT [trap=4, pos=7838] |
051A | h(83E00004): LDR R3, SP, 4H |
051B | h(D11EA74C): BLEQ MT [trap=4, pos=7847] |
051C | i(82200010): LDR R2, R2, 10H |
051D | i(8330002C): LDR R3, R3, 2CH |
051E | i(02290003): SUB R2, R2, R3 |
051F | j(83E00054): LDR R3, SP, 54H |
0520 | j(84D000B4): LDR R4, SB, B4H |
0521 | j(03380004): ADD R3, R3, R4 |
0522 | k(84E0004C): LDR R4, SP, 4CH |
0523 | k(85D000B8): LDR R5, SB, B8H |
0524 | k(04490005): SUB R4, R4, R5 |
0525 | l(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 |
0526 | m(84E00004): LDR R4, SP, 4H |
0527 | m(D11ED34C): BLEQ MT [trap=4, pos=7891] |
0528 | n(85E00004): LDR R5, SP, 4H |
0529 | n(D11EDC4C): BLEQ MT [trap=4, pos=7900] |
052A | o(84400008): LDR R4, R4, 8H |
052B | o(8550002C): LDR R5, R5, 2CH |
052C | o(04480005): ADD R4, R4, R5 |
052D | p(85E0004C): LDR R5, SP, 4CH |
052E | p(86D000B8): LDR R6, SB, B8H |
052F | p(05590006): SUB R5, R5, R6 |
0530 | q(86E00004): LDR R6, SP, 4H |
0531 | q(D11EEE4C): BLEQ MT [trap=4, pos=7918] |
0532 | r(8660000C): LDR R6, R6, CH |
0533 | r(05580006): ADD R5, R5, R6 |
0534 | s(86E00004): LDR R6, SP, 4H |
0535 | s(D11EF44C): BLEQ MT [trap=4, pos=7924] |
0536 | t(86600014): LDR R6, R6, 14H |
0537 | t(05580006): ADD R5, R5, R6 |
0538 | u(86E00004): LDR R6, SP, 4H |
0539 | u(D11EFC4C): BLEQ MT [trap=4, pos=7932] |
053A | v(86600034): LDR R6, R6, 34H |
053B | v(05590006): SUB R5, R5, R6 |
053C | w(86D000B4): LDR R6, SB, B4H |
053D | w(05590006): SUB R5, R5, R6 |
053E | x(86E00054): LDR R6, SP, 54H |
053F | x(05590006): SUB R5, R5, R6 |
0540 | y(46000000): MOV R6, R0, 0H |
0541 | z .FIXUP P |
0541 | z(F73110BD): BL MOD3 [Display] PROC17 |
| curY := curY + F.Ya +b F.Hc -d F.tope -f asr -g Y0;h |
0542 | a(80E00004): LDR R0, SP, 4H |
0543 | a(D11F294C): BLEQ MT [trap=4, pos=7977] |
0544 | b(81E0004C): LDR R1, SP, 4CH |
0545 | b(8000000C): LDR R0, R0, CH |
0546 | b(00180000): ADD R0, R1, R0 |
0547 | c(81E00004): LDR R1, SP, 4H |
0548 | c(D11F2F4C): BLEQ MT [trap=4, pos=7983] |
0549 | d(81100014): LDR R1, R1, 14H |
054A | d(00080001): ADD R0, R0, R1 |
054B | e(81E00004): LDR R1, SP, 4H |
054C | e(D11F374C): BLEQ MT [trap=4, pos=7991] |
054D | f(81100034): LDR R1, R1, 34H |
054E | f(00090001): SUB R0, R0, R1 |
054F | g .FIXUP D |
054F | g(8D00003A): LDR SB, MT, MOD0 [TextFrames] |
0550 | g(81D000B4): LDR R1, SB, B4H [data] |
0551 | g(00090001): SUB R0, R0, R1 |
0552 | h(81E00054): LDR R1, SP, 54H |
0553 | h(00090001): SUB R0, R0, R1 |
0554 | h(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 |
0555 | i(80E00004): LDR R0, SP, 4H |
0556 | i(D11F654C): BLEQ MT [trap=4, pos=8037] |
0557 | j(80000024): LDR R0, R0, 24H |
0558 | k(81E00004): LDR R1, SP, 4H |
0559 | k(D11F6A4C): BLEQ MT [trap=4, pos=8042] |
055A | l(82E00004): LDR R2, SP, 4H |
055B | l(D11F734C): BLEQ MT [trap=4, pos=8051] |
055C | m(81100008): LDR R1, R1, 8H |
055D | m(8220002C): LDR R2, R2, 2CH |
055E | m(01180002): ADD R1, R1, R2 |
055F | n(82E00004): LDR R2, SP, 4H |
0560 | n(D11F784C): BLEQ MT [trap=4, pos=8056] |
0561 | o(8220000C): LDR R2, R2, CH |
0562 | p(83E00004): LDR R3, SP, 4H |
0563 | p(D11F7D4C): BLEQ MT [trap=4, pos=8061] |
0564 | q(84E00004): LDR R4, SP, 4H |
0565 | q(D11F864C): BLEQ MT [trap=4, pos=8070] |
0566 | r(83300010): LDR R3, R3, 10H |
0567 | r(8440002C): LDR R4, R4, 2CH |
0568 | r(03390004): SUB R3, R3, R4 |
0569 | s(84E0004C): LDR R4, SP, 4CH |
056A | s(85D000B8): LDR R5, SB, B8H |
056B | s(04490005): SUB R4, R4, R5 |
056C | t(85E00004): LDR R5, SP, 4H |
056D | t(D11F984C): BLEQ MT [trap=4, pos=8088] |
056E | u(8550000C): LDR R5, R5, CH |
056F | u(04490005): SUB R4, R4, R5 |
0570 | v(45000000): MOV R5, R0, 0H |
0571 | w .FIXUP P |
0571 | w(F730F030): BL MOD3 [Display] PROC15 |
| botY := F.Yx + F.boty +z dsr;a |
0572 | x(80E00004): LDR R0, SP, 4H |
0573 | x(D11FC14C): BLEQ MT [trap=4, pos=8129] |
0574 | y(81E00004): LDR R1, SP, 4H |
0575 | y(D11FC94C): BLEQ MT [trap=4, pos=8137] |
0576 | z(8000000C): LDR R0, R0, CH |
0577 | z(81100038): LDR R1, R1, 38H |
0578 | z(00080001): ADD R0, R0, R1 |
0579 | a .FIXUP D |
0579 | a(8D00002A): LDR SB, MT, MOD0 [TextFrames] |
057A | a(81D000B8): LDR R1, SB, B8H [data] |
057B | a(00080001): ADD R0, R0, R1 |
057C | a(A0E00050): STR R0, SP, 50H |
| org := org + L.lenb;c curY := curY - lsp;d |
057D | b(80E00040): LDR R0, SP, 40H |
057E | b(D11FED4C): BLEQ MT [trap=4, pos=8173] |
057F | c(81E00048): LDR R1, SP, 48H |
0580 | c(80000000): LDR R0, R0, 0H |
0581 | c(00180000): ADD R0, R1, R0 |
0582 | c(A0E00048): STR R0, SP, 48H |
0583 | d(80E0004C): LDR R0, SP, 4CH |
0584 | d(81D000B0): LDR R1, SB, B0H |
0585 | d(00090001): SUB R0, R0, R1 |
0586 | d(A0E0004C): STR R0, SP, 4CH |
| Texts.OpenReader(R,e F.textf,g org)h;i Texts.Read(R,j nextCh)k;l |
0587 | e(40E8000C): ADD R0, SP, CH |
0588 | e .FIXUP D |
0588 | e(8D60000F): LDR SB, MT, MOD6 [Texts] |
0589 | e(41D80002): ADD R1, SB, VAR2 |
058A | f(82E00004): LDR R2, SP, 4H |
058B | f(D120274C): BLEQ MT [trap=4, pos=8231] |
058C | g(8220001C): LDR R2, R2, 1CH |
058D | h(83E00048): LDR R3, SP, 48H |
058E | i .FIXUP P |
058E | i(F761201D): BL MOD6 [Texts] PROC18 |
058F | j(40E8000C): ADD R0, SP, CH |
0590 | j .FIXUP D |
0590 | j(8D600008): LDR SB, MT, MOD6 [Texts] |
0591 | j(41D80002): ADD R1, SB, VAR2 |
0592 | k .FIXUP D |
0592 | k(8D000002): LDR SB, MT, MOD0 [TextFrames] |
0593 | k(42D800C8): ADD R2, SB, C8H [data] |
0594 | l .FIXUP P |
0594 | l(F7613006): BL MOD6 [Texts] PROC19 |
| WHILE ~L.eotm &n (ocurY >= botY)p DOq |
0595 | m(80E00040): LDR R0, SP, 40H |
0596 | m(D1205C4C): BLEQ MT [trap=4, pos=8284] |
0597 | n(90000008): LDR R0, R0, 8H |
0598 | o(E9000023): BNE 35 [05BCH] |
0599 | p(80E0004C): LDR R0, SP, 4CH |
059A | p(81E00050): LDR R1, SP, 50H |
059B | p(00090001): SUB R0, R0, R1 |
059C | q(E500001F): BLT 31 [05BCH] |
| NEW(L0);r DisplayLine(F,s L0,t R,u F.Xv + F.leftw,x curY,y 0)z;a |
059D | r(40E80044): ADD R0, SP, 44H |
059E | r .FIXUP D |
059E | r(8D00000C): LDR SB, MT, MOD0 [TextFrames] |
059F | r(41D80000): ADD R1, SB, 0H [data] |
05A0 | r(D720850C): BL MT [trap=0, pos=8325] |
05A1 | s(80E00004): LDR R0, SP, 4H |
05A2 | t(81E00044): LDR R1, SP, 44H |
05A3 | u(42E8000C): ADD R2, SP, CH |
05A4 | u .FIXUP D |
05A4 | u(8D600006): LDR SB, MT, MOD6 [Texts] |
05A5 | u(43D80002): ADD R3, SB, VAR2 |
05A6 | v(84E00004): LDR R4, SP, 4H |
05A7 | v(D1209F4C): BLEQ MT [trap=4, pos=8351] |
05A8 | w(85E00004): LDR R5, SP, 4H |
05A9 | w(D120A84C): BLEQ MT [trap=4, pos=8360] |
05AA | x(84400008): LDR R4, R4, 8H |
05AB | x(8550002C): LDR R5, R5, 2CH |
05AC | x(04480005): ADD R4, R4, R5 |
05AD | y(85E0004C): LDR R5, SP, 4CH |
05AE | z(46000000): MOV R6, R0, 0H |
05AF | a(F7FFFBA2): BL -1118 [0152H] |
| L.nextb := L0;c L := L0;d curY := curY - lsp |
05B0 | b(80E00040): LDR R0, SP, 40H |
05B1 | b(D120C64C): BLEQ MT [trap=4, pos=8390] |
05B2 | c(81E00044): LDR R1, SP, 44H |
05B3 | c(A100000C): STR R1, R0, CH |
05B4 | d(80E00044): LDR R0, SP, 44H |
05B5 | d(A0E00040): STR R0, SP, 40H |
| ENDe; |
05B6 | e(80E0004C): LDR R0, SP, 4CH |
05B7 | e .FIXUP D |
05B7 | e(8D000013): LDR SB, MT, MOD0 [TextFrames] |
05B8 | e(81D000B0): LDR R1, SB, B0H [data] |
05B9 | e(00090001): SUB R0, R0, R1 |
05BA | e(A0E0004C): STR R0, SP, 4CH |
05BB | e(E7FFFFD9): B -39 [0595H] |
| L.nextf := F.trailerg;h UpdateMark(F)i |
05BC | f(80E00040): LDR R0, SP, 40H |
05BD | f(D121094C): BLEQ MT [trap=4, pos=8457] |
05BE | g(81E00004): LDR R1, SP, 4H |
05BF | g(D121164C): BLEQ MT [trap=4, pos=8470] |
05C0 | h(81100090): LDR R1, R1, 90H |
05C1 | h(A100000C): STR R1, R0, CH |
05C2 | i(80E00004): LDR R0, SP, 4H |
| ELSEj Markk(F,l FALSE)m;n |
05C3 | j(F7FFFAD1): BL -1327 [0095H] |
05C4 | k(E7000040): B 64 [0605H] |
05C5 | l(80E00004): LDR R0, SP, 4H |
05C6 | m(41000000): MOV R1, R0, 0H |
05C7 | n(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 |
05C8 | o(80E00004): LDR R0, SP, 4H |
05C9 | o(D121644C): BLEQ MT [trap=4, pos=8548] |
05CA | p(80000024): LDR R0, R0, 24H |
05CB | q(81E00004): LDR R1, SP, 4H |
05CC | q(D121694C): BLEQ MT [trap=4, pos=8553] |
05CD | r(82E00004): LDR R2, SP, 4H |
05CE | r(D121724C): BLEQ MT [trap=4, pos=8562] |
05CF | s(81100008): LDR R1, R1, 8H |
05D0 | s(8220002C): LDR R2, R2, 2CH |
05D1 | s(01180002): ADD R1, R1, R2 |
05D2 | t(82E00004): LDR R2, SP, 4H |
05D3 | t(D121774C): BLEQ MT [trap=4, pos=8567] |
05D4 | u(8220000C): LDR R2, R2, CH |
05D5 | v(83E00004): LDR R3, SP, 4H |
05D6 | v(D1217C4C): BLEQ MT [trap=4, pos=8572] |
05D7 | w(84E00004): LDR R4, SP, 4H |
05D8 | w(D121854C): BLEQ MT [trap=4, pos=8581] |
05D9 | x(83300010): LDR R3, R3, 10H |
05DA | x(8440002C): LDR R4, R4, 2CH |
05DB | x(03390004): SUB R3, R3, R4 |
05DC | y(84E00004): LDR R4, SP, 4H |
05DD | y(D1218A4C): BLEQ MT [trap=4, pos=8586] |
05DE | z(84400014): LDR R4, R4, 14H |
05DF | a(45000000): MOV R5, R0, 0H |
05E0 | b .FIXUP P |
05E0 | b(F730F04C): BL MOD3 [Display] PROC15 |
| botY := F.Yc;d F.Ye := F.Yf + F.Hg;h F.Hi := 0;j |
05E1 | c(80E00004): LDR R0, SP, 4H |
05E2 | c(D121B34C): BLEQ MT [trap=4, pos=8627] |
05E3 | d(8000000C): LDR R0, R0, CH |
05E4 | d(A0E00050): STR R0, SP, 50H |
05E5 | e(80E00004): LDR R0, SP, 4H |
05E6 | e(D121B84C): BLEQ MT [trap=4, pos=8632] |
05E7 | f(81E00004): LDR R1, SP, 4H |
05E8 | f(D121BF4C): BLEQ MT [trap=4, pos=8639] |
05E9 | g(82E00004): LDR R2, SP, 4H |
05EA | g(D121C54C): BLEQ MT [trap=4, pos=8645] |
05EB | h(8110000C): LDR R1, R1, CH |
05EC | h(82200014): LDR R2, R2, 14H |
05ED | h(01180002): ADD R1, R1, R2 |
05EE | h(A100000C): STR R1, R0, CH |
05EF | i(80E00004): LDR R0, SP, 4H |
05F0 | i(D121CA4C): BLEQ MT [trap=4, pos=8650] |
05F1 | j(41000000): MOV R1, R0, 0H |
05F2 | j(A1000014): STR R1, R0, 14H |
| F.orgk := pos;l F.trailerm.nextn := F.trailero;p Extend(F,q botY)r;s |
05F3 | k(80E00004): LDR R0, SP, 4H |
05F4 | k(D121E04C): BLEQ MT [trap=4, pos=8672] |
05F5 | l(81E00008): LDR R1, SP, 8H |
05F6 | l(A1000020): STR R1, R0, 20H |
05F7 | m(80E00004): LDR R0, SP, 4H |
05F8 | m(D121F24C): BLEQ MT [trap=4, pos=8690] |
05F9 | n(80000090): LDR R0, R0, 90H |
05FA | n(D121F74C): BLEQ MT [trap=4, pos=8695] |
05FB | o(81E00004): LDR R1, SP, 4H |
05FC | o(D122044C): BLEQ MT [trap=4, pos=8708] |
05FD | p(81100090): LDR R1, R1, 90H |
05FE | p(A100000C): STR R1, R0, CH |
05FF | q(80E00004): LDR R0, SP, 4H |
0600 | r(81E00050): LDR R1, SP, 50H |
0601 | s(F7FFFCDB): BL -805 [02DDH] |
| Mark(F,t TRUE)u |
0602 | t(80E00004): LDR R0, SP, 4H |
0603 | u(41000001): MOV R1, R0, 1H |
| ENDv |
0604 | v(F7FFFBEE): BL -1042 [01F3H] |
| END |
| END ; |
| SetChangeMark(F,w F.textx.changedy)z |
0605 | w(80E00004): LDR R0, SP, 4H |
0606 | x(81E00004): LDR R1, SP, 4H |
0607 | x(D1226A4C): BLEQ MT [trap=4, pos=8810] |
0608 | y(8110001C): LDR R1, R1, 1CH |
0609 | y(D122724C): BLEQ MT [trap=4, pos=8818] |
060A | z(91100004): LDR R1, R1, 4H |
| ENDa Show; |
060B | a(F7FFFAE0): BL -1312 [00ECH] |
060C | a(8FE00000): LDR LNK, SP, 0H |
060D | a(4EE80058): ADD SP, SP, 58H |
060E | a(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 |
060F | b(4EE90020): SUB SP, SP, 20H |
0610 | b(AFE00000): STR LNK, SP, 0H |
0611 | b(A0E00004): STR R0, SP, 4H |
0612 | b(A1E00008): STR R1, SP, 8H |
0613 | b(A2E0000C): STR R2, SP, CH |
0614 | b(A3E00010): STR R3, SP, 10H |
0615 | c(80E00004): LDR R0, SP, 4H |
0616 | c(D123054C): BLEQ MT [trap=4, pos=8965] |
0617 | d(80000020): LDR R0, R0, 20H |
0618 | d(A0E00018): STR R0, SP, 18H |
0619 | e(80E00004): LDR R0, SP, 4H |
061A | e(D123154C): BLEQ MT [trap=4, pos=8981] |
061B | f(80000090): LDR R0, R0, 90H |
061C | f(D1231A4C): BLEQ MT [trap=4, pos=8986] |
061D | g(8000000C): LDR R0, R0, CH |
061E | g(A0E00014): STR R0, SP, 14H |
061F | h(80E00004): LDR R0, SP, 4H |
0620 | h(D123274C): BLEQ MT [trap=4, pos=8999] |
0621 | i(81E00004): LDR R1, SP, 4H |
0622 | i(D1232F4C): BLEQ MT [trap=4, pos=9007] |
0623 | j(80000014): LDR R0, R0, 14H |
0624 | j(81100034): LDR R1, R1, 34H |
0625 | j(00090001): SUB R0, R0, R1 |
0626 | k .FIXUP D |
0626 | k(8D00006F): LDR SB, MT, MOD0 [TextFrames] |
0627 | k(81D000B4): LDR R1, SB, B4H [data] |
0628 | k(00090001): SUB R0, R0, R1 |
0629 | k(A0E0001C): STR R0, SP, 1CH |
| WHILE (L.nextl # F.trailerm)n & (ocury > y + dsr)p DOq |
062A | l(80E00014): LDR R0, SP, 14H |
062B | l(D123494C): BLEQ MT [trap=4, pos=9033] |
062C | m(81E00004): LDR R1, SP, 4H |
062D | m(D123554C): BLEQ MT [trap=4, pos=9045] |
062E | n(8000000C): LDR R0, R0, CH |
062F | n(81100090): LDR R1, R1, 90H |
0630 | n(00090001): SUB R0, R0, R1 |
0631 | o(E1000017): BEQ 23 [0649H] |
0632 | p(80E00008): LDR R0, SP, 8H |
0633 | p .FIXUP D |
0633 | p(8D00000D): LDR SB, MT, MOD0 [TextFrames] |
0634 | p(81D000B8): LDR R1, SB, B8H [data] |
0635 | p(00080001): ADD R0, R0, R1 |
0636 | p(81E0001C): LDR R1, SP, 1CH |
0637 | p(01190000): SUB R1, R1, R0 |
0638 | q(E6000010): BLE 16 [0649H] |
| org := org + L.lenr;s L := L.nextt;u cury := cury - lsp |
0639 | r(80E00014): LDR R0, SP, 14H |
063A | r(D123854C): BLEQ MT [trap=4, pos=9093] |
063B | s(81E00018): LDR R1, SP, 18H |
063C | s(80000000): LDR R0, R0, 0H |
063D | s(00180000): ADD R0, R1, R0 |
063E | s(A0E00018): STR R0, SP, 18H |
063F | t(80E00014): LDR R0, SP, 14H |
0640 | t(D123924C): BLEQ MT [trap=4, pos=9106] |
0641 | u(8000000C): LDR R0, R0, CH |
0642 | u(A0E00014): STR R0, SP, 14H |
| ENDv; |
0643 | v(80E0001C): LDR R0, SP, 1CH |
0644 | v .FIXUP D |
0644 | v(8D000011): LDR SB, MT, MOD0 [TextFrames] |
0645 | v(81D000B0): LDR R1, SB, B0H [data] |
0646 | v(00090001): SUB R0, R0, R1 |
0647 | v(A0E0001C): STR R0, SP, 1CH |
0648 | v(E7FFFFE1): B -31 [062AH] |
| loc.org := org;w loc.lin := L;x loc.y := cury |
0649 | w(80E00018): LDR R0, SP, 18H |
064A | w(81E0000C): LDR R1, SP, CH |
064B | w(A0100000): STR R0, R1, 0H |
064C | x(80E00014): LDR R0, SP, 14H |
064D | x(81E0000C): LDR R1, SP, CH |
064E | x(A0100014): STR R0, R1, 14H |
| ENDy LocateLine; |
064F | y(80E0001C): LDR R0, SP, 1CH |
0650 | y(81E0000C): LDR R1, SP, CH |
0651 | y(A0100010): STR R0, R1, 10H |
0652 | y(8FE00000): LDR LNK, SP, 0H |
0653 | y(4EE80020): ADD SP, SP, 20H |
0654 | y(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 |
0655 | z(4EE9007C): SUB SP, SP, 7CH |
0656 | z(AFE00000): STR LNK, SP, 0H |
0657 | z(A0E00004): STR R0, SP, 4H |
0658 | z(A1E00008): STR R1, SP, 8H |
0659 | z(A2E0000C): STR R2, SP, CH |
065A | z(A3E00010): STR R3, SP, 10H |
065B | z(A4E00014): STR R4, SP, 14H |
065C | a(80E00004): LDR R0, SP, 4H |
065D | b(81E0000C): LDR R1, SP, CH |
065E | c(82E00010): LDR R2, SP, 10H |
065F | c(83E00014): LDR R3, SP, 14H |
0660 | d(F7FFFFAE): BL -82 [060FH] |
| lim := loc.org + loc.lin.lene -f 1;g |
0661 | e(80E00010): LDR R0, SP, 10H |
0662 | e(80000014): LDR R0, R0, 14H |
0663 | e(D124E44C): BLEQ MT [trap=4, pos=9444] |
0664 | f(81E00010): LDR R1, SP, 10H |
0665 | f(81100000): LDR R1, R1, 0H |
0666 | f(80000000): LDR R0, R0, 0H |
0667 | f(00180000): ADD R0, R1, R0 |
0668 | g(40090001): SUB R0, R0, 1H |
0669 | g(A0E00058): STR R0, SP, 58H |
| bpos := loc.org;h bx := F.lefti;j |
066A | h(80E00010): LDR R0, SP, 10H |
066B | h(80000000): LDR R0, R0, 0H |
066C | h(A0E00050): STR R0, SP, 50H |
066D | i(80E00004): LDR R0, SP, 4H |
066E | i(D1250B4C): BLEQ MT [trap=4, pos=9483] |
066F | j(8000002C): LDR R0, R0, 2CH |
0670 | j(A0E0005C): STR R0, SP, 5CH |
| pos := loc.org;k ox := F.leftl;m |
0671 | k(80E00010): LDR R0, SP, 10H |
0672 | k(80000000): LDR R0, R0, 0H |
0673 | k(A0E00054): STR R0, SP, 54H |
0674 | l(80E00004): LDR R0, SP, 4H |
0675 | l(D1252D4C): BLEQ MT [trap=4, pos=9517] |
0676 | m(8000002C): LDR R0, R0, 2CH |
0677 | m(A0E00064): STR R0, SP, 64H |
| Texts.OpenReader(R,n F.texto,p loc.org)q;r Texts.Read(R,s nextCh)t;u |
0678 | n(40E80018): ADD R0, SP, 18H |
0679 | n .FIXUP D |
0679 | n(8D600035): LDR SB, MT, MOD6 [Texts] |
067A | n(41D80002): ADD R1, SB, VAR2 |
067B | o(82E00004): LDR R2, SP, 4H |
067C | o(D1254D4C): BLEQ MT [trap=4, pos=9549] |
067D | p(8220001C): LDR R2, R2, 1CH |
067E | q(83E00010): LDR R3, SP, 10H |
067F | q(83300000): LDR R3, R3, 0H |
0680 | r .FIXUP P |
0680 | r(F76120A0): BL MOD6 [Texts] PROC18 |
0681 | s(40E80018): ADD R0, SP, 18H |
0682 | s .FIXUP D |
0682 | s(8D600009): LDR SB, MT, MOD6 [Texts] |
0683 | s(41D80002): ADD R1, SB, VAR2 |
0684 | t .FIXUP D |
0684 | t(8D000002): LDR SB, MT, MOD0 [TextFrames] |
0685 | t(42D800C8): ADD R2, SB, C8H [data] |
0686 | u .FIXUP P |
0686 | u(F7613006): BL MOD6 [Texts] PROC19 |
| REPEAT |
| WHILE (pos # lim)v & (wnextCh > " ")x DOy (*scan string*) |
0687 | v(80E00054): LDR R0, SP, 54H |
0688 | v(81E00058): LDR R1, SP, 58H |
0689 | v(00090001): SUB R0, R0, R1 |
068A | w(E100001C): BEQ 28 [06A7H] |
068B | x .FIXUP D |
068B | x(8D000007): LDR SB, MT, MOD0 [TextFrames] |
068C | x(90D000C8): LDR R0, SB, C8H [data] |
068D | x(40090020): SUB R0, R0, 20H |
068E | y(E6000018): BLE 24 [06A7H] |
| Fonts.GetPat(R.fnt,z nextCh,a dx,b u,c v,d w,e h,f patadr)g;h |
068F | z(80E0001C): LDR R0, SP, 1CH |
0690 | a .FIXUP D |
0690 | a(8D000005): LDR SB, MT, MOD0 [TextFrames] |
0691 | a(91D000C8): LDR R1, SB, C8H [data] |
0692 | b(42E80068): ADD R2, SP, 68H |
0693 | c(43E8006C): ADD R3, SP, 6CH |
0694 | d(44E80070): ADD R4, SP, 70H |
0695 | e(45E80074): ADD R5, SP, 74H |
0696 | f(46E80078): ADD R6, SP, 78H |
0697 | g(47E8004C): ADD R7, SP, 4CH |
0698 | h .FIXUP P |
0698 | h(F7504012): BL MOD5 [Fonts] PROC4 |
| INC(pos);i ox := ox + dx;j Texts.Read(R,k nextCh)l |
0699 | i(80E00054): LDR R0, SP, 54H |
069A | i(40080001): ADD R0, R0, 1H |
069B | i(A0E00054): STR R0, SP, 54H |
069C | j(80E00064): LDR R0, SP, 64H |
069D | j(81E00068): LDR R1, SP, 68H |
069E | j(00080001): ADD R0, R0, R1 |
069F | j(A0E00064): STR R0, SP, 64H |
06A0 | k(40E80018): ADD R0, SP, 18H |
06A1 | k .FIXUP D |
06A1 | k(8D600011): LDR SB, MT, MOD6 [Texts] |
06A2 | k(41D80002): ADD R1, SB, VAR2 |
06A3 | l .FIXUP D |
06A3 | l(8D000002): LDR SB, MT, MOD0 [TextFrames] |
06A4 | l(42D800C8): ADD R2, SB, C8H [data] |
| ENDm; |
06A5 | m .FIXUP P |
06A5 | m(F761300D): BL MOD6 [Texts] PROC19 |
06A6 | m(E7FFFFE0): B -32 [0687H] |
| ex := ox;n |
06A7 | n(80E00064): LDR R0, SP, 64H |
06A8 | n(A0E00060): STR R0, SP, 60H |
| WHILE (pos # lim)o & (pnextCh <= " ")q DOr (*scan gap*) |
06A9 | o(80E00054): LDR R0, SP, 54H |
06AA | o(81E00058): LDR R1, SP, 58H |
06AB | o(00090001): SUB R0, R0, R1 |
06AC | p(E100001C): BEQ 28 [06C9H] |
06AD | q .FIXUP D |
06AD | q(8D00000A): LDR SB, MT, MOD0 [TextFrames] |
06AE | q(90D000C8): LDR R0, SB, C8H [data] |
06AF | q(40090020): SUB R0, R0, 20H |
06B0 | r(EE000018): BGT 24 [06C9H] |
| Fonts.GetPat(R.fnt,s nextCh,t dx,u u,v v,w w,x h,y patadr)z;a |
06B1 | s(80E0001C): LDR R0, SP, 1CH |
06B2 | t .FIXUP D |
06B2 | t(8D000005): LDR SB, MT, MOD0 [TextFrames] |
06B3 | t(91D000C8): LDR R1, SB, C8H [data] |
06B4 | u(42E80068): ADD R2, SP, 68H |
06B5 | v(43E8006C): ADD R3, SP, 6CH |
06B6 | w(44E80070): ADD R4, SP, 70H |
06B7 | x(45E80074): ADD R5, SP, 74H |
06B8 | y(46E80078): ADD R6, SP, 78H |
06B9 | z(47E8004C): ADD R7, SP, 4CH |
06BA | a .FIXUP P |
06BA | a(F7504015): BL MOD5 [Fonts] PROC4 |
| INC(pos);b ox := ox + dx;c Texts.Read(R,d nextCh)e |
06BB | b(80E00054): LDR R0, SP, 54H |
06BC | b(40080001): ADD R0, R0, 1H |
06BD | b(A0E00054): STR R0, SP, 54H |
06BE | c(80E00064): LDR R0, SP, 64H |
06BF | c(81E00068): LDR R1, SP, 68H |
06C0 | c(00080001): ADD R0, R0, R1 |
06C1 | c(A0E00064): STR R0, SP, 64H |
06C2 | d(40E80018): ADD R0, SP, 18H |
06C3 | d .FIXUP D |
06C3 | d(8D600011): LDR SB, MT, MOD6 [Texts] |
06C4 | d(41D80002): ADD R1, SB, VAR2 |
06C5 | e .FIXUP D |
06C5 | e(8D000002): LDR SB, MT, MOD0 [TextFrames] |
06C6 | e(42D800C8): ADD R2, SB, C8H [data] |
| ENDf; |
06C7 | f .FIXUP P |
06C7 | f(F761300D): BL MOD6 [Texts] PROC19 |
06C8 | f(E7FFFFE0): B -32 [06A9H] |
| IF (pos # lim)g & (hox <= x)i THENj |
06C9 | g(80E00054): LDR R0, SP, 54H |
06CA | g(81E00058): LDR R1, SP, 58H |
06CB | g(00090001): SUB R0, R0, R1 |
06CC | h(E1000020): BEQ 32 [06EDH] |
06CD | i(80E00064): LDR R0, SP, 64H |
06CE | i(81E00008): LDR R1, SP, 8H |
06CF | i(00090001): SUB R0, R0, R1 |
06D0 | j(EE00001C): BGT 28 [06EDH] |
| Fonts.GetPat(R.fnt,k nextCh,l dx,m u,n v,o w,p h,q patadr)r;s |
06D1 | k(80E0001C): LDR R0, SP, 1CH |
06D2 | l .FIXUP D |
06D2 | l(8D00000D): LDR SB, MT, MOD0 [TextFrames] |
06D3 | l(91D000C8): LDR R1, SB, C8H [data] |
06D4 | m(42E80068): ADD R2, SP, 68H |
06D5 | n(43E8006C): ADD R3, SP, 6CH |
06D6 | o(44E80070): ADD R4, SP, 70H |
06D7 | p(45E80074): ADD R5, SP, 74H |
06D8 | q(46E80078): ADD R6, SP, 78H |
06D9 | r(47E8004C): ADD R7, SP, 4CH |
06DA | s .FIXUP P |
06DA | s(F7504013): BL MOD5 [Fonts] PROC4 |
| bpos := pos;t bx := ox;u |
06DB | t(80E00054): LDR R0, SP, 54H |
06DC | t(A0E00050): STR R0, SP, 50H |
06DD | u(80E00064): LDR R0, SP, 64H |
06DE | u(A0E0005C): STR R0, SP, 5CH |
| INC(pos);v ox := ox + dx;w Texts.Read(R,x nextCh)y |
06DF | v(80E00054): LDR R0, SP, 54H |
06E0 | v(40080001): ADD R0, R0, 1H |
06E1 | v(A0E00054): STR R0, SP, 54H |
06E2 | w(80E00064): LDR R0, SP, 64H |
06E3 | w(81E00068): LDR R1, SP, 68H |
06E4 | w(00080001): ADD R0, R0, R1 |
06E5 | w(A0E00064): STR R0, SP, 64H |
06E6 | x(40E80018): ADD R0, SP, 18H |
06E7 | x .FIXUP D |
06E7 | x(8D600015): LDR SB, MT, MOD6 [Texts] |
06E8 | x(41D80002): ADD R1, SB, VAR2 |
06E9 | y .FIXUP D |
06E9 | y(8D000002): LDR SB, MT, MOD0 [TextFrames] |
06EA | y(42D800C8): ADD R2, SB, C8H [data] |
| ELSEz posa := lim |
06EB | z .FIXUP P |
06EB | z(F7613011): BL MOD6 [Texts] PROC19 |
06EC | a(E7000002): B 2 [06EFH] |
| ENDb |
06ED | b(80E00058): LDR R0, SP, 58H |
06EE | b(A0E00054): STR R0, SP, 54H |
| UNTIL pos = lim;c |
06EF | c(80E00054): LDR R0, SP, 54H |
06F0 | c(81E00058): LDR R1, SP, 58H |
06F1 | c(00090001): SUB R0, R0, R1 |
06F2 | c(E9FFFF94): BNE -108 [0687H] |
| loc.pos := bpos;d loc.dx := ex - bx;e loc.x := bx |
06F3 | d(80E00050): LDR R0, SP, 50H |
06F4 | d(81E00010): LDR R1, SP, 10H |
06F5 | d(A0100004): STR R0, R1, 4H |
06F6 | e(80E00060): LDR R0, SP, 60H |
06F7 | e(81E0005C): LDR R1, SP, 5CH |
06F8 | e(00090001): SUB R0, R0, R1 |
06F9 | e(81E00010): LDR R1, SP, 10H |
06FA | e(A0100008): STR R0, R1, 8H |
| ENDf LocateString; |
06FB | f(80E0005C): LDR R0, SP, 5CH |
06FC | f(81E00010): LDR R1, SP, 10H |
06FD | f(A010000C): STR R0, R1, CH |
06FE | f(8FE00000): LDR LNK, SP, 0H |
06FF | f(4EE8007C): ADD SP, SP, 7CH |
0700 | f(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 |
0701 | g(4EE90070): SUB SP, SP, 70H |
0702 | g(AFE00000): STR LNK, SP, 0H |
0703 | g(A0E00004): STR R0, SP, 4H |
0704 | g(A1E00008): STR R1, SP, 8H |
0705 | g(A2E0000C): STR R2, SP, CH |
0706 | g(A3E00010): STR R3, SP, 10H |
0707 | g(A4E00014): STR R4, SP, 14H |
0708 | h(80E00004): LDR R0, SP, 4H |
0709 | i(81E0000C): LDR R1, SP, CH |
070A | j(82E00010): LDR R2, SP, 10H |
070B | j(83E00014): LDR R3, SP, 14H |
070C | k(F7FFFF02): BL -254 [060FH] |
| lim := loc.org + loc.lin.lenl -m 1;n |
070D | l(80E00010): LDR R0, SP, 10H |
070E | l(80000014): LDR R0, R0, 14H |
070F | l(D129174C): BLEQ MT [trap=4, pos=10519] |
0710 | m(81E00010): LDR R1, SP, 10H |
0711 | m(81100000): LDR R1, R1, 0H |
0712 | m(80000000): LDR R0, R0, 0H |
0713 | m(00180000): ADD R0, R1, R0 |
0714 | n(40090001): SUB R0, R0, 1H |
0715 | n(A0E00054): STR R0, SP, 54H |
| pos := loc.org;o ox := F.leftp;q dx := eolW;r |
0716 | o(80E00010): LDR R0, SP, 10H |
0717 | o(80000000): LDR R0, R0, 0H |
0718 | o(A0E00050): STR R0, SP, 50H |
0719 | p(80E00004): LDR R0, SP, 4H |
071A | p(D1293D4C): BLEQ MT [trap=4, pos=10557] |
071B | q(8000002C): LDR R0, R0, 2CH |
071C | q(A0E00058): STR R0, SP, 58H |
071D | r .FIXUP D |
071D | r(8D000034): LDR SB, MT, MOD0 [TextFrames] |
071E | r(80D000C4): LDR R0, SB, C4H [data] |
071F | r(A0E0005C): STR R0, SP, 5CH |
| Texts.OpenReader(R,s F.textt,u loc.org)v;w |
0720 | s(40E80018): ADD R0, SP, 18H |
0721 | s .FIXUP D |
0721 | s(8D600004): LDR SB, MT, MOD6 [Texts] |
0722 | s(41D80002): ADD R1, SB, VAR2 |
0723 | t(82E00004): LDR R2, SP, 4H |
0724 | t(D129694C): BLEQ MT [trap=4, pos=10601] |
0725 | u(8220001C): LDR R2, R2, 1CH |
0726 | v(83E00010): LDR R3, SP, 10H |
0727 | v(83300000): LDR R3, R3, 0H |
0728 | w .FIXUP P |
0728 | w(F761203D): BL MOD6 [Texts] PROC18 |
| WHILE pos # lim DOx |
0729 | x(80E00050): LDR R0, SP, 50H |
072A | x(81E00054): LDR R1, SP, 54H |
072B | x(00090001): SUB R0, R0, R1 |
072C | x(E1000028): BEQ 40 [0755H] |
| Texts.Read(R,y nextCh)z;a |
072D | y(40E80018): ADD R0, SP, 18H |
072E | y .FIXUP D |
072E | y(8D60000D): LDR SB, MT, MOD6 [Texts] |
072F | y(41D80002): ADD R1, SB, VAR2 |
0730 | z .FIXUP D |
0730 | z(8D000002): LDR SB, MT, MOD0 [TextFrames] |
0731 | z(42D800C8): ADD R2, SB, C8H [data] |
0732 | a .FIXUP P |
0732 | a(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 |
0733 | b(80E0001C): LDR R0, SP, 1CH |
0734 | c .FIXUP D |
0734 | c(8D000004): LDR SB, MT, MOD0 [TextFrames] |
0735 | c(91D000C8): LDR R1, SB, C8H [data] |
0736 | d(42E8005C): ADD R2, SP, 5CH |
0737 | e(43E80060): ADD R3, SP, 60H |
0738 | f(44E80064): ADD R4, SP, 64H |
0739 | g(45E80068): ADD R5, SP, 68H |
073A | h(46E8006C): ADD R6, SP, 6CH |
073B | i(47E8004C): ADD R7, SP, 4CH |
073C | j .FIXUP P |
073C | j(F750400A): BL MOD5 [Fonts] PROC4 |
| IF ox + dx <=k x THENl |
073D | k(80E00058): LDR R0, SP, 58H |
073E | k(81E0005C): LDR R1, SP, 5CH |
073F | k(00080001): ADD R0, R0, R1 |
0740 | l(81E00008): LDR R1, SP, 8H |
0741 | l(00090001): SUB R0, R0, R1 |
0742 | l(EE00000F): BGT 15 [0752H] |
| INC(pos);m ox := ox + dx;n |
0743 | m(80E00050): LDR R0, SP, 50H |
0744 | m(40080001): ADD R0, R0, 1H |
0745 | m(A0E00050): STR R0, SP, 50H |
0746 | n(80E00058): LDR R0, SP, 58H |
0747 | n(81E0005C): LDR R1, SP, 5CH |
0748 | n(00080001): ADD R0, R0, R1 |
0749 | n(A0E00058): STR R0, SP, 58H |
| IF pos = lim THENo dx := eolW ENDp |
074A | o(80E00050): LDR R0, SP, 50H |
074B | o(81E00054): LDR R1, SP, 54H |
074C | o(00090001): SUB R0, R0, R1 |
074D | o(E9000003): BNE 3 [0751H] |
074E | p .FIXUP D |
074E | p(8D00001A): LDR SB, MT, MOD0 [TextFrames] |
074F | p(80D000C4): LDR R0, SB, C4H [data] |
0750 | p(A0E0005C): STR R0, SP, 5CH |
| ELSE limq := pos |
0751 | q(E7000002): B 2 [0754H] |
| ENDr |
0752 | r(80E00050): LDR R0, SP, 50H |
0753 | r(A0E00054): STR R0, SP, 54H |
| ENDs ; |
0754 | s(E7FFFFD4): B -44 [0729H] |
| loc.pos := pos;t loc.dx := dx;u loc.x := ox |
0755 | t(80E00050): LDR R0, SP, 50H |
0756 | t(81E00010): LDR R1, SP, 10H |
0757 | t(A0100004): STR R0, R1, 4H |
0758 | u(80E0005C): LDR R0, SP, 5CH |
0759 | u(81E00010): LDR R1, SP, 10H |
075A | u(A0100008): STR R0, R1, 8H |
| ENDv LocateChar; |
075B | v(80E00058): LDR R0, SP, 58H |
075C | v(81E00010): LDR R1, SP, 10H |
075D | v(A010000C): STR R0, R1, CH |
075E | v(8FE00000): LDR LNK, SP, 0H |
075F | v(4EE80070): ADD SP, SP, 70H |
0760 | v(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 |
0761 | w(4EE90058): SUB SP, SP, 58H |
0762 | w(AFE00000): STR LNK, SP, 0H |
0763 | w(A0E00004): STR R0, SP, 4H |
0764 | w(A1E00008): STR R1, SP, 8H |
0765 | w(A2E0000C): STR R2, SP, CH |
0766 | w(A3E00010): STR R3, SP, 10H |
0767 | x(80E00004): LDR R0, SP, 4H |
0768 | x(D12B604C): BLEQ MT [trap=4, pos=11104] |
0769 | y(8000001C): LDR R0, R0, 1CH |
076A | y(A0E00014): STR R0, SP, 14H |
| org := F.orgz;a L := F.trailerb.nextc;d cury := F.He - F.topf -g asr;h |
076B | z(80E00004): LDR R0, SP, 4H |
076C | z(D12B724C): BLEQ MT [trap=4, pos=11122] |
076D | a(80000020): LDR R0, R0, 20H |
076E | a(A0E00050): STR R0, SP, 50H |
076F | b(80E00004): LDR R0, SP, 4H |
0770 | b(D12B824C): BLEQ MT [trap=4, pos=11138] |
0771 | c(80000090): LDR R0, R0, 90H |
0772 | c(D12B874C): BLEQ MT [trap=4, pos=11143] |
0773 | d(8000000C): LDR R0, R0, CH |
0774 | d(A0E0004C): STR R0, SP, 4CH |
0775 | e(80E00004): LDR R0, SP, 4H |
0776 | e(D12B944C): BLEQ MT [trap=4, pos=11156] |
0777 | f(81E00004): LDR R1, SP, 4H |
0778 | f(D12B9C4C): BLEQ MT [trap=4, pos=11164] |
0779 | g(80000014): LDR R0, R0, 14H |
077A | g(81100034): LDR R1, R1, 34H |
077B | g(00090001): SUB R0, R0, R1 |
077C | h .FIXUP D |
077C | h(8D00002E): LDR SB, MT, MOD0 [TextFrames] |
077D | h(81D000B4): LDR R1, SB, B4H [data] |
077E | h(00090001): SUB R0, R0, R1 |
077F | h(A0E00054): STR R0, SP, 54H |
| IF pos < org THENi pos := org ENDj; |
0780 | i(80E00008): LDR R0, SP, 8H |
0781 | i(81E00050): LDR R1, SP, 50H |
0782 | i(00090001): SUB R0, R0, R1 |
0783 | i(ED000002): BGE 2 [0786H] |
0784 | j(80E00050): LDR R0, SP, 50H |
0785 | j(A0E00008): STR R0, SP, 8H |
| WHILE (L.nextk # F.trailerl)m & (npos >= org + L.leno)p DOq |
0786 | k(80E0004C): LDR R0, SP, 4CH |
0787 | k(D12BDB4C): BLEQ MT [trap=4, pos=11227] |
0788 | l(81E00004): LDR R1, SP, 4H |
0789 | l(D12BE74C): BLEQ MT [trap=4, pos=11239] |
078A | m(8000000C): LDR R0, R0, CH |
078B | m(81100090): LDR R1, R1, 90H |
078C | m(00090001): SUB R0, R0, R1 |
078D | n(E1000018): BEQ 24 [07A6H] |
078E | o(80E0004C): LDR R0, SP, 4CH |
078F | o(D12BFE4C): BLEQ MT [trap=4, pos=11262] |
0790 | p(81E00050): LDR R1, SP, 50H |
0791 | p(80000000): LDR R0, R0, 0H |
0792 | p(00180000): ADD R0, R1, R0 |
0793 | p(81E00008): LDR R1, SP, 8H |
0794 | p(01190000): SUB R1, R1, R0 |
0795 | q(E5000010): BLT 16 [07A6H] |
| org := org + L.lenr;s L := L.nextt;u cury := cury - lsp |
0796 | r(80E0004C): LDR R0, SP, 4CH |
0797 | r(D12C1B4C): BLEQ MT [trap=4, pos=11291] |
0798 | s(81E00050): LDR R1, SP, 50H |
0799 | s(80000000): LDR R0, R0, 0H |
079A | s(00180000): ADD R0, R1, R0 |
079B | s(A0E00050): STR R0, SP, 50H |
079C | t(80E0004C): LDR R0, SP, 4CH |
079D | t(D12C284C): BLEQ MT [trap=4, pos=11304] |
079E | u(8000000C): LDR R0, R0, CH |
079F | u(A0E0004C): STR R0, SP, 4CH |
| ENDv; |
07A0 | v(80E00054): LDR R0, SP, 54H |
07A1 | v .FIXUP D |
07A1 | v(8D000025): LDR SB, MT, MOD0 [TextFrames] |
07A2 | v(81D000B0): LDR R1, SB, B0H [data] |
07A3 | v(00090001): SUB R0, R0, R1 |
07A4 | v(A0E00054): STR R0, SP, 54H |
07A5 | v(E7FFFFE0): B -32 [0786H] |
| IF pos >= org + L.lenw THENx pos := org + L.leny -z 1 ENDa; |
07A6 | w(80E0004C): LDR R0, SP, 4CH |
07A7 | w(D12C5F4C): BLEQ MT [trap=4, pos=11359] |
07A8 | x(81E00050): LDR R1, SP, 50H |
07A9 | x(80000000): LDR R0, R0, 0H |
07AA | x(00180000): ADD R0, R1, R0 |
07AB | x(81E00008): LDR R1, SP, 8H |
07AC | x(01190000): SUB R1, R1, R0 |
07AD | x(E5000007): BLT 7 [07B5H] |
07AE | y(80E0004C): LDR R0, SP, 4CH |
07AF | y(D12C774C): BLEQ MT [trap=4, pos=11383] |
07B0 | z(81E00050): LDR R1, SP, 50H |
07B1 | z(80000000): LDR R0, R0, 0H |
07B2 | z(00180000): ADD R0, R1, R0 |
07B3 | a(40090001): SUB R0, R0, 1H |
07B4 | a(A0E00008): STR R0, SP, 8H |
| Texts.OpenReader(R,b T,c org)d;e Texts.Read(R,f nextCh)g;h |
07B5 | b(40E80018): ADD R0, SP, 18H |
07B6 | b .FIXUP D |
07B6 | b(8D600015): LDR SB, MT, MOD6 [Texts] |
07B7 | b(41D80002): ADD R1, SB, VAR2 |
07B8 | c(82E00014): LDR R2, SP, 14H |
07B9 | d(83E00050): LDR R3, SP, 50H |
07BA | e .FIXUP P |
07BA | e(F761207E): BL MOD6 [Texts] PROC18 |
07BB | f(40E80018): ADD R0, SP, 18H |
07BC | f .FIXUP D |
07BC | f(8D600006): LDR SB, MT, MOD6 [Texts] |
07BD | f(41D80002): ADD R1, SB, VAR2 |
07BE | g .FIXUP D |
07BE | g(8D000002): LDR SB, MT, MOD0 [TextFrames] |
07BF | g(42D800C8): ADD R2, SB, C8H [data] |
07C0 | h .FIXUP P |
07C0 | h(F7613006): BL MOD6 [Texts] PROC19 |
| loc.org := org;i loc.pos := pos;j loc.lin := L;k |
07C1 | i(80E00050): LDR R0, SP, 50H |
07C2 | i(81E0000C): LDR R1, SP, CH |
07C3 | i(A0100000): STR R0, R1, 0H |
07C4 | j(80E00008): LDR R0, SP, 8H |
07C5 | j(81E0000C): LDR R1, SP, CH |
07C6 | j(A0100004): STR R0, R1, 4H |
07C7 | k(80E0004C): LDR R0, SP, 4CH |
07C8 | k(81E0000C): LDR R1, SP, CH |
07C9 | k(A0100014): STR R0, R1, 14H |
| loc.x := F.leftl + Width(Rm,n pos - org)o;p loc.y := cury |
07CA | l(80E00004): LDR R0, SP, 4H |
07CB | l(D12D024C): BLEQ MT [trap=4, pos=11522] |
07CC | m(4EE90004): SUB SP, SP, 4H |
07CD | m(A0E00000): STR R0, SP, 0H |
07CE | n(40E8001C): ADD R0, SP, 1CH |
07CF | n .FIXUP D |
07CF | n(8D600011): LDR SB, MT, MOD6 [Texts] |
07D0 | n(41D80002): ADD R1, SB, VAR2 |
07D1 | o(82E0000C): LDR R2, SP, CH |
07D2 | o(83E00054): LDR R3, SP, 54H |
07D3 | o(02290003): SUB R2, R2, R3 |
07D4 | p(F7FFF954): BL -1708 [0129H] |
07D5 | p(01000000): MOV R1, R0, R0 |
07D6 | p(80E00000): LDR R0, SP, 0H |
07D7 | p(4EE80004): ADD SP, SP, 4H |
07D8 | p(8000002C): LDR R0, R0, 2CH |
07D9 | p(00080001): ADD R0, R0, R1 |
07DA | p(81E0000C): LDR R1, SP, CH |
07DB | p(A010000C): STR R0, R1, CH |
| ENDq LocatePos; |
07DC | q(80E00054): LDR R0, SP, 54H |
07DD | q(81E0000C): LDR R1, SP, CH |
07DE | q(A0100010): STR R0, R1, 10H |
07DF | q(8FE00000): LDR LNK, SP, 0H |
07E0 | q(4EE80058): ADD SP, SP, 58H |
07E1 | q(C700000F): B LNK |
| |
| PROCEDURE Pos* (F: Frame; X, Y: INTEGER): LONGINT; |
| VAR loc: Location; |
| BEGINr LocateChar(F,s X - F.Xt,u Y - F.Yv,w loc)x;y RETURN loc.pos |
07E2 | r .PROC 18 |
07E2 | r(4EE90028): SUB SP, SP, 28H |
07E3 | r(AFE00000): STR LNK, SP, 0H |
07E4 | r(A0E00004): STR R0, SP, 4H |
07E5 | r(A1E00008): STR R1, SP, 8H |
07E6 | r(A2E0000C): STR R2, SP, CH |
07E7 | s(80E00004): LDR R0, SP, 4H |
07E8 | t(81E00004): LDR R1, SP, 4H |
07E9 | t(D12DA34C): BLEQ MT [trap=4, pos=11683] |
07EA | u(82E00008): LDR R2, SP, 8H |
07EB | u(81100008): LDR R1, R1, 8H |
07EC | u(01290001): SUB R1, R2, R1 |
07ED | v(82E00004): LDR R2, SP, 4H |
07EE | v(D12DAC4C): BLEQ MT [trap=4, pos=11692] |
07EF | w(83E0000C): LDR R3, SP, CH |
07F0 | w(8220000C): LDR R2, R2, CH |
07F1 | w(02390002): SUB R2, R3, R2 |
07F2 | x(43E80010): ADD R3, SP, 10H |
07F3 | x .FIXUP D |
07F3 | x(8D000024): LDR SB, MT, MOD0 [TextFrames] |
07F4 | x(44D80018): ADD R4, SB, 18H [data] |
07F5 | y(F7FFFF0B): BL -245 [0701H] |
| ENDz Pos; |
07F6 | z(80E00014): LDR R0, SP, 14H |
07F7 | z(8FE00000): LDR LNK, SP, 0H |
07F8 | z(4EE80028): ADD SP, SP, 28H |
07F9 | z(C700000F): B LNK |
| |
| PROCEDURE FlipCaret (F: Frame); |
| BEGINa |
07FA | a(4EE90008): SUB SP, SP, 8H |
07FB | a(AFE00000): STR LNK, SP, 0H |
07FC | a(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 |
07FD | b(80E00004): LDR R0, SP, 4H |
07FE | b(D12E094C): BLEQ MT [trap=4, pos=11785] |
07FF | c(81E00004): LDR R1, SP, 4H |
0800 | c(D12E114C): BLEQ MT [trap=4, pos=11793] |
0801 | d(80000054): LDR R0, R0, 54H |
0802 | d(81100010): LDR R1, R1, 10H |
0803 | d(00090001): SUB R0, R0, R1 |
0804 | e(ED000022): BGE 34 [0827H] |
0805 | f(80E00004): LDR R0, SP, 4H |
0806 | f(D12E1E4C): BLEQ MT [trap=4, pos=11806] |
0807 | g(80000058): LDR R0, R0, 58H |
0808 | g(4009000A): SUB R0, R0, AH |
0809 | h(E500001D): BLT 29 [0827H] |
080A | i(80E00004): LDR R0, SP, 4H |
080B | i(D12E334C): BLEQ MT [trap=4, pos=11827] |
080C | j(80000054): LDR R0, R0, 54H |
080D | j(4008000C): ADD R0, R0, CH |
080E | k(81E00004): LDR R1, SP, 4H |
080F | k(D12E404C): BLEQ MT [trap=4, pos=11840] |
0810 | l(81100010): LDR R1, R1, 10H |
0811 | l(00090001): SUB R0, R0, R1 |
0812 | m(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 |
0813 | n(40000001): MOV R0, R0, 1H |
0814 | o .FIXUP D |
0814 | o(8D300021): LDR SB, MT, MOD3 [Display] |
0815 | o(81D00008): LDR R1, SB, VAR8 |
0816 | p(82E00004): LDR R2, SP, 4H |
0817 | p(D12E814C): BLEQ MT [trap=4, pos=11905] |
0818 | q(83E00004): LDR R3, SP, 4H |
0819 | q(D12E8C4C): BLEQ MT [trap=4, pos=11916] |
081A | r(82200008): LDR R2, R2, 8H |
081B | r(83300054): LDR R3, R3, 54H |
081C | r(02280003): ADD R2, R2, R3 |
081D | s(83E00004): LDR R3, SP, 4H |
081E | s(D12E934C): BLEQ MT [trap=4, pos=11923] |
081F | t(84E00004): LDR R4, SP, 4H |
0820 | t(D12E9E4C): BLEQ MT [trap=4, pos=11934] |
0821 | u(8330000C): LDR R3, R3, CH |
0822 | u(84400058): LDR R4, R4, 58H |
0823 | u(03380004): ADD R3, R3, R4 |
0824 | v(4339000A): SUB R3, R3, AH |
0825 | w(44000002): MOV R4, R0, 2H |
| ENDx |
0826 | x .FIXUP P |
0826 | x(F7310066): BL MOD3 [Display] PROC16 |
| ENDy FlipCaret; |
0827 | y(8FE00000): LDR LNK, SP, 0H |
0828 | y(4EE80008): ADD SP, SP, 8H |
0829 | y(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 |
082A | z .PROC 19 |
082A | z(4EE9000C): SUB SP, SP, CH |
082B | z(AFE00000): STR LNK, SP, 0H |
082C | z(A0E00004): STR R0, SP, 4H |
082D | z(A1E00008): STR R1, SP, 8H |
082E | a(80E00004): LDR R0, SP, 4H |
082F | b(81E00008): LDR R1, SP, 8H |
0830 | c(82E00004): LDR R2, SP, 4H |
0831 | c(D12F234C): BLEQ MT [trap=4, pos=12067] |
0832 | d(42280048): ADD R2, R2, 48H |
0833 | d .FIXUP D |
0833 | d(8D00001F): LDR SB, MT, MOD0 [TextFrames] |
0834 | d(43D80018): ADD R3, SB, 18H [data] |
0835 | e(F7FFFF2B): BL -213 [0761H] |
0836 | f(80E00004): LDR R0, SP, 4H |
0837 | g(F7FFFFC2): BL -62 [07FAH] |
0838 | h(80E00004): LDR R0, SP, 4H |
0839 | h(D12F3C4C): BLEQ MT [trap=4, pos=12092] |
| ENDi SetCaret; |
083A | i(41000001): MOV R1, R0, 1H |
083B | i(B1000044): STR R1, R0, 44H |
083C | i(8FE00000): LDR LNK, SP, 0H |
083D | i(4EE8000C): ADD SP, SP, CH |
083E | i(C700000F): B LNK |
| |
| PROCEDURE TrackCaret* (F: Frame; X, Y: INTEGER; VAR keysum: SET); |
| VAR loc: Location; keys: SET; |
| BEGINj |
083F | j .PROC 20 |
083F | j(4EE90030): SUB SP, SP, 30H |
0840 | j(AFE00000): STR LNK, SP, 0H |
0841 | j(A0E00004): STR R0, SP, 4H |
0842 | j(A1E00008): STR R1, SP, 8H |
0843 | j(A2E0000C): STR R2, SP, CH |
0844 | j(A3E00010): STR R3, SP, 10H |
| IF F.trailerk.nextl # F.trailerm THENn |
0845 | k(80E00004): LDR R0, SP, 4H |
0846 | k(D12FD44C): BLEQ MT [trap=4, pos=12244] |
0847 | l(80000090): LDR R0, R0, 90H |
0848 | l(D12FD94C): BLEQ MT [trap=4, pos=12249] |
0849 | m(81E00004): LDR R1, SP, 4H |
084A | m(D12FE54C): BLEQ MT [trap=4, pos=12261] |
084B | n(8000000C): LDR R0, R0, CH |
084C | n(81100090): LDR R1, R1, 90H |
084D | n(00090001): SUB R0, R0, R1 |
084E | n(E100004D): BEQ 77 [089CH] |
| LocateChar(F,o X - F.Xp,q Y - F.Yr,s F.carloct)u;v |
084F | o(80E00004): LDR R0, SP, 4H |
0850 | p(81E00004): LDR R1, SP, 4H |
0851 | p(D130064C): BLEQ MT [trap=4, pos=12294] |
0852 | q(82E00008): LDR R2, SP, 8H |
0853 | q(81100008): LDR R1, R1, 8H |
0854 | q(01290001): SUB R1, R2, R1 |
0855 | r(82E00004): LDR R2, SP, 4H |
0856 | r(D1300F4C): BLEQ MT [trap=4, pos=12303] |
0857 | s(83E0000C): LDR R3, SP, CH |
0858 | s(8220000C): LDR R2, R2, CH |
0859 | s(02390002): SUB R2, R3, R2 |
085A | t(83E00004): LDR R3, SP, 4H |
085B | t(D130194C): BLEQ MT [trap=4, pos=12313] |
085C | u(43380048): ADD R3, R3, 48H |
085D | u .FIXUP D |
085D | u(8D00002A): LDR SB, MT, MOD0 [TextFrames] |
085E | u(44D80018): ADD R4, SB, 18H [data] |
085F | v(F7FFFEA1): BL -351 [0701H] |
| FlipCaret(F)w;x keysum := {};y |
0860 | w(80E00004): LDR R0, SP, 4H |
0861 | x(F7FFFF98): BL -104 [07FAH] |
0862 | y(40000000): MOV R0, R0, 0H |
0863 | y(81E00010): LDR R1, SP, 10H |
0864 | y(A0100000): STR R0, R1, 0H |
| REPEAT Input.Mouse(keys,z X,a Y)b;c keysum := keysum + keys;d |
0865 | z(40E8002C): ADD R0, SP, 2CH |
0866 | a(41E80008): ADD R1, SP, 8H |
0867 | b(42E8000C): ADD R2, SP, CH |
0868 | c .FIXUP P |
0868 | c(F7203042): BL MOD2 [Input] PROC3 |
0869 | d(80E00010): LDR R0, SP, 10H |
086A | d(80000000): LDR R0, R0, 0H |
086B | d(81E0002C): LDR R1, SP, 2CH |
086C | d(00060001): IOR R0, R0, R1 |
086D | d(81E00010): LDR R1, SP, 10H |
086E | d(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 |
086F | e(80E00008): LDR R0, SP, 8H |
0870 | f(81E0000C): LDR R1, SP, CH |
0871 | g .FIXUP P |
0871 | g(F7818009): BL MOD8 [Oberon] PROC24 |
0872 | h(80E00004): LDR R0, SP, 4H |
0873 | i(81E00004): LDR R1, SP, 4H |
0874 | i(D130B74C): BLEQ MT [trap=4, pos=12471] |
0875 | j(82E00008): LDR R2, SP, 8H |
0876 | j(81100008): LDR R1, R1, 8H |
0877 | j(01290001): SUB R1, R2, R1 |
0878 | k(82E00004): LDR R2, SP, 4H |
0879 | k(D130C04C): BLEQ MT [trap=4, pos=12480] |
087A | l(83E0000C): LDR R3, SP, CH |
087B | l(8220000C): LDR R2, R2, CH |
087C | l(02390002): SUB R2, R3, R2 |
087D | m(43E80014): ADD R3, SP, 14H |
087E | m .FIXUP D |
087E | m(8D000021): LDR SB, MT, MOD0 [TextFrames] |
087F | m(44D80018): ADD R4, SB, 18H [data] |
0880 | n(F7FFFE80): BL -384 [0701H] |
| IF loc.pos # F.carloco.pos THENp FlipCaret(F)q;r F.carlocs := loc;t FlipCaret(F)u ENDv |
0881 | o(80E00004): LDR R0, SP, 4H |
0882 | o(D130E54C): BLEQ MT [trap=4, pos=12517] |
0883 | p(81E00018): LDR R1, SP, 18H |
0884 | p(8000004C): LDR R0, R0, 4CH |
0885 | p(01190000): SUB R1, R1, R0 |
0886 | p(E100000F): BEQ 15 [0896H] |
0887 | q(80E00004): LDR R0, SP, 4H |
0888 | r(F7FFFF71): BL -143 [07FAH] |
0889 | s(80E00004): LDR R0, SP, 4H |
088A | s(D131054C): BLEQ MT [trap=4, pos=12549] |
088B | t(40080048): ADD R0, R0, 48H |
088C | t(41E80014): ADD R1, SP, 14H |
088D | t(42000006): MOV R2, R0, 6H |
088E | t(83100000): LDR R3, R1, 0H |
088F | t(41180004): ADD R1, R1, 4H |
0890 | t(A3000000): STR R3, R0, 0H |
0891 | t(40080004): ADD R0, R0, 4H |
0892 | t(42290001): SUB R2, R2, 1H |
0893 | t(E9FFFFFA): BNE -6 [088EH] |
0894 | u(80E00004): LDR R0, SP, 4H |
0895 | v(F7FFFF64): BL -156 [07FAH] |
| UNTIL keys = {};w |
0896 | w(80E0002C): LDR R0, SP, 2CH |
0897 | w(E9FFFFCD): BNE -51 [0865H] |
| F.hasCarx := TRUE |
0898 | x(80E00004): LDR R0, SP, 4H |
0899 | x(D131444C): BLEQ MT [trap=4, pos=12612] |
| ENDy |
089A | y(41000001): MOV R1, R0, 1H |
089B | y(B1000044): STR R1, R0, 44H |
| ENDz TrackCaret; |
089C | z(8FE00000): LDR LNK, SP, 0H |
089D | z(4EE80030): ADD SP, SP, 30H |
089E | z(C700000F): B LNK |
| |
| PROCEDURE RemoveCaret* (F: Frame); |
| BEGINa IF F.hasCarb THENc FlipCaret(F)d;e F.hasCarf := FALSE ENDg |
089F | a .PROC 21 |
089F | a(4EE90008): SUB SP, SP, 8H |
08A0 | a(AFE00000): STR LNK, SP, 0H |
08A1 | a(A0E00004): STR R0, SP, 4H |
08A2 | b(80E00004): LDR R0, SP, 4H |
08A3 | b(D131A04C): BLEQ MT [trap=4, pos=12704] |
08A4 | c(90000044): LDR R0, R0, 44H |
08A5 | c(E1000006): BEQ 6 [08ACH] |
08A6 | d(80E00004): LDR R0, SP, 4H |
08A7 | e(F7FFFF52): BL -174 [07FAH] |
08A8 | f(80E00004): LDR R0, SP, 4H |
08A9 | f(D131BC4C): BLEQ MT [trap=4, pos=12732] |
08AA | g(41000000): MOV R1, R0, 0H |
08AB | g(B1000044): STR R1, R0, 44H |
| ENDh RemoveCaret; |
08AC | h(8FE00000): LDR LNK, SP, 0H |
08AD | h(4EE80008): ADD SP, SP, 8H |
08AE | h(C700000F): B LNK |
| |
| PROCEDURE FlipSelection (F: Frame; VAR beg, end: Location); |
| VAR L: Line; Y: INTEGER; |
| BEGINi L := beg.lin;j Y := F.Yk + beg.y -l 2;m |
08AF | i(4EE90020): SUB SP, SP, 20H |
08B0 | i(AFE00000): STR LNK, SP, 0H |
08B1 | i(A0E00004): STR R0, SP, 4H |
08B2 | i(A1E00008): STR R1, SP, 8H |
08B3 | i(A2E0000C): STR R2, SP, CH |
08B4 | i(A3E00010): STR R3, SP, 10H |
08B5 | i(A4E00014): STR R4, SP, 14H |
08B6 | j(80E00008): LDR R0, SP, 8H |
08B7 | j(80000014): LDR R0, R0, 14H |
08B8 | j(A0E00018): STR R0, SP, 18H |
08B9 | k(80E00004): LDR R0, SP, 4H |
08BA | k(D132574C): BLEQ MT [trap=4, pos=12887] |
08BB | l(8000000C): LDR R0, R0, CH |
08BC | l(81E00008): LDR R1, SP, 8H |
08BD | l(81100010): LDR R1, R1, 10H |
08BE | l(00080001): ADD R0, R0, R1 |
08BF | m(40090002): SUB R0, R0, 2H |
08C0 | m(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 |
08C1 | n(80E00018): LDR R0, SP, 18H |
08C2 | n(81E00010): LDR R1, SP, 10H |
08C3 | n(81100014): LDR R1, R1, 14H |
08C4 | n(00090001): SUB R0, R0, R1 |
08C5 | n(E9000013): BNE 19 [08D9H] |
08C6 | o(40000001): MOV R0, R0, 1H |
08C7 | p(81E00004): LDR R1, SP, 4H |
08C8 | q(82E00004): LDR R2, SP, 4H |
08C9 | q(D1329C4C): BLEQ MT [trap=4, pos=12956] |
08CA | r(82200008): LDR R2, R2, 8H |
08CB | r(83E00008): LDR R3, SP, 8H |
08CC | r(8330000C): LDR R3, R3, CH |
08CD | r(02280003): ADD R2, R2, R3 |
08CE | s(83E0001C): LDR R3, SP, 1CH |
08CF | t(84E00010): LDR R4, SP, 10H |
08D0 | t(8440000C): LDR R4, R4, CH |
08D1 | t(85E00008): LDR R5, SP, 8H |
08D2 | t(8550000C): LDR R5, R5, CH |
08D3 | t(04490005): SUB R4, R4, R5 |
08D4 | u .FIXUP D |
08D4 | u(8D000056): LDR SB, MT, MOD0 [TextFrames] |
08D5 | u(85D000BC): LDR R5, SB, BCH [data] |
08D6 | v(46000002): MOV R6, R0, 2H |
| ELSEw |
08D7 | w(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 |
08D8 | x(E7000054): B 84 [092DH] |
08D9 | y(40000001): MOV R0, R0, 1H |
08DA | z(81E00004): LDR R1, SP, 4H |
08DB | a(82E00004): LDR R2, SP, 4H |
08DC | a(D132FC4C): BLEQ MT [trap=4, pos=13052] |
08DD | b(82200008): LDR R2, R2, 8H |
08DE | b(83E00008): LDR R3, SP, 8H |
08DF | b(8330000C): LDR R3, R3, CH |
08E0 | b(02280003): ADD R2, R2, R3 |
08E1 | c(83E0001C): LDR R3, SP, 1CH |
08E2 | d(84E00004): LDR R4, SP, 4H |
08E3 | d(D1330F4C): BLEQ MT [trap=4, pos=13071] |
08E4 | e(85E00018): LDR R5, SP, 18H |
08E5 | e(D133174C): BLEQ MT [trap=4, pos=13079] |
08E6 | f(8440002C): LDR R4, R4, 2CH |
08E7 | f(85500004): LDR R5, R5, 4H |
08E8 | f(04480005): ADD R4, R4, R5 |
08E9 | g(85E00008): LDR R5, SP, 8H |
08EA | g(8550000C): LDR R5, R5, CH |
08EB | g(04490005): SUB R4, R4, R5 |
08EC | h .FIXUP D |
08EC | h(8D000018): LDR SB, MT, MOD0 [TextFrames] |
08ED | h(85D000BC): LDR R5, SB, BCH [data] |
08EE | i(46000002): MOV R6, R0, 2H |
08EF | j(F7FFF71E): BL -2274 [000EH] |
| L := L.nextk;l Y := Y - lsp;m |
08F0 | k(80E00018): LDR R0, SP, 18H |
08F1 | k(D133494C): BLEQ MT [trap=4, pos=13129] |
08F2 | l(8000000C): LDR R0, R0, CH |
08F3 | l(A0E00018): STR R0, SP, 18H |
08F4 | m(80E0001C): LDR R0, SP, 1CH |
08F5 | m .FIXUP D |
08F5 | m(8D000009): LDR SB, MT, MOD0 [TextFrames] |
08F6 | m(81D000B0): LDR R1, SB, B0H [data] |
08F7 | m(00090001): SUB R0, R0, R1 |
08F8 | m(A0E0001C): STR R0, SP, 1CH |
| WHILE L # end.lin DOn |
08F9 | n(80E00018): LDR R0, SP, 18H |
08FA | n(81E00010): LDR R1, SP, 10H |
08FB | n(81100014): LDR R1, R1, 14H |
08FC | n(00090001): SUB R0, R0, R1 |
08FD | n(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 |
08FE | o(40000001): MOV R0, R0, 1H |
08FF | p(81E00004): LDR R1, SP, 4H |
0900 | q(82E00004): LDR R2, SP, 4H |
0901 | q(D1339B4C): BLEQ MT [trap=4, pos=13211] |
0902 | r(83E00004): LDR R3, SP, 4H |
0903 | r(D133A44C): BLEQ MT [trap=4, pos=13220] |
0904 | s(82200008): LDR R2, R2, 8H |
0905 | s(8330002C): LDR R3, R3, 2CH |
0906 | s(02280003): ADD R2, R2, R3 |
0907 | t(83E0001C): LDR R3, SP, 1CH |
0908 | u(84E00018): LDR R4, SP, 18H |
0909 | u(D133AE4C): BLEQ MT [trap=4, pos=13230] |
090A | v(84400004): LDR R4, R4, 4H |
090B | w .FIXUP D |
090B | w(8D000016): LDR SB, MT, MOD0 [TextFrames] |
090C | w(85D000BC): LDR R5, SB, BCH [data] |
090D | x(46000002): MOV R6, R0, 2H |
090E | y(F7FFF6FF): BL -2305 [000EH] |
| L := L.nextz;a Y := Y - lsp |
090F | z(80E00018): LDR R0, SP, 18H |
0910 | z(D133DA4C): BLEQ MT [trap=4, pos=13274] |
0911 | a(8000000C): LDR R0, R0, CH |
0912 | a(A0E00018): STR R0, SP, 18H |
| ENDb; |
0913 | b(80E0001C): LDR R0, SP, 1CH |
0914 | b .FIXUP D |
0914 | b(8D000009): LDR SB, MT, MOD0 [TextFrames] |
0915 | b(81D000B0): LDR R1, SB, B0H [data] |
0916 | b(00090001): SUB R0, R0, R1 |
0917 | b(A0E0001C): STR R0, SP, 1CH |
0918 | b(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 |
0919 | c(40000001): MOV R0, R0, 1H |
091A | d(81E00004): LDR R1, SP, 4H |
091B | e(82E00004): LDR R2, SP, 4H |
091C | e(D134194C): BLEQ MT [trap=4, pos=13337] |
091D | f(83E00004): LDR R3, SP, 4H |
091E | f(D134224C): BLEQ MT [trap=4, pos=13346] |
091F | g(82200008): LDR R2, R2, 8H |
0920 | g(8330002C): LDR R3, R3, 2CH |
0921 | g(02280003): ADD R2, R2, R3 |
0922 | h(83E0001C): LDR R3, SP, 1CH |
0923 | i(84E00004): LDR R4, SP, 4H |
0924 | i(D134354C): BLEQ MT [trap=4, pos=13365] |
0925 | j(85E00010): LDR R5, SP, 10H |
0926 | j(8550000C): LDR R5, R5, CH |
0927 | j(8440002C): LDR R4, R4, 2CH |
0928 | j(04590004): SUB R4, R5, R4 |
0929 | k .FIXUP D |
0929 | k(8D000015): LDR SB, MT, MOD0 [TextFrames] |
092A | k(85D000BC): LDR R5, SB, BCH [data] |
092B | l(46000002): MOV R6, R0, 2H |
| ENDm |
092C | m(F7FFF6E1): BL -2335 [000EH] |
| ENDn FlipSelection; |
092D | n(8FE00000): LDR LNK, SP, 0H |
092E | n(4EE80020): ADD SP, SP, 20H |
092F | n(C700000F): B LNK |
| |
| PROCEDURE SetSelection* (F: Frame; beg, end: LONGINT); |
| BEGINo |
0930 | o .PROC 22 |
0930 | o(4EE90010): SUB SP, SP, 10H |
0931 | o(AFE00000): STR LNK, SP, 0H |
0932 | o(A0E00004): STR R0, SP, 4H |
0933 | o(A1E00008): STR R1, SP, 8H |
0934 | o(A2E0000C): STR R2, SP, CH |
| IF F.hasSelp THENq FlipSelection(F,r F.selbegs,t F.selendu)v ENDw; |
0935 | p(80E00004): LDR R0, SP, 4H |
0936 | p(D134BB4C): BLEQ MT [trap=4, pos=13499] |
0937 | q(90000045): LDR R0, R0, 45H |
0938 | q(E100000B): BEQ 11 [0944H] |
0939 | r(80E00004): LDR R0, SP, 4H |
093A | s(81E00004): LDR R1, SP, 4H |
093B | s(D134DA4C): BLEQ MT [trap=4, pos=13530] |
093C | t(41180060): ADD R1, R1, 60H |
093D | t .FIXUP D |
093D | t(8D000014): LDR SB, MT, MOD0 [TextFrames] |
093E | t(42D80018): ADD R2, SB, 18H [data] |
093F | u(83E00004): LDR R3, SP, 4H |
0940 | u(D134E44C): BLEQ MT [trap=4, pos=13540] |
0941 | v(43380078): ADD R3, R3, 78H |
0942 | v(44D80018): ADD R4, SB, 18H |
0943 | w(F7FFFF6B): BL -149 [08AFH] |
| LocatePos(F,x beg,y F.selbegz)a;b LocatePos(F,c end,d F.selende)f;g |
0944 | x(80E00004): LDR R0, SP, 4H |
0945 | y(81E00008): LDR R1, SP, 8H |
0946 | z(82E00004): LDR R2, SP, 4H |
0947 | z(D135094C): BLEQ MT [trap=4, pos=13577] |
0948 | a(42280060): ADD R2, R2, 60H |
0949 | a .FIXUP D |
0949 | a(8D00000C): LDR SB, MT, MOD0 [TextFrames] |
094A | a(43D80018): ADD R3, SB, 18H [data] |
094B | b(F7FFFE15): BL -491 [0761H] |
094C | c(80E00004): LDR R0, SP, 4H |
094D | d(81E0000C): LDR R1, SP, CH |
094E | e(82E00004): LDR R2, SP, 4H |
094F | e(D135264C): BLEQ MT [trap=4, pos=13606] |
0950 | f(42280078): ADD R2, R2, 78H |
0951 | f .FIXUP D |
0951 | f(8D000008): LDR SB, MT, MOD0 [TextFrames] |
0952 | f(43D80018): ADD R3, SB, 18H [data] |
0953 | g(F7FFFE0D): BL -499 [0761H] |
| IF F.selbegh.pos < F.selendi.pos THENj |
0954 | h(80E00004): LDR R0, SP, 4H |
0955 | h(D135384C): BLEQ MT [trap=4, pos=13624] |
0956 | i(81E00004): LDR R1, SP, 4H |
0957 | i(D135474C): BLEQ MT [trap=4, pos=13639] |
0958 | j(80000064): LDR R0, R0, 64H |
0959 | j(8110007C): LDR R1, R1, 7CH |
095A | j(00090001): SUB R0, R0, R1 |
095B | j(ED000018): BGE 24 [0974H] |
| FlipSelection(F,k F.selbegl,m F.selendn)o;p F.timeq := Oberon.Time()r;s F.hasSelt := TRUE |
095C | k(80E00004): LDR R0, SP, 4H |
095D | l(81E00004): LDR R1, SP, 4H |
095E | l(D135704C): BLEQ MT [trap=4, pos=13680] |
095F | m(41180060): ADD R1, R1, 60H |
0960 | m .FIXUP D |
0960 | m(8D00000F): LDR SB, MT, MOD0 [TextFrames] |
0961 | m(42D80018): ADD R2, SB, 18H [data] |
0962 | n(83E00004): LDR R3, SP, 4H |
0963 | n(D1357A4C): BLEQ MT [trap=4, pos=13690] |
0964 | o(43380078): ADD R3, R3, 78H |
0965 | o(44D80018): ADD R4, SB, 18H |
0966 | p(F7FFFF48): BL -184 [08AFH] |
0967 | q(80E00004): LDR R0, SP, 4H |
0968 | q(D135834C): BLEQ MT [trap=4, pos=13699] |
0969 | r(4EE90004): SUB SP, SP, 4H |
096A | r(A0E00000): STR R0, SP, 0H |
096B | s .FIXUP P |
096B | s(F78160FA): BL MOD8 [Oberon] PROC22 |
096C | s(01000000): MOV R1, R0, R0 |
096D | s(80E00000): LDR R0, SP, 0H |
096E | s(4EE80004): ADD SP, SP, 4H |
096F | s(A1000040): STR R1, R0, 40H |
0970 | t(80E00004): LDR R0, SP, 4H |
0971 | t(D1359E4C): BLEQ MT [trap=4, pos=13726] |
| ENDu |
0972 | u(41000001): MOV R1, R0, 1H |
0973 | u(B1000045): STR R1, R0, 45H |
| ENDv SetSelection; |
0974 | v(8FE00000): LDR LNK, SP, 0H |
0975 | v(4EE80010): ADD SP, SP, 10H |
0976 | v(C700000F): B LNK |
| |
| PROCEDURE TrackSelection* (F: Frame; X, Y: INTEGER; VAR keysum: SET); |
| VAR loc: Location; keys: SET; |
| BEGINw |
0977 | w .PROC 23 |
0977 | w(4EE90030): SUB SP, SP, 30H |
0978 | w(AFE00000): STR LNK, SP, 0H |
0979 | w(A0E00004): STR R0, SP, 4H |
097A | w(A1E00008): STR R1, SP, 8H |
097B | w(A2E0000C): STR R2, SP, CH |
097C | w(A3E00010): STR R3, SP, 10H |
| IF F.trailerx.nexty # F.trailerz THENa |
097D | x(80E00004): LDR R0, SP, 4H |
097E | x(D136464C): BLEQ MT [trap=4, pos=13894] |
097F | y(80000090): LDR R0, R0, 90H |
0980 | y(D1364B4C): BLEQ MT [trap=4, pos=13899] |
0981 | z(81E00004): LDR R1, SP, 4H |
0982 | z(D136574C): BLEQ MT [trap=4, pos=13911] |
0983 | a(8000000C): LDR R0, R0, CH |
0984 | a(81100090): LDR R1, R1, 90H |
0985 | a(00090001): SUB R0, R0, R1 |
0986 | a(E10000E4): BEQ 228 [0A6BH] |
| IF F.hasSelb THENc FlipSelection(F,d F.selbege,f F.selendg)h ENDi; |
0987 | b(80E00004): LDR R0, SP, 4H |
0988 | b(D1366E4C): BLEQ MT [trap=4, pos=13934] |
0989 | c(90000045): LDR R0, R0, 45H |
098A | c(E100000B): BEQ 11 [0996H] |
098B | d(80E00004): LDR R0, SP, 4H |
098C | e(81E00004): LDR R1, SP, 4H |
098D | e(D1368D4C): BLEQ MT [trap=4, pos=13965] |
098E | f(41180060): ADD R1, R1, 60H |
098F | f .FIXUP D |
098F | f(8D00002F): LDR SB, MT, MOD0 [TextFrames] |
0990 | f(42D80018): ADD R2, SB, 18H [data] |
0991 | g(83E00004): LDR R3, SP, 4H |
0992 | g(D136974C): BLEQ MT [trap=4, pos=13975] |
0993 | h(43380078): ADD R3, R3, 78H |
0994 | h(44D80018): ADD R4, SB, 18H |
0995 | i(F7FFFF19): BL -231 [08AFH] |
| LocateChar(F,j X - F.Xk,l Y - F.Ym,n loc)o;p |
0996 | j(80E00004): LDR R0, SP, 4H |
0997 | k(81E00004): LDR R1, SP, 4H |
0998 | k(D136B94C): BLEQ MT [trap=4, pos=14009] |
0999 | l(82E00008): LDR R2, SP, 8H |
099A | l(81100008): LDR R1, R1, 8H |
099B | l(01290001): SUB R1, R2, R1 |
099C | m(82E00004): LDR R2, SP, 4H |
099D | m(D136C24C): BLEQ MT [trap=4, pos=14018] |
099E | n(83E0000C): LDR R3, SP, CH |
099F | n(8220000C): LDR R2, R2, CH |
09A0 | n(02390002): SUB R2, R3, R2 |
09A1 | o(43E80014): ADD R3, SP, 14H |
09A2 | o .FIXUP D |
09A2 | o(8D000013): LDR SB, MT, MOD0 [TextFrames] |
09A3 | o(44D80018): ADD R4, SB, 18H [data] |
09A4 | p(F7FFFD5C): BL -676 [0701H] |
| IF F.hasSelq & (rloc.pos = F.selbegs.pos)t & (uF.selendv.pos = F.selbegw.pos + 1)x THENy |
09A5 | q(80E00004): LDR R0, SP, 4H |
09A6 | q(D136DB4C): BLEQ MT [trap=4, pos=14043] |
09A7 | r(90000045): LDR R0, R0, 45H |
09A8 | r(E100001F): BEQ 31 [09C8H] |
09A9 | s(80E00004): LDR R0, SP, 4H |
09AA | s(D136F14C): BLEQ MT [trap=4, pos=14065] |
09AB | t(81E00018): LDR R1, SP, 18H |
09AC | t(80000064): LDR R0, R0, 64H |
09AD | t(01190000): SUB R1, R1, R0 |
09AE | u(E9000019): BNE 25 [09C8H] |
09AF | v(80E00004): LDR R0, SP, 4H |
09B0 | v(D137024C): BLEQ MT [trap=4, pos=14082] |
09B1 | w(81E00004): LDR R1, SP, 4H |
09B2 | w(D137114C): BLEQ MT [trap=4, pos=14097] |
09B3 | x(81100064): LDR R1, R1, 64H |
09B4 | x(41180001): ADD R1, R1, 1H |
09B5 | x(8000007C): LDR R0, R0, 7CH |
09B6 | x(00090001): SUB R0, R0, R1 |
09B7 | y(E9000010): BNE 16 [09C8H] |
| LocateChar(F,z F.lefta,b Y - F.Yc,d F.selbege)f |
09B8 | z(80E00004): LDR R0, SP, 4H |
09B9 | a(81E00004): LDR R1, SP, 4H |
09BA | a(D1373C4C): BLEQ MT [trap=4, pos=14140] |
09BB | b(8110002C): LDR R1, R1, 2CH |
09BC | c(82E00004): LDR R2, SP, 4H |
09BD | c(D137454C): BLEQ MT [trap=4, pos=14149] |
09BE | d(83E0000C): LDR R3, SP, CH |
09BF | d(8220000C): LDR R2, R2, CH |
09C0 | d(02390002): SUB R2, R3, R2 |
09C1 | e(83E00004): LDR R3, SP, 4H |
09C2 | e(D1374F4C): BLEQ MT [trap=4, pos=14159] |
09C3 | f(43380060): ADD R3, R3, 60H |
09C4 | f .FIXUP D |
09C4 | f(8D000022): LDR SB, MT, MOD0 [TextFrames] |
09C5 | f(44D80018): ADD R4, SB, 18H [data] |
| ELSEg Fh.selbegi := loc |
09C6 | g(F7FFFD3A): BL -710 [0701H] |
09C7 | h(E700000B): B 11 [09D3H] |
09C8 | i(80E00004): LDR R0, SP, 4H |
09C9 | i(D137644C): BLEQ MT [trap=4, pos=14180] |
| ENDj; |
09CA | j(40080060): ADD R0, R0, 60H |
09CB | j(41E80014): ADD R1, SP, 14H |
09CC | j(42000006): MOV R2, R0, 6H |
09CD | j(83100000): LDR R3, R1, 0H |
09CE | j(41180004): ADD R1, R1, 4H |
09CF | j(A3000000): STR R3, R0, 0H |
09D0 | j(40080004): ADD R0, R0, 4H |
09D1 | j(42290001): SUB R2, R2, 1H |
09D2 | j(E9FFFFFA): BNE -6 [09CDH] |
| INC(loc.pos);k loc.x := loc.x + loc.dx;l F.selendm := loc;n |
09D3 | k(80E00018): LDR R0, SP, 18H |
09D4 | k(40080001): ADD R0, R0, 1H |
09D5 | k(A0E00018): STR R0, SP, 18H |
09D6 | l(80E00020): LDR R0, SP, 20H |
09D7 | l(81E0001C): LDR R1, SP, 1CH |
09D8 | l(00080001): ADD R0, R0, R1 |
09D9 | l(A0E00020): STR R0, SP, 20H |
09DA | m(80E00004): LDR R0, SP, 4H |
09DB | m(D137AC4C): BLEQ MT [trap=4, pos=14252] |
09DC | n(40080078): ADD R0, R0, 78H |
09DD | n(41E80014): ADD R1, SP, 14H |
09DE | n(42000006): MOV R2, R0, 6H |
09DF | n(83100000): LDR R3, R1, 0H |
09E0 | n(41180004): ADD R1, R1, 4H |
09E1 | n(A3000000): STR R3, R0, 0H |
09E2 | n(40080004): ADD R0, R0, 4H |
09E3 | n(42290001): SUB R2, R2, 1H |
09E4 | n(E9FFFFFA): BNE -6 [09DFH] |
| FlipSelection(F,o F.selbegp,q F.selendr)s;t keysum := {};u |
09E5 | o(80E00004): LDR R0, SP, 4H |
09E6 | p(81E00004): LDR R1, SP, 4H |
09E7 | p(D137D44C): BLEQ MT [trap=4, pos=14292] |
09E8 | q(41180060): ADD R1, R1, 60H |
09E9 | q .FIXUP D |
09E9 | q(8D000025): LDR SB, MT, MOD0 [TextFrames] |
09EA | q(42D80018): ADD R2, SB, 18H [data] |
09EB | r(83E00004): LDR R3, SP, 4H |
09EC | r(D137DE4C): BLEQ MT [trap=4, pos=14302] |
09ED | s(43380078): ADD R3, R3, 78H |
09EE | s(44D80018): ADD R4, SB, 18H |
09EF | t(F7FFFEBF): BL -321 [08AFH] |
09F0 | u(40000000): MOV R0, R0, 0H |
09F1 | u(81E00010): LDR R1, SP, 10H |
09F2 | u(A0100000): STR R0, R1, 0H |
| REPEAT |
| Input.Mouse(keys,v X,w Y)x;y |
09F3 | v(40E8002C): ADD R0, SP, 2CH |
09F4 | w(41E80008): ADD R1, SP, 8H |
09F5 | x(42E8000C): ADD R2, SP, CH |
09F6 | y .FIXUP P |
09F6 | y(F720308B): BL MOD2 [Input] PROC3 |
| keysum := keysum + keys;z |
09F7 | z(80E00010): LDR R0, SP, 10H |
09F8 | z(80000000): LDR R0, R0, 0H |
09F9 | z(81E0002C): LDR R1, SP, 2CH |
09FA | z(00060001): IOR R0, R0, R1 |
09FB | z(81E00010): LDR R1, SP, 10H |
09FC | z(A0100000): STR R0, R1, 0H |
| Oberon.DrawMouseArrow(X,a Y)b;c |
09FD | a(80E00008): LDR R0, SP, 8H |
09FE | b(81E0000C): LDR R1, SP, CH |
09FF | c .FIXUP P |
09FF | c(F7818009): BL MOD8 [Oberon] PROC24 |
| LocateChar(F,d X - F.Xe,f Y - F.Yg,h loc)i;j |
0A00 | d(80E00004): LDR R0, SP, 4H |
0A01 | e(81E00004): LDR R1, SP, 4H |
0A02 | e(D138804C): BLEQ MT [trap=4, pos=14464] |
0A03 | f(82E00008): LDR R2, SP, 8H |
0A04 | f(81100008): LDR R1, R1, 8H |
0A05 | f(01290001): SUB R1, R2, R1 |
0A06 | g(82E00004): LDR R2, SP, 4H |
0A07 | g(D138894C): BLEQ MT [trap=4, pos=14473] |
0A08 | h(83E0000C): LDR R3, SP, CH |
0A09 | h(8220000C): LDR R2, R2, CH |
0A0A | h(02390002): SUB R2, R3, R2 |
0A0B | i(43E80014): ADD R3, SP, 14H |
0A0C | i .FIXUP D |
0A0C | i(8D000023): LDR SB, MT, MOD0 [TextFrames] |
0A0D | i(44D80018): ADD R4, SB, 18H [data] |
0A0E | j(F7FFFCF2): BL -782 [0701H] |
| IF loc.pos < F.selbegk.pos THENl loc := F.selbegm ENDn; |
0A0F | k(80E00004): LDR R0, SP, 4H |
0A10 | k(D138AE4C): BLEQ MT [trap=4, pos=14510] |
0A11 | l(81E00018): LDR R1, SP, 18H |
0A12 | l(80000064): LDR R0, R0, 64H |
0A13 | l(01190000): SUB R1, R1, R0 |
0A14 | l(ED00000B): BGE 11 [0A20H] |
0A15 | m(80E00004): LDR R0, SP, 4H |
0A16 | m(D138C74C): BLEQ MT [trap=4, pos=14535] |
0A17 | n(41E80014): ADD R1, SP, 14H |
0A18 | n(40080060): ADD R0, R0, 60H |
0A19 | n(42000006): MOV R2, R0, 6H |
0A1A | n(83000000): LDR R3, R0, 0H |
0A1B | n(40080004): ADD R0, R0, 4H |
0A1C | n(A3100000): STR R3, R1, 0H |
0A1D | n(41180004): ADD R1, R1, 4H |
0A1E | n(42290001): SUB R2, R2, 1H |
0A1F | n(E9FFFFFA): BNE -6 [0A1AH] |
| INC(loc.pos);o loc.x := loc.x + loc.dx;p |
0A20 | o(80E00018): LDR R0, SP, 18H |
0A21 | o(40080001): ADD R0, R0, 1H |
0A22 | o(A0E00018): STR R0, SP, 18H |
0A23 | p(80E00020): LDR R0, SP, 20H |
0A24 | p(81E0001C): LDR R1, SP, 1CH |
0A25 | p(00080001): ADD R0, R0, R1 |
0A26 | p(A0E00020): STR R0, SP, 20H |
| IF loc.pos < F.selendq.pos THENr FlipSelection(F,s loc,t F.selendu)v;w F.selendx := loc |
0A27 | q(80E00004): LDR R0, SP, 4H |
0A28 | q(D139194C): BLEQ MT [trap=4, pos=14617] |
0A29 | r(81E00018): LDR R1, SP, 18H |
0A2A | r(8000007C): LDR R0, R0, 7CH |
0A2B | r(01190000): SUB R1, R1, R0 |
0A2C | r(ED000015): BGE 21 [0A42H] |
0A2D | s(80E00004): LDR R0, SP, 4H |
0A2E | t(41E80014): ADD R1, SP, 14H |
0A2F | t .FIXUP D |
0A2F | t(8D000023): LDR SB, MT, MOD0 [TextFrames] |
0A30 | t(42D80018): ADD R2, SB, 18H [data] |
0A31 | u(83E00004): LDR R3, SP, 4H |
0A32 | u(D139414C): BLEQ MT [trap=4, pos=14657] |
0A33 | v(43380078): ADD R3, R3, 78H |
0A34 | v(44D80018): ADD R4, SB, 18H |
0A35 | w(F7FFFE79): BL -391 [08AFH] |
0A36 | x(80E00004): LDR R0, SP, 4H |
0A37 | x(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 |
0A38 | y(40080078): ADD R0, R0, 78H |
0A39 | y(41E80014): ADD R1, SP, 14H |
0A3A | y(42000006): MOV R2, R0, 6H |
0A3B | y(83100000): LDR R3, R1, 0H |
0A3C | y(41180004): ADD R1, R1, 4H |
0A3D | y(A3000000): STR R3, R0, 0H |
0A3E | y(40080004): ADD R0, R0, 4H |
0A3F | y(42290001): SUB R2, R2, 1H |
0A40 | y(E9FFFFFA): BNE -6 [0A3BH] |
0A41 | z(E700001A): B 26 [0A5CH] |
0A42 | a(80E00004): LDR R0, SP, 4H |
0A43 | a(D139744C): BLEQ MT [trap=4, pos=14708] |
0A44 | b(81E00018): LDR R1, SP, 18H |
0A45 | b(8000007C): LDR R0, R0, 7CH |
0A46 | b(01190000): SUB R1, R1, R0 |
0A47 | b(E6000014): BLE 20 [0A5CH] |
0A48 | c(80E00004): LDR R0, SP, 4H |
0A49 | d(81E00004): LDR R1, SP, 4H |
0A4A | d(D139974C): BLEQ MT [trap=4, pos=14743] |
0A4B | e(41180078): ADD R1, R1, 78H |
0A4C | e .FIXUP D |
0A4C | e(8D00001D): LDR SB, MT, MOD0 [TextFrames] |
0A4D | e(42D80018): ADD R2, SB, 18H [data] |
0A4E | f(43E80014): ADD R3, SP, 14H |
0A4F | f(44D80018): ADD R4, SB, 18H |
0A50 | g(F7FFFE5E): BL -418 [08AFH] |
0A51 | h(80E00004): LDR R0, SP, 4H |
0A52 | h(D139A74C): BLEQ MT [trap=4, pos=14759] |
| ENDi |
0A53 | i(40080078): ADD R0, R0, 78H |
0A54 | i(41E80014): ADD R1, SP, 14H |
0A55 | i(42000006): MOV R2, R0, 6H |
0A56 | i(83100000): LDR R3, R1, 0H |
0A57 | i(41180004): ADD R1, R1, 4H |
0A58 | i(A3000000): STR R3, R0, 0H |
0A59 | i(40080004): ADD R0, R0, 4H |
0A5A | i(42290001): SUB R2, R2, 1H |
0A5B | i(E9FFFFFA): BNE -6 [0A56H] |
| UNTIL keys = {};j |
0A5C | j(80E0002C): LDR R0, SP, 2CH |
0A5D | j(E9FFFF95): BNE -107 [09F3H] |
| F.timek := Oberon.Time()l;m F.hasSeln := TRUE |
0A5E | k(80E00004): LDR R0, SP, 4H |
0A5F | k(D139DE4C): BLEQ MT [trap=4, pos=14814] |
0A60 | l(4EE90004): SUB SP, SP, 4H |
0A61 | l(A0E00000): STR R0, SP, 0H |
0A62 | m .FIXUP P |
0A62 | m(F7816063): BL MOD8 [Oberon] PROC22 |
0A63 | m(01000000): MOV R1, R0, R0 |
0A64 | m(80E00000): LDR R0, SP, 0H |
0A65 | m(4EE80004): ADD SP, SP, 4H |
0A66 | m(A1000040): STR R1, R0, 40H |
0A67 | n(80E00004): LDR R0, SP, 4H |
0A68 | n(D139F94C): BLEQ MT [trap=4, pos=14841] |
| ENDo |
0A69 | o(41000001): MOV R1, R0, 1H |
0A6A | o(B1000045): STR R1, R0, 45H |
| ENDp TrackSelection; |
0A6B | p(8FE00000): LDR LNK, SP, 0H |
0A6C | p(4EE80030): ADD SP, SP, 30H |
0A6D | p(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 |
0A6E | q .PROC 24 |
0A6E | q(4EE90008): SUB SP, SP, 8H |
0A6F | q(AFE00000): STR LNK, SP, 0H |
0A70 | q(A0E00004): STR R0, SP, 4H |
0A71 | r(80E00004): LDR R0, SP, 4H |
0A72 | r(D13A5D4C): BLEQ MT [trap=4, pos=14941] |
0A73 | s(90000045): LDR R0, R0, 45H |
0A74 | s(E100000F): BEQ 15 [0A84H] |
0A75 | t(80E00004): LDR R0, SP, 4H |
0A76 | u(81E00004): LDR R1, SP, 4H |
0A77 | u(D13A7C4C): BLEQ MT [trap=4, pos=14972] |
0A78 | v(41180060): ADD R1, R1, 60H |
0A79 | v .FIXUP D |
0A79 | v(8D00002D): LDR SB, MT, MOD0 [TextFrames] |
0A7A | v(42D80018): ADD R2, SB, 18H [data] |
0A7B | w(83E00004): LDR R3, SP, 4H |
0A7C | w(D13A864C): BLEQ MT [trap=4, pos=14982] |
0A7D | x(43380078): ADD R3, R3, 78H |
0A7E | x(44D80018): ADD R4, SB, 18H |
0A7F | y(F7FFFE2F): BL -465 [08AFH] |
0A80 | z(80E00004): LDR R0, SP, 4H |
0A81 | z(D13A914C): BLEQ MT [trap=4, pos=14993] |
0A82 | a(41000000): MOV R1, R0, 0H |
0A83 | a(B1000045): STR R1, R0, 45H |
| ENDb RemoveSelection; |
0A84 | b(8FE00000): LDR LNK, SP, 0H |
0A85 | b(4EE80008): ADD SP, SP, 8H |
0A86 | b(C700000F): B LNK |
| |
| PROCEDURE TrackLine* (F: Frame; X, Y: INTEGER; VAR org: LONGINT; VAR keysum: SET); |
| VAR old, new: Location; keys: SET; |
| BEGINc |
0A87 | c .PROC 25 |
0A87 | c(4EE9004C): SUB SP, SP, 4CH |
0A88 | c(AFE00000): STR LNK, SP, 0H |
0A89 | c(A0E00004): STR R0, SP, 4H |
0A8A | c(A1E00008): STR R1, SP, 8H |
0A8B | c(A2E0000C): STR R2, SP, CH |
0A8C | c(A3E00010): STR R3, SP, 10H |
0A8D | c(A4E00014): STR R4, SP, 14H |
| IF F.trailerd.nexte # F.trailerf THENg |
0A8E | d(80E00004): LDR R0, SP, 4H |
0A8F | d(D13B4B4C): BLEQ MT [trap=4, pos=15179] |
0A90 | e(80000090): LDR R0, R0, 90H |
0A91 | e(D13B504C): BLEQ MT [trap=4, pos=15184] |
0A92 | f(81E00004): LDR R1, SP, 4H |
0A93 | f(D13B5C4C): BLEQ MT [trap=4, pos=15196] |
0A94 | g(8000000C): LDR R0, R0, CH |
0A95 | g(81100090): LDR R1, R1, 90H |
0A96 | g(00090001): SUB R0, R0, R1 |
0A97 | g(E1000097): BEQ 151 [0B2FH] |
| LocateLine(F,h Y - F.Yi,j old)k;l |
0A98 | h(80E00004): LDR R0, SP, 4H |
0A99 | i(81E00004): LDR R1, SP, 4H |
0A9A | i(D13B7D4C): BLEQ MT [trap=4, pos=15229] |
0A9B | j(82E0000C): LDR R2, SP, CH |
0A9C | j(8110000C): LDR R1, R1, CH |
0A9D | j(01290001): SUB R1, R2, R1 |
0A9E | k(42E80018): ADD R2, SP, 18H |
0A9F | k .FIXUP D |
0A9F | k(8D000026): LDR SB, MT, MOD0 [TextFrames] |
0AA0 | k(43D80018): ADD R3, SB, 18H [data] |
0AA1 | l(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 |
0AA2 | m(40000001): MOV R0, R0, 1H |
0AA3 | n(81E00004): LDR R1, SP, 4H |
0AA4 | o(82E00004): LDR R2, SP, 4H |
0AA5 | o(D13BAA4C): BLEQ MT [trap=4, pos=15274] |
0AA6 | p(83E00004): LDR R3, SP, 4H |
0AA7 | p(D13BB34C): BLEQ MT [trap=4, pos=15283] |
0AA8 | q(82200008): LDR R2, R2, 8H |
0AA9 | q(8330002C): LDR R3, R3, 2CH |
0AAA | q(02280003): ADD R2, R2, R3 |
0AAB | r(83E00004): LDR R3, SP, 4H |
0AAC | r(D13BB84C): BLEQ MT [trap=4, pos=15288] |
0AAD | s(8330000C): LDR R3, R3, CH |
0AAE | s(84E00028): LDR R4, SP, 28H |
0AAF | s(03380004): ADD R3, R3, R4 |
0AB0 | t .FIXUP D |
0AB0 | t(8D000011): LDR SB, MT, MOD0 [TextFrames] |
0AB1 | t(84D000B8): LDR R4, SB, B8H [data] |
0AB2 | t(03390004): SUB R3, R3, R4 |
0AB3 | u(84E0002C): LDR R4, SP, 2CH |
0AB4 | u(D13BD34C): BLEQ MT [trap=4, pos=15315] |
0AB5 | v(84400004): LDR R4, R4, 4H |
0AB6 | w(45000002): MOV R5, R0, 2H |
0AB7 | x(46000002): MOV R6, R0, 2H |
0AB8 | y(F7FFF555): BL -2731 [000EH] |
| keysum := {};z |
0AB9 | z(40000000): MOV R0, R0, 0H |
0ABA | z(81E00014): LDR R1, SP, 14H |
0ABB | z(A0100000): STR R0, R1, 0H |
| REPEAT Input.Mouse(keys,a X,b Y)c;d |
0ABC | a(40E80048): ADD R0, SP, 48H |
0ABD | b(41E80008): ADD R1, SP, 8H |
0ABE | c(42E8000C): ADD R2, SP, CH |
0ABF | d .FIXUP P |
0ABF | d(F720305D): BL MOD2 [Input] PROC3 |
| keysum := keysum + keys;e |
0AC0 | e(80E00014): LDR R0, SP, 14H |
0AC1 | e(80000000): LDR R0, R0, 0H |
0AC2 | e(81E00048): LDR R1, SP, 48H |
0AC3 | e(00060001): IOR R0, R0, R1 |
0AC4 | e(81E00014): LDR R1, SP, 14H |
0AC5 | e(A0100000): STR R0, R1, 0H |
| Oberon.DrawMouse(ScrollMarker,f X,g Y)h;i |
0AC6 | f .FIXUP D |
0AC6 | f(8D000016): LDR SB, MT, MOD0 [TextFrames] |
0AC7 | f(40D800CC): ADD R0, SB, CCH [data] |
0AC8 | f .FIXUP D |
0AC8 | f(8D800002): LDR SB, MT, MOD8 [Oberon] |
0AC9 | f(41D80001): ADD R1, SB, VAR1 |
0ACA | g(82E00008): LDR R2, SP, 8H |
0ACB | h(83E0000C): LDR R3, SP, CH |
0ACC | i .FIXUP P |
0ACC | i(F781700D): BL MOD8 [Oberon] PROC23 |
| LocateLine(F,j Y - F.Yk,l new)m;n |
0ACD | j(80E00004): LDR R0, SP, 4H |
0ACE | k(81E00004): LDR R1, SP, 4H |
0ACF | k(D13C8F4C): BLEQ MT [trap=4, pos=15503] |
0AD0 | l(82E0000C): LDR R2, SP, CH |
0AD1 | l(8110000C): LDR R1, R1, CH |
0AD2 | l(01290001): SUB R1, R2, R1 |
0AD3 | m(42E80030): ADD R2, SP, 30H |
0AD4 | m .FIXUP D |
0AD4 | m(8D00000C): LDR SB, MT, MOD0 [TextFrames] |
0AD5 | m(43D80018): ADD R3, SB, 18H [data] |
0AD6 | n(F7FFFB38): BL -1224 [060FH] |
| IF new.org # old.org THENo |
0AD7 | o(80E00030): LDR R0, SP, 30H |
0AD8 | o(81E00018): LDR R1, SP, 18H |
0AD9 | o(00090001): SUB R0, R0, R1 |
0ADA | o(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 |
0ADB | p(40000001): MOV R0, R0, 1H |
0ADC | q(81E00004): LDR R1, SP, 4H |
0ADD | r(82E00004): LDR R2, SP, 4H |
0ADE | r(D13CE24C): BLEQ MT [trap=4, pos=15586] |
0ADF | s(83E00004): LDR R3, SP, 4H |
0AE0 | s(D13CEB4C): BLEQ MT [trap=4, pos=15595] |
0AE1 | t(82200008): LDR R2, R2, 8H |
0AE2 | t(8330002C): LDR R3, R3, 2CH |
0AE3 | t(02280003): ADD R2, R2, R3 |
0AE4 | u(83E00004): LDR R3, SP, 4H |
0AE5 | u(D13CF04C): BLEQ MT [trap=4, pos=15600] |
0AE6 | v(8330000C): LDR R3, R3, CH |
0AE7 | v(84E00028): LDR R4, SP, 28H |
0AE8 | v(03380004): ADD R3, R3, R4 |
0AE9 | w .FIXUP D |
0AE9 | w(8D000015): LDR SB, MT, MOD0 [TextFrames] |
0AEA | w(84D000B8): LDR R4, SB, B8H [data] |
0AEB | w(03390004): SUB R3, R3, R4 |
0AEC | x(84E0002C): LDR R4, SP, 2CH |
0AED | x(D13D0B4C): BLEQ MT [trap=4, pos=15627] |
0AEE | y(84400004): LDR R4, R4, 4H |
0AEF | z(45000002): MOV R5, R0, 2H |
0AF0 | a(46000002): MOV R6, R0, 2H |
0AF1 | b(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 |
0AF2 | c(40000001): MOV R0, R0, 1H |
0AF3 | d(81E00004): LDR R1, SP, 4H |
0AF4 | e(82E00004): LDR R2, SP, 4H |
0AF5 | e(D13D4A4C): BLEQ MT [trap=4, pos=15690] |
0AF6 | f(83E00004): LDR R3, SP, 4H |
0AF7 | f(D13D534C): BLEQ MT [trap=4, pos=15699] |
0AF8 | g(82200008): LDR R2, R2, 8H |
0AF9 | g(8330002C): LDR R3, R3, 2CH |
0AFA | g(02280003): ADD R2, R2, R3 |
0AFB | h(83E00004): LDR R3, SP, 4H |
0AFC | h(D13D584C): BLEQ MT [trap=4, pos=15704] |
0AFD | i(8330000C): LDR R3, R3, CH |
0AFE | i(84E00040): LDR R4, SP, 40H |
0AFF | i(03380004): ADD R3, R3, R4 |
0B00 | j .FIXUP D |
0B00 | j(8D000017): LDR SB, MT, MOD0 [TextFrames] |
0B01 | j(84D000B8): LDR R4, SB, B8H [data] |
0B02 | j(03390004): SUB R3, R3, R4 |
0B03 | k(84E00044): LDR R4, SP, 44H |
0B04 | k(D13D734C): BLEQ MT [trap=4, pos=15731] |
0B05 | l(84400004): LDR R4, R4, 4H |
0B06 | m(45000002): MOV R5, R0, 2H |
0B07 | n(46000002): MOV R6, R0, 2H |
0B08 | o(F7FFF505): BL -2811 [000EH] |
| old := new |
| ENDp |
0B09 | p(40E80018): ADD R0, SP, 18H |
0B0A | p(41E80030): ADD R1, SP, 30H |
0B0B | p(42000006): MOV R2, R0, 6H |
0B0C | p(83100000): LDR R3, R1, 0H |
0B0D | p(41180004): ADD R1, R1, 4H |
0B0E | p(A3000000): STR R3, R0, 0H |
0B0F | p(40080004): ADD R0, R0, 4H |
0B10 | p(42290001): SUB R2, R2, 1H |
0B11 | p(E9FFFFFA): BNE -6 [0B0CH] |
| UNTIL keys = {};q |
0B12 | q(80E00048): LDR R0, SP, 48H |
0B13 | q(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 |
0B14 | r(40000001): MOV R0, R0, 1H |
0B15 | s(81E00004): LDR R1, SP, 4H |
0B16 | t(82E00004): LDR R2, SP, 4H |
0B17 | t(D13DE84C): BLEQ MT [trap=4, pos=15848] |
0B18 | u(83E00004): LDR R3, SP, 4H |
0B19 | u(D13DF14C): BLEQ MT [trap=4, pos=15857] |
0B1A | v(82200008): LDR R2, R2, 8H |
0B1B | v(8330002C): LDR R3, R3, 2CH |
0B1C | v(02280003): ADD R2, R2, R3 |
0B1D | w(83E00004): LDR R3, SP, 4H |
0B1E | w(D13DF64C): BLEQ MT [trap=4, pos=15862] |
0B1F | x(8330000C): LDR R3, R3, CH |
0B20 | x(84E00040): LDR R4, SP, 40H |
0B21 | x(03380004): ADD R3, R3, R4 |
0B22 | y .FIXUP D |
0B22 | y(8D000022): LDR SB, MT, MOD0 [TextFrames] |
0B23 | y(84D000B8): LDR R4, SB, B8H [data] |
0B24 | y(03390004): SUB R3, R3, R4 |
0B25 | z(84E00044): LDR R4, SP, 44H |
0B26 | z(D13E114C): BLEQ MT [trap=4, pos=15889] |
0B27 | a(84400004): LDR R4, R4, 4H |
0B28 | b(45000002): MOV R5, R0, 2H |
0B29 | c(46000002): MOV R6, R0, 2H |
0B2A | d(F7FFF4E3): BL -2845 [000EH] |
| org := new.org |
| ELSEe orgf := 0 (*<----*) |
0B2B | e(80E00030): LDR R0, SP, 30H |
0B2C | e(81E00010): LDR R1, SP, 10H |
0B2D | e(A0100000): STR R0, R1, 0H |
0B2E | f(E7000003): B 3 [0B32H] |
| ENDg |
0B2F | g(40000000): MOV R0, R0, 0H |
0B30 | g(81E00010): LDR R1, SP, 10H |
0B31 | g(A0100000): STR R0, R1, 0H |
| ENDh TrackLine; |
0B32 | h(8FE00000): LDR LNK, SP, 0H |
0B33 | h(4EE8004C): ADD SP, SP, 4CH |
0B34 | h(C700000F): B LNK |
| |
| PROCEDURE TrackWord* (F: Frame; X, Y: INTEGER; VAR pos: LONGINT; VAR keysum: SET); |
| VAR old, new: Location; keys: SET; |
| BEGINi |
0B35 | i .PROC 26 |
0B35 | i(4EE9004C): SUB SP, SP, 4CH |
0B36 | i(AFE00000): STR LNK, SP, 0H |
0B37 | i(A0E00004): STR R0, SP, 4H |
0B38 | i(A1E00008): STR R1, SP, 8H |
0B39 | i(A2E0000C): STR R2, SP, CH |
0B3A | i(A3E00010): STR R3, SP, 10H |
0B3B | i(A4E00014): STR R4, SP, 14H |
| IF F.trailerj.nextk # F.trailerl THENm |
0B3C | j(80E00004): LDR R0, SP, 4H |
0B3D | j(D13F094C): BLEQ MT [trap=4, pos=16137] |
0B3E | k(80000090): LDR R0, R0, 90H |
0B3F | k(D13F0E4C): BLEQ MT [trap=4, pos=16142] |
0B40 | l(81E00004): LDR R1, SP, 4H |
0B41 | l(D13F1A4C): BLEQ MT [trap=4, pos=16154] |
0B42 | m(8000000C): LDR R0, R0, CH |
0B43 | m(81100090): LDR R1, R1, 90H |
0B44 | m(00090001): SUB R0, R0, R1 |
0B45 | m(E100008D): BEQ 141 [0BD3H] |
| LocateString(F,n X - F.Xo,p Y - F.Yq,r old)s;t |
0B46 | n(80E00004): LDR R0, SP, 4H |
0B47 | o(81E00004): LDR R1, SP, 4H |
0B48 | o(D13F3D4C): BLEQ MT [trap=4, pos=16189] |
0B49 | p(82E00008): LDR R2, SP, 8H |
0B4A | p(81100008): LDR R1, R1, 8H |
0B4B | p(01290001): SUB R1, R2, R1 |
0B4C | q(82E00004): LDR R2, SP, 4H |
0B4D | q(D13F464C): BLEQ MT [trap=4, pos=16198] |
0B4E | r(83E0000C): LDR R3, SP, CH |
0B4F | r(8220000C): LDR R2, R2, CH |
0B50 | r(02390002): SUB R2, R3, R2 |
0B51 | s(43E80018): ADD R3, SP, 18H |
0B52 | s .FIXUP D |
0B52 | s(8D000030): LDR SB, MT, MOD0 [TextFrames] |
0B53 | s(44D80018): ADD R4, SB, 18H [data] |
0B54 | t(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 |
0B55 | u(40000001): MOV R0, R0, 1H |
0B56 | v(81E00004): LDR R1, SP, 4H |
0B57 | w(82E00004): LDR R2, SP, 4H |
0B58 | w(D13F734C): BLEQ MT [trap=4, pos=16243] |
0B59 | x(82200008): LDR R2, R2, 8H |
0B5A | x(83E00024): LDR R3, SP, 24H |
0B5B | x(02280003): ADD R2, R2, R3 |
0B5C | y(83E00004): LDR R3, SP, 4H |
0B5D | y(D13F804C): BLEQ MT [trap=4, pos=16256] |
0B5E | z(8330000C): LDR R3, R3, CH |
0B5F | z(84E00028): LDR R4, SP, 28H |
0B60 | z(03380004): ADD R3, R3, R4 |
0B61 | a .FIXUP D |
0B61 | a(8D00000F): LDR SB, MT, MOD0 [TextFrames] |
0B62 | a(84D000B8): LDR R4, SB, B8H [data] |
0B63 | a(03390004): SUB R3, R3, R4 |
0B64 | b(84E00020): LDR R4, SP, 20H |
0B65 | c(45000002): MOV R5, R0, 2H |
0B66 | d(46000002): MOV R6, R0, 2H |
0B67 | e(F7FFF4A6): BL -2906 [000EH] |
| keysum := {};f |
0B68 | f(40000000): MOV R0, R0, 0H |
0B69 | f(81E00014): LDR R1, SP, 14H |
0B6A | f(A0100000): STR R0, R1, 0H |
| REPEAT |
| Input.Mouse(keys,g X,h Y)i;j keysum := keysum + keys;k |
0B6B | g(40E80048): ADD R0, SP, 48H |
0B6C | h(41E80008): ADD R1, SP, 8H |
0B6D | i(42E8000C): ADD R2, SP, CH |
0B6E | j .FIXUP P |
0B6E | j(F72030A2): BL MOD2 [Input] PROC3 |
0B6F | k(80E00014): LDR R0, SP, 14H |
0B70 | k(80000000): LDR R0, R0, 0H |
0B71 | k(81E00048): LDR R1, SP, 48H |
0B72 | k(00060001): IOR R0, R0, R1 |
0B73 | k(81E00014): LDR R1, SP, 14H |
0B74 | k(A0100000): STR R0, R1, 0H |
| Oberon.DrawMouseArrow(X,l Y)m;n |
0B75 | l(80E00008): LDR R0, SP, 8H |
0B76 | m(81E0000C): LDR R1, SP, CH |
0B77 | n .FIXUP P |
0B77 | n(F7818009): BL MOD8 [Oberon] PROC24 |
| LocateString(F,o X - F.Xp,q Y - F.Yr,s new)t;u |
0B78 | o(80E00004): LDR R0, SP, 4H |
0B79 | p(81E00004): LDR R1, SP, 4H |
0B7A | p(D1404B4C): BLEQ MT [trap=4, pos=16459] |
0B7B | q(82E00008): LDR R2, SP, 8H |
0B7C | q(81100008): LDR R1, R1, 8H |
0B7D | q(01290001): SUB R1, R2, R1 |
0B7E | r(82E00004): LDR R2, SP, 4H |
0B7F | r(D140544C): BLEQ MT [trap=4, pos=16468] |
0B80 | s(83E0000C): LDR R3, SP, CH |
0B81 | s(8220000C): LDR R2, R2, CH |
0B82 | s(02390002): SUB R2, R3, R2 |
0B83 | t(43E80030): ADD R3, SP, 30H |
0B84 | t .FIXUP D |
0B84 | t(8D000023): LDR SB, MT, MOD0 [TextFrames] |
0B85 | t(44D80018): ADD R4, SB, 18H [data] |
0B86 | u(F7FFFACE): BL -1330 [0655H] |
| IF new.pos # old.pos THENv |
0B87 | v(80E00034): LDR R0, SP, 34H |
0B88 | v(81E0001C): LDR R1, SP, 1CH |
0B89 | v(00090001): SUB R0, R0, R1 |
0B8A | v(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 |
0B8B | w(40000001): MOV R0, R0, 1H |
0B8C | x(81E00004): LDR R1, SP, 4H |
0B8D | y(82E00004): LDR R2, SP, 4H |
0B8E | y(D140A74C): BLEQ MT [trap=4, pos=16551] |
0B8F | z(82200008): LDR R2, R2, 8H |
0B90 | z(83E00024): LDR R3, SP, 24H |
0B91 | z(02280003): ADD R2, R2, R3 |
0B92 | a(83E00004): LDR R3, SP, 4H |
0B93 | a(D140B44C): BLEQ MT [trap=4, pos=16564] |
0B94 | b(8330000C): LDR R3, R3, CH |
0B95 | b(84E00028): LDR R4, SP, 28H |
0B96 | b(03380004): ADD R3, R3, R4 |
0B97 | c .FIXUP D |
0B97 | c(8D000013): LDR SB, MT, MOD0 [TextFrames] |
0B98 | c(84D000B8): LDR R4, SB, B8H [data] |
0B99 | c(03390004): SUB R3, R3, R4 |
0B9A | d(84E00020): LDR R4, SP, 20H |
0B9B | e(45000002): MOV R5, R0, 2H |
0B9C | f(46000002): MOV R6, R0, 2H |
0B9D | g(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 |
0B9E | h(40000001): MOV R0, R0, 1H |
0B9F | i(81E00004): LDR R1, SP, 4H |
0BA0 | j(82E00004): LDR R2, SP, 4H |
0BA1 | j(D141094C): BLEQ MT [trap=4, pos=16649] |
0BA2 | k(82200008): LDR R2, R2, 8H |
0BA3 | k(83E0003C): LDR R3, SP, 3CH |
0BA4 | k(02280003): ADD R2, R2, R3 |
0BA5 | l(83E00004): LDR R3, SP, 4H |
0BA6 | l(D141164C): BLEQ MT [trap=4, pos=16662] |
0BA7 | m(8330000C): LDR R3, R3, CH |
0BA8 | m(84E00040): LDR R4, SP, 40H |
0BA9 | m(03380004): ADD R3, R3, R4 |
0BAA | n .FIXUP D |
0BAA | n(8D000013): LDR SB, MT, MOD0 [TextFrames] |
0BAB | n(84D000B8): LDR R4, SB, B8H [data] |
0BAC | n(03390004): SUB R3, R3, R4 |
0BAD | o(84E00038): LDR R4, SP, 38H |
0BAE | p(45000002): MOV R5, R0, 2H |
0BAF | q(46000002): MOV R6, R0, 2H |
0BB0 | r(F7FFF45D): BL -2979 [000EH] |
| old := new |
| ENDs |
0BB1 | s(40E80018): ADD R0, SP, 18H |
0BB2 | s(41E80030): ADD R1, SP, 30H |
0BB3 | s(42000006): MOV R2, R0, 6H |
0BB4 | s(83100000): LDR R3, R1, 0H |
0BB5 | s(41180004): ADD R1, R1, 4H |
0BB6 | s(A3000000): STR R3, R0, 0H |
0BB7 | s(40080004): ADD R0, R0, 4H |
0BB8 | s(42290001): SUB R2, R2, 1H |
0BB9 | s(E9FFFFFA): BNE -6 [0BB4H] |
| UNTIL keys = {};t |
0BBA | t(80E00048): LDR R0, SP, 48H |
0BBB | t(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 |
0BBC | u(40000001): MOV R0, R0, 1H |
0BBD | v(81E00004): LDR R1, SP, 4H |
0BBE | w(82E00004): LDR R2, SP, 4H |
0BBF | w(D1419F4C): BLEQ MT [trap=4, pos=16799] |
0BC0 | x(82200008): LDR R2, R2, 8H |
0BC1 | x(83E0003C): LDR R3, SP, 3CH |
0BC2 | x(02280003): ADD R2, R2, R3 |
0BC3 | y(83E00004): LDR R3, SP, 4H |
0BC4 | y(D141AC4C): BLEQ MT [trap=4, pos=16812] |
0BC5 | z(8330000C): LDR R3, R3, CH |
0BC6 | z(84E00040): LDR R4, SP, 40H |
0BC7 | z(03380004): ADD R3, R3, R4 |
0BC8 | a .FIXUP D |
0BC8 | a(8D00001E): LDR SB, MT, MOD0 [TextFrames] |
0BC9 | a(84D000B8): LDR R4, SB, B8H [data] |
0BCA | a(03390004): SUB R3, R3, R4 |
0BCB | b(84E00038): LDR R4, SP, 38H |
0BCC | c(45000002): MOV R5, R0, 2H |
0BCD | d(46000002): MOV R6, R0, 2H |
0BCE | e(F7FFF43F): BL -3009 [000EH] |
| pos := new.pos |
| ELSEf posg := 0 (*<----*) |
0BCF | f(80E00034): LDR R0, SP, 34H |
0BD0 | f(81E00010): LDR R1, SP, 10H |
0BD1 | f(A0100000): STR R0, R1, 0H |
0BD2 | g(E7000003): B 3 [0BD6H] |
| ENDh |
0BD3 | h(40000000): MOV R0, R0, 0H |
0BD4 | h(81E00010): LDR R1, SP, 10H |
0BD5 | h(A0100000): STR R0, R1, 0H |
| ENDi TrackWord; |
0BD6 | i(8FE00000): LDR LNK, SP, 0H |
0BD7 | i(4EE8004C): ADD SP, SP, 4CH |
0BD8 | i(C700000F): B LNK |
| |
| PROCEDURE Replace* (F: Frame; beg, end: LONGINT); |
| VAR R: Texts.Reader; L: Line; |
| org, len: LONGINT; curY, wid: INTEGER; |
| BEGINj |
0BD9 | j .PROC 27 |
0BD9 | j(4EE90058): SUB SP, SP, 58H |
0BDA | j(AFE00000): STR LNK, SP, 0H |
0BDB | j(A0E00004): STR R0, SP, 4H |
0BDC | j(A1E00008): STR R1, SP, 8H |
0BDD | j(A2E0000C): STR R2, SP, CH |
| IF end > F.orgk THENl |
0BDE | k(80E00004): LDR R0, SP, 4H |
0BDF | k(D142C34C): BLEQ MT [trap=4, pos=17091] |
0BE0 | l(81E0000C): LDR R1, SP, CH |
0BE1 | l(80000020): LDR R0, R0, 20H |
0BE2 | l(01190000): SUB R1, R1, R0 |
0BE3 | l(E60000D9): BLE 217 [0CBDH] |
| IF beg < F.orgm THENn beg := F.orgo ENDp; |
0BE4 | m(80E00004): LDR R0, SP, 4H |
0BE5 | m(D142DD4C): BLEQ MT [trap=4, pos=17117] |
0BE6 | n(81E00008): LDR R1, SP, 8H |
0BE7 | n(80000020): LDR R0, R0, 20H |
0BE8 | n(01190000): SUB R1, R1, R0 |
0BE9 | n(ED000004): BGE 4 [0BEEH] |
0BEA | o(80E00004): LDR R0, SP, 4H |
0BEB | o(D142EF4C): BLEQ MT [trap=4, pos=17135] |
0BEC | p(80000020): LDR R0, R0, 20H |
0BED | p(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 |
0BEE | q(80E00004): LDR R0, SP, 4H |
0BEF | q(D143074C): BLEQ MT [trap=4, pos=17159] |
0BF0 | r(80000020): LDR R0, R0, 20H |
0BF1 | r(A0E00048): STR R0, SP, 48H |
0BF2 | s(80E00004): LDR R0, SP, 4H |
0BF3 | s(D143174C): BLEQ MT [trap=4, pos=17175] |
0BF4 | t(80000090): LDR R0, R0, 90H |
0BF5 | t(D1431C4C): BLEQ MT [trap=4, pos=17180] |
0BF6 | u(8000000C): LDR R0, R0, CH |
0BF7 | u(A0E00044): STR R0, SP, 44H |
0BF8 | v(80E00004): LDR R0, SP, 4H |
0BF9 | v(D143294C): BLEQ MT [trap=4, pos=17193] |
0BFA | w(81E00004): LDR R1, SP, 4H |
0BFB | w(D1432F4C): BLEQ MT [trap=4, pos=17199] |
0BFC | x(8000000C): LDR R0, R0, CH |
0BFD | x(81100014): LDR R1, R1, 14H |
0BFE | x(00080001): ADD R0, R0, R1 |
0BFF | y(81E00004): LDR R1, SP, 4H |
0C00 | y(D143374C): BLEQ MT [trap=4, pos=17207] |
0C01 | z(81100034): LDR R1, R1, 34H |
0C02 | z(00090001): SUB R0, R0, R1 |
0C03 | a .FIXUP D |
0C03 | a(8D00003B): LDR SB, MT, MOD0 [TextFrames] |
0C04 | a(81D000B4): LDR R1, SB, B4H [data] |
0C05 | a(00090001): SUB R0, R0, R1 |
0C06 | a(A0E00050): STR R0, SP, 50H |
| WHILE (L # F.trailerb)c & (dorg + L.lene <=f beg)g DOh |
0C07 | b(80E00004): LDR R0, SP, 4H |
0C08 | b(D1435A4C): BLEQ MT [trap=4, pos=17242] |
0C09 | c(81E00044): LDR R1, SP, 44H |
0C0A | c(80000090): LDR R0, R0, 90H |
0C0B | c(01190000): SUB R1, R1, R0 |
0C0C | d(E1000018): BEQ 24 [0C25H] |
0C0D | e(80E00044): LDR R0, SP, 44H |
0C0E | e(D1436A4C): BLEQ MT [trap=4, pos=17258] |
0C0F | f(81E00048): LDR R1, SP, 48H |
0C10 | f(80000000): LDR R0, R0, 0H |
0C11 | f(00180000): ADD R0, R1, R0 |
0C12 | g(81E00008): LDR R1, SP, 8H |
0C13 | g(00090001): SUB R0, R0, R1 |
0C14 | h(EE000010): BGT 16 [0C25H] |
| org := org + L.leni;j L := L.nextk;l curY := curY - lsp |
0C15 | i(80E00044): LDR R0, SP, 44H |
0C16 | i(D143904C): BLEQ MT [trap=4, pos=17296] |
0C17 | j(81E00048): LDR R1, SP, 48H |
0C18 | j(80000000): LDR R0, R0, 0H |
0C19 | j(00180000): ADD R0, R1, R0 |
0C1A | j(A0E00048): STR R0, SP, 48H |
0C1B | k(80E00044): LDR R0, SP, 44H |
0C1C | k(D1439D4C): BLEQ MT [trap=4, pos=17309] |
0C1D | l(8000000C): LDR R0, R0, CH |
0C1E | l(A0E00044): STR R0, SP, 44H |
| ENDm; |
0C1F | m(80E00050): LDR R0, SP, 50H |
0C20 | m .FIXUP D |
0C20 | m(8D00001D): LDR SB, MT, MOD0 [TextFrames] |
0C21 | m(81D000B0): LDR R1, SB, B0H [data] |
0C22 | m(00090001): SUB R0, R0, R1 |
0C23 | m(A0E00050): STR R0, SP, 50H |
0C24 | m(E7FFFFE2): B -30 [0C07H] |
| IF L # F.trailern THENo |
0C25 | n(80E00004): LDR R0, SP, 4H |
0C26 | n(D143D34C): BLEQ MT [trap=4, pos=17363] |
0C27 | o(81E00044): LDR R1, SP, 44H |
0C28 | o(80000090): LDR R0, R0, 90H |
0C29 | o(01190000): SUB R1, R1, R0 |
0C2A | o(E1000092): BEQ 146 [0CBDH] |
| Texts.OpenReader(R,p F.textq,r org)s;t Texts.Read(R,u nextCh)v;w |
0C2B | p(40E80010): ADD R0, SP, 10H |
0C2C | p .FIXUP D |
0C2C | p(8D60000C): LDR SB, MT, MOD6 [Texts] |
0C2D | p(41D80002): ADD R1, SB, VAR2 |
0C2E | q(82E00004): LDR R2, SP, 4H |
0C2F | q(D143FB4C): BLEQ MT [trap=4, pos=17403] |
0C30 | r(8220001C): LDR R2, R2, 1CH |
0C31 | s(83E00048): LDR R3, SP, 48H |
0C32 | t .FIXUP P |
0C32 | t(F76120BB): BL MOD6 [Texts] PROC18 |
0C33 | u(40E80010): ADD R0, SP, 10H |
0C34 | u .FIXUP D |
0C34 | u(8D600008): LDR SB, MT, MOD6 [Texts] |
0C35 | u(41D80002): ADD R1, SB, VAR2 |
0C36 | v .FIXUP D |
0C36 | v(8D000002): LDR SB, MT, MOD0 [TextFrames] |
0C37 | v(42D800C8): ADD R2, SB, C8H [data] |
0C38 | w .FIXUP P |
0C38 | w(F7613006): BL MOD6 [Texts] PROC19 |
| len := beg - org;x wid := Width(R,y len)z;a |
0C39 | x(80E00008): LDR R0, SP, 8H |
0C3A | x(81E00048): LDR R1, SP, 48H |
0C3B | x(00090001): SUB R0, R0, R1 |
0C3C | x(A0E0004C): STR R0, SP, 4CH |
0C3D | y(40E80010): ADD R0, SP, 10H |
0C3E | y .FIXUP D |
0C3E | y(8D600008): LDR SB, MT, MOD6 [Texts] |
0C3F | y(41D80002): ADD R1, SB, VAR2 |
0C40 | z(82E0004C): LDR R2, SP, 4CH |
0C41 | a(F7FFF4E7): BL -2841 [0129H] |
0C42 | a(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 |
0C43 | b(80E00004): LDR R0, SP, 4H |
0C44 | b(D144614C): BLEQ MT [trap=4, pos=17505] |
0C45 | c(80000024): LDR R0, R0, 24H |
0C46 | d(81E00004): LDR R1, SP, 4H |
0C47 | e(82E00004): LDR R2, SP, 4H |
0C48 | e(D144694C): BLEQ MT [trap=4, pos=17513] |
0C49 | f(83E00004): LDR R3, SP, 4H |
0C4A | f(D144724C): BLEQ MT [trap=4, pos=17522] |
0C4B | g(82200008): LDR R2, R2, 8H |
0C4C | g(8330002C): LDR R3, R3, 2CH |
0C4D | g(02280003): ADD R2, R2, R3 |
0C4E | h(83E00054): LDR R3, SP, 54H |
0C4F | h(02280003): ADD R2, R2, R3 |
0C50 | i(83E00050): LDR R3, SP, 50H |
0C51 | i .FIXUP D |
0C51 | i(8D000013): LDR SB, MT, MOD0 [TextFrames] |
0C52 | i(84D000B8): LDR R4, SB, B8H [data] |
0C53 | i(03390004): SUB R3, R3, R4 |
0C54 | j(84E00044): LDR R4, SP, 44H |
0C55 | j(D1448B4C): BLEQ MT [trap=4, pos=17547] |
0C56 | k(84400004): LDR R4, R4, 4H |
0C57 | k(85E00054): LDR R5, SP, 54H |
0C58 | k(04490005): SUB R4, R4, R5 |
0C59 | l(85D000B0): LDR R5, SB, B0H |
0C5A | m(46000000): MOV R6, R0, 0H |
0C5B | n(F7FFF3B2): BL -3150 [000EH] |
| DisplayLine(F,o L,p R,q F.Xr + F.lefts +t wid,u curY,v len)w;x |
0C5C | o(80E00004): LDR R0, SP, 4H |
0C5D | p(81E00044): LDR R1, SP, 44H |
0C5E | q(42E80010): ADD R2, SP, 10H |
0C5F | q .FIXUP D |
0C5F | q(8D60000E): LDR SB, MT, MOD6 [Texts] |
0C60 | q(43D80002): ADD R3, SB, VAR2 |
0C61 | r(84E00004): LDR R4, SP, 4H |
0C62 | r(D144CA4C): BLEQ MT [trap=4, pos=17610] |
0C63 | s(85E00004): LDR R5, SP, 4H |
0C64 | s(D144D34C): BLEQ MT [trap=4, pos=17619] |
0C65 | t(84400008): LDR R4, R4, 8H |
0C66 | t(8550002C): LDR R5, R5, 2CH |
0C67 | t(04480005): ADD R4, R4, R5 |
0C68 | u(85E00054): LDR R5, SP, 54H |
0C69 | u(04480005): ADD R4, R4, R5 |
0C6A | v(85E00050): LDR R5, SP, 50H |
0C6B | w(86E0004C): LDR R6, SP, 4CH |
0C6C | x(F7FFF4E5): BL -2843 [0152H] |
| org := org + L.leny;z L := L.nexta;b curY := curY - lsp;c |
0C6D | y(80E00044): LDR R0, SP, 44H |
0C6E | y(D145014C): BLEQ MT [trap=4, pos=17665] |
0C6F | z(81E00048): LDR R1, SP, 48H |
0C70 | z(80000000): LDR R0, R0, 0H |
0C71 | z(00180000): ADD R0, R1, R0 |
0C72 | z(A0E00048): STR R0, SP, 48H |
0C73 | a(80E00044): LDR R0, SP, 44H |
0C74 | a(D1450E4C): BLEQ MT [trap=4, pos=17678] |
0C75 | b(8000000C): LDR R0, R0, CH |
0C76 | b(A0E00044): STR R0, SP, 44H |
0C77 | c(80E00050): LDR R0, SP, 50H |
0C78 | c .FIXUP D |
0C78 | c(8D000019): LDR SB, MT, MOD0 [TextFrames] |
0C79 | c(81D000B0): LDR R1, SB, B0H [data] |
0C7A | c(00090001): SUB R0, R0, R1 |
0C7B | c(A0E00050): STR R0, SP, 50H |
| WHILE (L # F.trailerd)e & (forg <= end)g DOh |
0C7C | d(80E00004): LDR R0, SP, 4H |
0C7D | d(D145404C): BLEQ MT [trap=4, pos=17728] |
0C7E | e(81E00044): LDR R1, SP, 44H |
0C7F | e(80000090): LDR R0, R0, 90H |
0C80 | e(01190000): SUB R1, R1, R0 |
0C81 | f(E100003B): BEQ 59 [0CBDH] |
0C82 | g(80E00048): LDR R0, SP, 48H |
0C83 | g(81E0000C): LDR R1, SP, CH |
0C84 | g(00090001): SUB R0, R0, R1 |
0C85 | h(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 |
0C86 | i(80E00004): LDR R0, SP, 4H |
0C87 | i(D145754C): BLEQ MT [trap=4, pos=17781] |
0C88 | j(80000024): LDR R0, R0, 24H |
0C89 | k(81E00004): LDR R1, SP, 4H |
0C8A | k(D1457A4C): BLEQ MT [trap=4, pos=17786] |
0C8B | l(82E00004): LDR R2, SP, 4H |
0C8C | l(D145834C): BLEQ MT [trap=4, pos=17795] |
0C8D | m(81100008): LDR R1, R1, 8H |
0C8E | m(8220002C): LDR R2, R2, 2CH |
0C8F | m(01180002): ADD R1, R1, R2 |
0C90 | n(82E00050): LDR R2, SP, 50H |
0C91 | n .FIXUP D |
0C91 | n(8D000019): LDR SB, MT, MOD0 [TextFrames] |
0C92 | n(83D000B8): LDR R3, SB, B8H [data] |
0C93 | n(02290003): SUB R2, R2, R3 |
0C94 | o(83E00004): LDR R3, SP, 4H |
0C95 | o(D145944C): BLEQ MT [trap=4, pos=17812] |
0C96 | p(84E00004): LDR R4, SP, 4H |
0C97 | p(D1459D4C): BLEQ MT [trap=4, pos=17821] |
0C98 | q(83300010): LDR R3, R3, 10H |
0C99 | q(8440002C): LDR R4, R4, 2CH |
0C9A | q(03390004): SUB R3, R3, R4 |
0C9B | r(84D000B0): LDR R4, SB, B0H |
0C9C | s(45000000): MOV R5, R0, 0H |
0C9D | t .FIXUP P |
0C9D | t(F730F065): BL MOD3 [Display] PROC15 |
| DisplayLine(F,u L,v R,w F.Xx + F.lefty,z curY,a 0)b;c |
0C9E | u(80E00004): LDR R0, SP, 4H |
0C9F | v(81E00044): LDR R1, SP, 44H |
0CA0 | w(42E80010): ADD R2, SP, 10H |
0CA1 | w .FIXUP D |
0CA1 | w(8D600010): LDR SB, MT, MOD6 [Texts] |
0CA2 | w(43D80002): ADD R3, SB, VAR2 |
0CA3 | x(84E00004): LDR R4, SP, 4H |
0CA4 | x(D145D84C): BLEQ MT [trap=4, pos=17880] |
0CA5 | y(85E00004): LDR R5, SP, 4H |
0CA6 | y(D145E14C): BLEQ MT [trap=4, pos=17889] |
0CA7 | z(84400008): LDR R4, R4, 8H |
0CA8 | z(8550002C): LDR R5, R5, 2CH |
0CA9 | z(04480005): ADD R4, R4, R5 |
0CAA | a(85E00050): LDR R5, SP, 50H |
0CAB | b(46000000): MOV R6, R0, 0H |
0CAC | c(F7FFF4A5): BL -2907 [0152H] |
| org := org + L.lend;e L := L.nextf;g curY := curY - lsp |
0CAD | d(80E00044): LDR R0, SP, 44H |
0CAE | d(D146094C): BLEQ MT [trap=4, pos=17929] |
0CAF | e(81E00048): LDR R1, SP, 48H |
0CB0 | e(80000000): LDR R0, R0, 0H |
0CB1 | e(00180000): ADD R0, R1, R0 |
0CB2 | e(A0E00048): STR R0, SP, 48H |
0CB3 | f(80E00044): LDR R0, SP, 44H |
0CB4 | f(D146164C): BLEQ MT [trap=4, pos=17942] |
0CB5 | g(8000000C): LDR R0, R0, CH |
0CB6 | g(A0E00044): STR R0, SP, 44H |
| ENDh |
0CB7 | h(80E00050): LDR R0, SP, 50H |
0CB8 | h .FIXUP D |
0CB8 | h(8D000017): LDR SB, MT, MOD0 [TextFrames] |
0CB9 | h(81D000B0): LDR R1, SB, B0H [data] |
0CBA | h(00090001): SUB R0, R0, R1 |
0CBB | h(A0E00050): STR R0, SP, 50H |
0CBC | h(E7FFFFBF): B -65 [0C7CH] |
| END |
| END; |
| UpdateMark(F)i |
0CBD | i(80E00004): LDR R0, SP, 4H |
| ENDj Replace; |
0CBE | j(F7FFF3D6): BL -3114 [0095H] |
0CBF | j(8FE00000): LDR LNK, SP, 0H |
0CC0 | j(4EE80058): ADD SP, SP, 58H |
0CC1 | j(C700000F): B LNK |
| |
| PROCEDURE Insert* (F: Frame; beg, end: LONGINT); |
| VAR R: Texts.Reader; L, L0, l: Line; |
| org, len: LONGINT; curY, botY, Y0, Y1, Y2, dY, wid: INTEGER; |
| BEGINk |
0CC2 | k .PROC 28 |
0CC2 | k(4EE90074): SUB SP, SP, 74H |
0CC3 | k(AFE00000): STR LNK, SP, 0H |
0CC4 | k(A0E00004): STR R0, SP, 4H |
0CC5 | k(A1E00008): STR R1, SP, 8H |
0CC6 | k(A2E0000C): STR R2, SP, CH |
| IF beg < F.orgl THENm F.orgn := F.orgo + (end - beg)p |
0CC7 | l(80E00004): LDR R0, SP, 4H |
0CC8 | l(D147254C): BLEQ MT [trap=4, pos=18213] |
0CC9 | m(81E00008): LDR R1, SP, 8H |
0CCA | m(80000020): LDR R0, R0, 20H |
0CCB | m(01190000): SUB R1, R1, R0 |
0CCC | m(ED00000B): BGE 11 [0CD8H] |
0CCD | n(80E00004): LDR R0, SP, 4H |
0CCE | n(D147304C): BLEQ MT [trap=4, pos=18224] |
0CCF | o(81E00004): LDR R1, SP, 4H |
0CD0 | o(D147394C): BLEQ MT [trap=4, pos=18233] |
0CD1 | p(82E0000C): LDR R2, SP, CH |
0CD2 | p(83E00008): LDR R3, SP, 8H |
0CD3 | p(02290003): SUB R2, R2, R3 |
| ELSEq |
0CD4 | q(81100020): LDR R1, R1, 20H |
0CD5 | q(01180002): ADD R1, R1, R2 |
0CD6 | q(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 |
0CD7 | r(E700017B): B 379 [0E53H] |
0CD8 | s(80E00004): LDR R0, SP, 4H |
0CD9 | s(D147634C): BLEQ MT [trap=4, pos=18275] |
0CDA | t(80000020): LDR R0, R0, 20H |
0CDB | t(A0E00050): STR R0, SP, 50H |
0CDC | u(80E00004): LDR R0, SP, 4H |
0CDD | u(D147734C): BLEQ MT [trap=4, pos=18291] |
0CDE | v(80000090): LDR R0, R0, 90H |
0CDF | v(D147784C): BLEQ MT [trap=4, pos=18296] |
0CE0 | w(8000000C): LDR R0, R0, CH |
0CE1 | w(A0E00044): STR R0, SP, 44H |
0CE2 | x(80E00004): LDR R0, SP, 4H |
0CE3 | x(D147854C): BLEQ MT [trap=4, pos=18309] |
0CE4 | y(81E00004): LDR R1, SP, 4H |
0CE5 | y(D1478B4C): BLEQ MT [trap=4, pos=18315] |
0CE6 | z(8000000C): LDR R0, R0, CH |
0CE7 | z(81100014): LDR R1, R1, 14H |
0CE8 | z(00080001): ADD R0, R0, R1 |
0CE9 | a(81E00004): LDR R1, SP, 4H |
0CEA | a(D147934C): BLEQ MT [trap=4, pos=18323] |
0CEB | b(81100034): LDR R1, R1, 34H |
0CEC | b(00090001): SUB R0, R0, R1 |
0CED | c .FIXUP D |
0CED | c(8D000035): LDR SB, MT, MOD0 [TextFrames] |
0CEE | c(81D000B4): LDR R1, SB, B4H [data] |
0CEF | c(00090001): SUB R0, R0, R1 |
0CF0 | c(A0E00058): STR R0, SP, 58H |
| WHILE (L # F.trailerd)e & (forg + L.leng <=h beg)i DOj |
0CF1 | d(80E00004): LDR R0, SP, 4H |
0CF2 | d(D147B64C): BLEQ MT [trap=4, pos=18358] |
0CF3 | e(81E00044): LDR R1, SP, 44H |
0CF4 | e(80000090): LDR R0, R0, 90H |
0CF5 | e(01190000): SUB R1, R1, R0 |
0CF6 | f(E1000018): BEQ 24 [0D0FH] |
0CF7 | g(80E00044): LDR R0, SP, 44H |
0CF8 | g(D147C64C): BLEQ MT [trap=4, pos=18374] |
0CF9 | h(81E00050): LDR R1, SP, 50H |
0CFA | h(80000000): LDR R0, R0, 0H |
0CFB | h(00180000): ADD R0, R1, R0 |
0CFC | i(81E00008): LDR R1, SP, 8H |
0CFD | i(00090001): SUB R0, R0, R1 |
0CFE | j(EE000010): BGT 16 [0D0FH] |
| org := org + L.lenk;l L := L.nextm;n curY := curY - lsp |
0CFF | k(80E00044): LDR R0, SP, 44H |
0D00 | k(D147EC4C): BLEQ MT [trap=4, pos=18412] |
0D01 | l(81E00050): LDR R1, SP, 50H |
0D02 | l(80000000): LDR R0, R0, 0H |
0D03 | l(00180000): ADD R0, R1, R0 |
0D04 | l(A0E00050): STR R0, SP, 50H |
0D05 | m(80E00044): LDR R0, SP, 44H |
0D06 | m(D147F94C): BLEQ MT [trap=4, pos=18425] |
0D07 | n(8000000C): LDR R0, R0, CH |
0D08 | n(A0E00044): STR R0, SP, 44H |
| ENDo; |
0D09 | o(80E00058): LDR R0, SP, 58H |
0D0A | o .FIXUP D |
0D0A | o(8D00001D): LDR SB, MT, MOD0 [TextFrames] |
0D0B | o(81D000B0): LDR R1, SB, B0H [data] |
0D0C | o(00090001): SUB R0, R0, R1 |
0D0D | o(A0E00058): STR R0, SP, 58H |
0D0E | o(E7FFFFE2): B -30 [0CF1H] |
| IF L # F.trailerp THENq |
0D0F | p(80E00004): LDR R0, SP, 4H |
0D10 | p(D1482F4C): BLEQ MT [trap=4, pos=18479] |
0D11 | q(81E00044): LDR R1, SP, 44H |
0D12 | q(80000090): LDR R0, R0, 90H |
0D13 | q(01190000): SUB R1, R1, R0 |
0D14 | q(E100013E): BEQ 318 [0E53H] |
| botY := F.Yr + F.bots +t dsr;u |
0D15 | r(80E00004): LDR R0, SP, 4H |
0D16 | r(D148484C): BLEQ MT [trap=4, pos=18504] |
0D17 | s(81E00004): LDR R1, SP, 4H |
0D18 | s(D148504C): BLEQ MT [trap=4, pos=18512] |
0D19 | t(8000000C): LDR R0, R0, CH |
0D1A | t(81100038): LDR R1, R1, 38H |
0D1B | t(00080001): ADD R0, R0, R1 |
0D1C | u .FIXUP D |
0D1C | u(8D000012): LDR SB, MT, MOD0 [TextFrames] |
0D1D | u(81D000B8): LDR R1, SB, B8H [data] |
0D1E | u(00080001): ADD R0, R0, R1 |
0D1F | u(A0E0005C): STR R0, SP, 5CH |
| Texts.OpenReader(R,v F.textw,x org)y;z Texts.Read(R,a nextCh)b;c |
0D20 | v(40E80010): ADD R0, SP, 10H |
0D21 | v .FIXUP D |
0D21 | v(8D600005): LDR SB, MT, MOD6 [Texts] |
0D22 | v(41D80002): ADD R1, SB, VAR2 |
0D23 | w(82E00004): LDR R2, SP, 4H |
0D24 | w(D1487A4C): BLEQ MT [trap=4, pos=18554] |
0D25 | x(8220001C): LDR R2, R2, 1CH |
0D26 | y(83E00050): LDR R3, SP, 50H |
0D27 | z .FIXUP P |
0D27 | z(F761208A): BL MOD6 [Texts] PROC18 |
0D28 | a(40E80010): ADD R0, SP, 10H |
0D29 | a .FIXUP D |
0D29 | a(8D600008): LDR SB, MT, MOD6 [Texts] |
0D2A | a(41D80002): ADD R1, SB, VAR2 |
0D2B | b .FIXUP D |
0D2B | b(8D000002): LDR SB, MT, MOD0 [TextFrames] |
0D2C | b(42D800C8): ADD R2, SB, C8H [data] |
0D2D | c .FIXUP P |
0D2D | c(F7613006): BL MOD6 [Texts] PROC19 |
| len := beg - org;d wid := Width(R,e len)f;g |
0D2E | d(80E00008): LDR R0, SP, 8H |
0D2F | d(81E00050): LDR R1, SP, 50H |
0D30 | d(00090001): SUB R0, R0, R1 |
0D31 | d(A0E00054): STR R0, SP, 54H |
0D32 | e(40E80010): ADD R0, SP, 10H |
0D33 | e .FIXUP D |
0D33 | e(8D600008): LDR SB, MT, MOD6 [Texts] |
0D34 | e(41D80002): ADD R1, SB, VAR2 |
0D35 | f(82E00054): LDR R2, SP, 54H |
0D36 | g(F7FFF3F2): BL -3086 [0129H] |
0D37 | g(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 |
0D38 | h(80E00004): LDR R0, SP, 4H |
0D39 | h(D148E14C): BLEQ MT [trap=4, pos=18657] |
0D3A | i(80000024): LDR R0, R0, 24H |
0D3B | j(81E00004): LDR R1, SP, 4H |
0D3C | k(82E00004): LDR R2, SP, 4H |
0D3D | k(D148E94C): BLEQ MT [trap=4, pos=18665] |
0D3E | l(83E00004): LDR R3, SP, 4H |
0D3F | l(D148F24C): BLEQ MT [trap=4, pos=18674] |
0D40 | m(82200008): LDR R2, R2, 8H |
0D41 | m(8330002C): LDR R3, R3, 2CH |
0D42 | m(02280003): ADD R2, R2, R3 |
0D43 | n(83E00070): LDR R3, SP, 70H |
0D44 | n(02280003): ADD R2, R2, R3 |
0D45 | o(83E00058): LDR R3, SP, 58H |
0D46 | o .FIXUP D |
0D46 | o(8D000013): LDR SB, MT, MOD0 [TextFrames] |
0D47 | o(84D000B8): LDR R4, SB, B8H [data] |
0D48 | o(03390004): SUB R3, R3, R4 |
0D49 | p(84E00044): LDR R4, SP, 44H |
0D4A | p(D1490B4C): BLEQ MT [trap=4, pos=18699] |
0D4B | q(84400004): LDR R4, R4, 4H |
0D4C | q(85E00070): LDR R5, SP, 70H |
0D4D | q(04490005): SUB R4, R4, R5 |
0D4E | r(85D000B0): LDR R5, SB, B0H |
0D4F | s(46000000): MOV R6, R0, 0H |
0D50 | t(F7FFF2BD): BL -3395 [000EH] |
| DisplayLine(F,u L,v R,w F.Xx + F.lefty +z wid,a curY,b len)c;d |
0D51 | u(80E00004): LDR R0, SP, 4H |
0D52 | v(81E00044): LDR R1, SP, 44H |
0D53 | w(42E80010): ADD R2, SP, 10H |
0D54 | w .FIXUP D |
0D54 | w(8D60000E): LDR SB, MT, MOD6 [Texts] |
0D55 | w(43D80002): ADD R3, SB, VAR2 |
0D56 | x(84E00004): LDR R4, SP, 4H |
0D57 | x(D1494A4C): BLEQ MT [trap=4, pos=18762] |
0D58 | y(85E00004): LDR R5, SP, 4H |
0D59 | y(D149534C): BLEQ MT [trap=4, pos=18771] |
0D5A | z(84400008): LDR R4, R4, 8H |
0D5B | z(8550002C): LDR R5, R5, 2CH |
0D5C | z(04480005): ADD R4, R4, R5 |
0D5D | a(85E00070): LDR R5, SP, 70H |
0D5E | a(04480005): ADD R4, R4, R5 |
0D5F | b(85E00058): LDR R5, SP, 58H |
0D60 | c(86E00054): LDR R6, SP, 54H |
0D61 | d(F7FFF3F0): BL -3088 [0152H] |
| org := org + L.lene;f curY := curY - lsp;g |
0D62 | e(80E00044): LDR R0, SP, 44H |
0D63 | e(D149814C): BLEQ MT [trap=4, pos=18817] |
0D64 | f(81E00050): LDR R1, SP, 50H |
0D65 | f(80000000): LDR R0, R0, 0H |
0D66 | f(00180000): ADD R0, R1, R0 |
0D67 | f(A0E00050): STR R0, SP, 50H |
0D68 | g(80E00058): LDR R0, SP, 58H |
0D69 | g .FIXUP D |
0D69 | g(8D000015): LDR SB, MT, MOD0 [TextFrames] |
0D6A | g(81D000B0): LDR R1, SB, B0H [data] |
0D6B | g(00090001): SUB R0, R0, R1 |
0D6C | g(A0E00058): STR R0, SP, 58H |
| Y0 := curY;h L0 := L.nexti;j |
0D6D | h(80E00058): LDR R0, SP, 58H |
0D6E | h(A0E00060): STR R0, SP, 60H |
0D6F | i(80E00044): LDR R0, SP, 44H |
0D70 | i(D149B74C): BLEQ MT [trap=4, pos=18871] |
0D71 | j(8000000C): LDR R0, R0, CH |
0D72 | j(A0E00048): STR R0, SP, 48H |
| WHILE (org <= end)k & (lcurY >= botY)m DOn |
0D73 | k(80E00050): LDR R0, SP, 50H |
0D74 | k(81E0000C): LDR R1, SP, CH |
0D75 | k(00090001): SUB R0, R0, R1 |
0D76 | l(EE000041): BGT 65 [0DB8H] |
0D77 | m(80E00058): LDR R0, SP, 58H |
0D78 | m(81E0005C): LDR R1, SP, 5CH |
0D79 | m(00090001): SUB R0, R0, R1 |
0D7A | n(E500003D): BLT 61 [0DB8H] |
| NEW(l);o |
0D7B | o(40E8004C): ADD R0, SP, 4CH |
0D7C | o .FIXUP D |
0D7C | o(8D000013): LDR SB, MT, MOD0 [TextFrames] |
0D7D | o(41D80000): ADD R1, SB, 0H [data] |
0D7E | o(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 |
0D7F | p(80E00004): LDR R0, SP, 4H |
0D80 | p(D14A1B4C): BLEQ MT [trap=4, pos=18971] |
0D81 | q(80000024): LDR R0, R0, 24H |
0D82 | r(81E00004): LDR R1, SP, 4H |
0D83 | r(D14A204C): BLEQ MT [trap=4, pos=18976] |
0D84 | s(82E00004): LDR R2, SP, 4H |
0D85 | s(D14A294C): BLEQ MT [trap=4, pos=18985] |
0D86 | t(81100008): LDR R1, R1, 8H |
0D87 | t(8220002C): LDR R2, R2, 2CH |
0D88 | t(01180002): ADD R1, R1, R2 |
0D89 | u(82E00058): LDR R2, SP, 58H |
0D8A | u .FIXUP D |
0D8A | u(8D00000E): LDR SB, MT, MOD0 [TextFrames] |
0D8B | u(83D000B8): LDR R3, SB, B8H [data] |
0D8C | u(02290003): SUB R2, R2, R3 |
0D8D | v(83E00004): LDR R3, SP, 4H |
0D8E | v(D14A3A4C): BLEQ MT [trap=4, pos=19002] |
0D8F | w(84E00004): LDR R4, SP, 4H |
0D90 | w(D14A434C): BLEQ MT [trap=4, pos=19011] |
0D91 | x(83300010): LDR R3, R3, 10H |
0D92 | x(8440002C): LDR R4, R4, 2CH |
0D93 | x(03390004): SUB R3, R3, R4 |
0D94 | y(84D000B0): LDR R4, SB, B0H |
0D95 | z(45000000): MOV R5, R0, 0H |
0D96 | a .FIXUP P |
0D96 | a(F730F069): BL MOD3 [Display] PROC15 |
| DisplayLine(F,b l,c R,d F.Xe + F.leftf,g curY,h 0)i;j |
0D97 | b(80E00004): LDR R0, SP, 4H |
0D98 | c(81E0004C): LDR R1, SP, 4CH |
0D99 | d(42E80010): ADD R2, SP, 10H |
0D9A | d .FIXUP D |
0D9A | d(8D600010): LDR SB, MT, MOD6 [Texts] |
0D9B | d(43D80002): ADD R3, SB, VAR2 |
0D9C | e(84E00004): LDR R4, SP, 4H |
0D9D | e(D14A7E4C): BLEQ MT [trap=4, pos=19070] |
0D9E | f(85E00004): LDR R5, SP, 4H |
0D9F | f(D14A874C): BLEQ MT [trap=4, pos=19079] |
0DA0 | g(84400008): LDR R4, R4, 8H |
0DA1 | g(8550002C): LDR R5, R5, 2CH |
0DA2 | g(04480005): ADD R4, R4, R5 |
0DA3 | h(85E00058): LDR R5, SP, 58H |
0DA4 | i(46000000): MOV R6, R0, 0H |
0DA5 | j(F7FFF3AC): BL -3156 [0152H] |
| L.nextk := l;l L := l;m |
0DA6 | k(80E00044): LDR R0, SP, 44H |
0DA7 | k(D14AA34C): BLEQ MT [trap=4, pos=19107] |
0DA8 | l(81E0004C): LDR R1, SP, 4CH |
0DA9 | l(A100000C): STR R1, R0, CH |
0DAA | m(80E0004C): LDR R0, SP, 4CH |
0DAB | m(A0E00044): STR R0, SP, 44H |
| org := org + L.lenn;o curY := curY - lsp |
0DAC | n(80E00044): LDR R0, SP, 44H |
0DAD | n(D14ACE4C): BLEQ MT [trap=4, pos=19150] |
0DAE | o(81E00050): LDR R1, SP, 50H |
0DAF | o(80000000): LDR R0, R0, 0H |
0DB0 | o(00180000): ADD R0, R1, R0 |
0DB1 | o(A0E00050): STR R0, SP, 50H |
| ENDp; |
0DB2 | p(80E00058): LDR R0, SP, 58H |
0DB3 | p .FIXUP D |
0DB3 | p(8D000019): LDR SB, MT, MOD0 [TextFrames] |
0DB4 | p(81D000B0): LDR R1, SB, B0H [data] |
0DB5 | p(00090001): SUB R0, R0, R1 |
0DB6 | p(A0E00058): STR R0, SP, 58H |
0DB7 | p(E7FFFFBB): B -69 [0D73H] |
| IF L0 # L.nextq THENr Y1 := curY;s |
0DB8 | q(80E00044): LDR R0, SP, 44H |
0DB9 | q(D14B064C): BLEQ MT [trap=4, pos=19206] |
0DBA | r(81E00048): LDR R1, SP, 48H |
0DBB | r(8000000C): LDR R0, R0, CH |
0DBC | r(01190000): SUB R1, R1, R0 |
0DBD | r(E1000095): BEQ 149 [0E53H] |
0DBE | s(80E00058): LDR R0, SP, 58H |
0DBF | s(A0E00064): STR R0, SP, 64H |
| L.nextt := L0;u |
0DC0 | t(80E00044): LDR R0, SP, 44H |
0DC1 | t(D14B284C): BLEQ MT [trap=4, pos=19240] |
0DC2 | u(81E00048): LDR R1, SP, 48H |
0DC3 | u(A100000C): STR R1, R0, CH |
| WHILE (L.nextv # F.trailerw)x & (ycurY >= botY)z DOa |
0DC4 | v(80E00044): LDR R0, SP, 44H |
0DC5 | v(D14B474C): BLEQ MT [trap=4, pos=19271] |
0DC6 | w(81E00004): LDR R1, SP, 4H |
0DC7 | w(D14B534C): BLEQ MT [trap=4, pos=19283] |
0DC8 | x(8000000C): LDR R0, R0, CH |
0DC9 | x(81100090): LDR R1, R1, 90H |
0DCA | x(00090001): SUB R0, R0, R1 |
0DCB | y(E100000E): BEQ 14 [0DDAH] |
0DCC | z(80E00058): LDR R0, SP, 58H |
0DCD | z(81E0005C): LDR R1, SP, 5CH |
0DCE | z(00090001): SUB R0, R0, R1 |
0DCF | a(E500000A): BLT 10 [0DDAH] |
| L := L.nextb;c curY := curY - lsp |
0DD0 | b(80E00044): LDR R0, SP, 44H |
0DD1 | b(D14B804C): BLEQ MT [trap=4, pos=19328] |
0DD2 | c(8000000C): LDR R0, R0, CH |
0DD3 | c(A0E00044): STR R0, SP, 44H |
| ENDd; |
0DD4 | d(80E00058): LDR R0, SP, 58H |
0DD5 | d .FIXUP D |
0DD5 | d(8D000022): LDR SB, MT, MOD0 [TextFrames] |
0DD6 | d(81D000B0): LDR R1, SB, B0H [data] |
0DD7 | d(00090001): SUB R0, R0, R1 |
0DD8 | d(A0E00058): STR R0, SP, 58H |
0DD9 | d(E7FFFFEA): B -22 [0DC4H] |
| L.nexte := F.trailerf;g |
0DDA | e(80E00044): LDR R0, SP, 44H |
0DDB | e(D14BB44C): BLEQ MT [trap=4, pos=19380] |
0DDC | f(81E00004): LDR R1, SP, 4H |
0DDD | f(D14BC14C): BLEQ MT [trap=4, pos=19393] |
0DDE | g(81100090): LDR R1, R1, 90H |
0DDF | g(A100000C): STR R1, R0, CH |
| dY := Y0 - Y1;h |
0DE0 | h(80E00060): LDR R0, SP, 60H |
0DE1 | h(81E00064): LDR R1, SP, 64H |
0DE2 | h(00090001): SUB R0, R0, R1 |
0DE3 | h(A0E0006C): STR R0, SP, 6CH |
| IF Y1 > curY + dY THENi |
0DE4 | i(80E00058): LDR R0, SP, 58H |
0DE5 | i(81E0006C): LDR R1, SP, 6CH |
0DE6 | i(00080001): ADD R0, R0, R1 |
0DE7 | i(81E00064): LDR R1, SP, 64H |
0DE8 | i(01190000): SUB R1, R1, R0 |
0DE9 | i(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 |
0DEA | j(80E00004): LDR R0, SP, 4H |
0DEB | j(D14C1E4C): BLEQ MT [trap=4, pos=19486] |
0DEC | k(81E00004): LDR R1, SP, 4H |
0DED | k(D14C274C): BLEQ MT [trap=4, pos=19495] |
0DEE | l(80000008): LDR R0, R0, 8H |
0DEF | l(8110002C): LDR R1, R1, 2CH |
0DF0 | l(00080001): ADD R0, R0, R1 |
0DF1 | m(81E00058): LDR R1, SP, 58H |
0DF2 | m(82E0006C): LDR R2, SP, 6CH |
0DF3 | m(01180002): ADD R1, R1, R2 |
0DF4 | n .FIXUP D |
0DF4 | n(8D00001F): LDR SB, MT, MOD0 [TextFrames] |
0DF5 | n(82D000B0): LDR R2, SB, B0H [data] |
0DF6 | n(01180002): ADD R1, R1, R2 |
0DF7 | o(82D000B8): LDR R2, SB, B8H |
0DF8 | o(01190002): SUB R1, R1, R2 |
0DF9 | p(82E00004): LDR R2, SP, 4H |
0DFA | p(D14C434C): BLEQ MT [trap=4, pos=19523] |
0DFB | q(83E00004): LDR R3, SP, 4H |
0DFC | q(D14C4C4C): BLEQ MT [trap=4, pos=19532] |
0DFD | r(82200010): LDR R2, R2, 10H |
0DFE | r(8330002C): LDR R3, R3, 2CH |
0DFF | r(02290003): SUB R2, R2, R3 |
0E00 | s(83E00064): LDR R3, SP, 64H |
0E01 | s(84E00058): LDR R4, SP, 58H |
0E02 | s(03390004): SUB R3, R3, R4 |
0E03 | t(84E0006C): LDR R4, SP, 6CH |
0E04 | t(03390004): SUB R3, R3, R4 |
| F.Xu + F.leftv,w curY + lsp -x dsr,y 0)z;a |
0E05 | u(84E00004): LDR R4, SP, 4H |
0E06 | u(D14C6F4C): BLEQ MT [trap=4, pos=19567] |
0E07 | v(85E00004): LDR R5, SP, 4H |
0E08 | v(D14C784C): BLEQ MT [trap=4, pos=19576] |
0E09 | w(84400008): LDR R4, R4, 8H |
0E0A | w(8550002C): LDR R5, R5, 2CH |
0E0B | w(04480005): ADD R4, R4, R5 |
0E0C | x(85E00058): LDR R5, SP, 58H |
0E0D | x(86D000B0): LDR R6, SB, B0H |
0E0E | x(05580006): ADD R5, R5, R6 |
0E0F | y(86D000B8): LDR R6, SB, B8H |
0E10 | y(05590006): SUB R5, R5, R6 |
0E11 | z(46000000): MOV R6, R0, 0H |
0E12 | a .FIXUP P |
0E12 | a(F731107C): BL MOD3 [Display] PROC17 |
| Y2 := Y1 - dY |
| ELSEb Y2c := curY |
0E13 | b(80E00064): LDR R0, SP, 64H |
0E14 | b(81E0006C): LDR R1, SP, 6CH |
0E15 | b(00090001): SUB R0, R0, R1 |
0E16 | b(A0E00068): STR R0, SP, 68H |
0E17 | c(E7000002): B 2 [0E1AH] |
| ENDd; |
0E18 | d(80E00058): LDR R0, SP, 58H |
0E19 | d(A0E00068): STR R0, SP, 68H |
| curY := Y1;e L := L0;f |
0E1A | e(80E00064): LDR R0, SP, 64H |
0E1B | e(A0E00058): STR R0, SP, 58H |
0E1C | f(80E00048): LDR R0, SP, 48H |
0E1D | f(A0E00044): STR R0, SP, 44H |
| WHILE curY # Y2 DOg |
0E1E | g(80E00058): LDR R0, SP, 58H |
0E1F | g(81E00068): LDR R1, SP, 68H |
0E20 | g(00090001): SUB R0, R0, R1 |
0E21 | g(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 |
0E22 | h(80E00004): LDR R0, SP, 4H |
0E23 | h(D14D324C): BLEQ MT [trap=4, pos=19762] |
0E24 | i(80000024): LDR R0, R0, 24H |
0E25 | j(81E00004): LDR R1, SP, 4H |
0E26 | j(D14D374C): BLEQ MT [trap=4, pos=19767] |
0E27 | k(82E00004): LDR R2, SP, 4H |
0E28 | k(D14D404C): BLEQ MT [trap=4, pos=19776] |
0E29 | l(81100008): LDR R1, R1, 8H |
0E2A | l(8220002C): LDR R2, R2, 2CH |
0E2B | l(01180002): ADD R1, R1, R2 |
0E2C | m(82E00058): LDR R2, SP, 58H |
0E2D | m .FIXUP D |
0E2D | m(8D000039): LDR SB, MT, MOD0 [TextFrames] |
0E2E | m(83D000B8): LDR R3, SB, B8H [data] |
0E2F | m(02290003): SUB R2, R2, R3 |
0E30 | n(83E00004): LDR R3, SP, 4H |
0E31 | n(D14D514C): BLEQ MT [trap=4, pos=19793] |
0E32 | o(84E00004): LDR R4, SP, 4H |
0E33 | o(D14D5A4C): BLEQ MT [trap=4, pos=19802] |
0E34 | p(83300010): LDR R3, R3, 10H |
0E35 | p(8440002C): LDR R4, R4, 2CH |
0E36 | p(03390004): SUB R3, R3, R4 |
0E37 | q(84D000B0): LDR R4, SB, B0H |
0E38 | r(45000000): MOV R5, R0, 0H |
0E39 | s .FIXUP P |
0E39 | s(F730F027): BL MOD3 [Display] PROC15 |
| DisplayLine(F,t L,u R,v F.Xw + F.leftx,y curY,z 0)a;b |
0E3A | t(80E00004): LDR R0, SP, 4H |
0E3B | u(81E00044): LDR R1, SP, 44H |
0E3C | v(42E80010): ADD R2, SP, 10H |
0E3D | v .FIXUP D |
0E3D | v(8D600010): LDR SB, MT, MOD6 [Texts] |
0E3E | v(43D80002): ADD R3, SB, VAR2 |
0E3F | w(84E00004): LDR R4, SP, 4H |
0E40 | w(D14D974C): BLEQ MT [trap=4, pos=19863] |
0E41 | x(85E00004): LDR R5, SP, 4H |
0E42 | x(D14DA04C): BLEQ MT [trap=4, pos=19872] |
0E43 | y(84400008): LDR R4, R4, 8H |
0E44 | y(8550002C): LDR R5, R5, 2CH |
0E45 | y(04480005): ADD R4, R4, R5 |
0E46 | z(85E00058): LDR R5, SP, 58H |
0E47 | a(46000000): MOV R6, R0, 0H |
0E48 | b(F7FFF309): BL -3319 [0152H] |
| L := L.nextc;d curY := curY - lsp |
0E49 | c(80E00044): LDR R0, SP, 44H |
0E4A | c(D14DC34C): BLEQ MT [trap=4, pos=19907] |
0E4B | d(8000000C): LDR R0, R0, CH |
0E4C | d(A0E00044): STR R0, SP, 44H |
| ENDe |
0E4D | e(80E00058): LDR R0, SP, 58H |
0E4E | e .FIXUP D |
0E4E | e(8D000011): LDR SB, MT, MOD0 [TextFrames] |
0E4F | e(81D000B0): LDR R1, SB, B0H [data] |
0E50 | e(00090001): SUB R0, R0, R1 |
0E51 | e(A0E00058): STR R0, SP, 58H |
0E52 | e(E7FFFFCB): B -53 [0E1EH] |
| END |
| END |
| END; |
| UpdateMark(F)f |
0E53 | f(80E00004): LDR R0, SP, 4H |
| ENDg Insert; |
0E54 | g(F7FFF240): BL -3520 [0095H] |
0E55 | g(8FE00000): LDR LNK, SP, 0H |
0E56 | g(4EE80074): ADD SP, SP, 74H |
0E57 | g(C700000F): B LNK |
| |
| PROCEDURE Delete* (F: Frame; beg, end: LONGINT); |
| VAR R: Texts.Reader; L, L0, l: Line; |
| org, org0, len: LONGINT; curY, botY, Y0, Y1, wid: INTEGER; |
| BEGINh |
0E58 | h .PROC 29 |
0E58 | h(4EE90070): SUB SP, SP, 70H |
0E59 | h(AFE00000): STR LNK, SP, 0H |
0E5A | h(A0E00004): STR R0, SP, 4H |
0E5B | h(A1E00008): STR R1, SP, 8H |
0E5C | h(A2E0000C): STR R2, SP, CH |
| IF end <= F.orgi THENj F.orgk := F.orgl - (end - beg)m |
0E5D | i(80E00004): LDR R0, SP, 4H |
0E5E | i(D14EDF4C): BLEQ MT [trap=4, pos=20191] |
0E5F | j(81E0000C): LDR R1, SP, CH |
0E60 | j(80000020): LDR R0, R0, 20H |
0E61 | j(01190000): SUB R1, R1, R0 |
0E62 | j(EE00000B): BGT 11 [0E6EH] |
0E63 | k(80E00004): LDR R0, SP, 4H |
0E64 | k(D14EEA4C): BLEQ MT [trap=4, pos=20202] |
0E65 | l(81E00004): LDR R1, SP, 4H |
0E66 | l(D14EF34C): BLEQ MT [trap=4, pos=20211] |
0E67 | m(82E0000C): LDR R2, SP, CH |
0E68 | m(83E00008): LDR R3, SP, 8H |
0E69 | m(02290003): SUB R2, R2, R3 |
| ELSEn |
0E6A | n(81100020): LDR R1, R1, 20H |
0E6B | n(01190002): SUB R1, R1, R2 |
0E6C | n(A1000020): STR R1, R0, 20H |
| IFo beg < F.orgp THENq |
0E6D | o(E7000183): B 387 [0FF1H] |
0E6E | p(80E00004): LDR R0, SP, 4H |
0E6F | p(D14F1F4C): BLEQ MT [trap=4, pos=20255] |
0E70 | q(81E00008): LDR R1, SP, 8H |
0E71 | q(80000020): LDR R0, R0, 20H |
0E72 | q(01190000): SUB R1, R1, R0 |
0E73 | q(ED000018): BGE 24 [0E8CH] |
| F.trailerr.nexts.lent := F.traileru.nextv.lenw + (F.orgx - beg)y;z |
0E74 | r(80E00004): LDR R0, SP, 4H |
0E75 | r(D14F364C): BLEQ MT [trap=4, pos=20278] |
0E76 | s(80000090): LDR R0, R0, 90H |
0E77 | s(D14F3B4C): BLEQ MT [trap=4, pos=20283] |
0E78 | t(8000000C): LDR R0, R0, CH |
0E79 | t(D14F3F4C): BLEQ MT [trap=4, pos=20287] |
0E7A | u(81E00004): LDR R1, SP, 4H |
0E7B | u(D14F4C4C): BLEQ MT [trap=4, pos=20300] |
0E7C | v(81100090): LDR R1, R1, 90H |
0E7D | v(D14F514C): BLEQ MT [trap=4, pos=20305] |
0E7E | w(8110000C): LDR R1, R1, CH |
0E7F | w(D14F554C): BLEQ MT [trap=4, pos=20309] |
0E80 | x(82E00004): LDR R2, SP, 4H |
0E81 | x(D14F5E4C): BLEQ MT [trap=4, pos=20318] |
0E82 | y(82200020): LDR R2, R2, 20H |
0E83 | y(83E00008): LDR R3, SP, 8H |
0E84 | y(02290003): SUB R2, R2, R3 |
0E85 | z(81100000): LDR R1, R1, 0H |
0E86 | z(01180002): ADD R1, R1, R2 |
0E87 | z(A1000000): STR R1, R0, 0H |
| F.orga := beg |
0E88 | a(80E00004): LDR R0, SP, 4H |
0E89 | a(D14F744C): BLEQ MT [trap=4, pos=20340] |
| ENDb; |
0E8A | b(81E00008): LDR R1, SP, 8H |
0E8B | b(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 |
0E8C | c(80E00004): LDR R0, SP, 4H |
0E8D | c(D14F994C): BLEQ MT [trap=4, pos=20377] |
0E8E | d(80000020): LDR R0, R0, 20H |
0E8F | d(A0E00050): STR R0, SP, 50H |
0E90 | e(80E00004): LDR R0, SP, 4H |
0E91 | e(D14FA94C): BLEQ MT [trap=4, pos=20393] |
0E92 | f(80000090): LDR R0, R0, 90H |
0E93 | f(D14FAE4C): BLEQ MT [trap=4, pos=20398] |
0E94 | g(8000000C): LDR R0, R0, CH |
0E95 | g(A0E00044): STR R0, SP, 44H |
0E96 | h(80E00004): LDR R0, SP, 4H |
0E97 | h(D14FBB4C): BLEQ MT [trap=4, pos=20411] |
0E98 | i(81E00004): LDR R1, SP, 4H |
0E99 | i(D14FC14C): BLEQ MT [trap=4, pos=20417] |
0E9A | j(8000000C): LDR R0, R0, CH |
0E9B | j(81100014): LDR R1, R1, 14H |
0E9C | j(00080001): ADD R0, R0, R1 |
0E9D | k(81E00004): LDR R1, SP, 4H |
0E9E | k(D14FC94C): BLEQ MT [trap=4, pos=20425] |
0E9F | l(81100034): LDR R1, R1, 34H |
0EA0 | l(00090001): SUB R0, R0, R1 |
0EA1 | m .FIXUP D |
0EA1 | m(8D000053): LDR SB, MT, MOD0 [TextFrames] |
0EA2 | m(81D000B4): LDR R1, SB, B4H [data] |
0EA3 | m(00090001): SUB R0, R0, R1 |
0EA4 | m(A0E0005C): STR R0, SP, 5CH |
| WHILE (L # F.trailern)o & (porg + L.lenq <=r beg)s DOt |
0EA5 | n(80E00004): LDR R0, SP, 4H |
0EA6 | n(D14FEB4C): BLEQ MT [trap=4, pos=20459] |
0EA7 | o(81E00044): LDR R1, SP, 44H |
0EA8 | o(80000090): LDR R0, R0, 90H |
0EA9 | o(01190000): SUB R1, R1, R0 |
0EAA | p(E1000018): BEQ 24 [0EC3H] |
0EAB | q(80E00044): LDR R0, SP, 44H |
0EAC | q(D14FFB4C): BLEQ MT [trap=4, pos=20475] |
0EAD | r(81E00050): LDR R1, SP, 50H |
0EAE | r(80000000): LDR R0, R0, 0H |
0EAF | r(00180000): ADD R0, R1, R0 |
0EB0 | s(81E00008): LDR R1, SP, 8H |
0EB1 | s(00090001): SUB R0, R0, R1 |
0EB2 | t(EE000010): BGT 16 [0EC3H] |
| org := org + L.lenu;v L := L.nextw;x curY := curY - lsp |
0EB3 | u(80E00044): LDR R0, SP, 44H |
0EB4 | u(D150214C): BLEQ MT [trap=4, pos=20513] |
0EB5 | v(81E00050): LDR R1, SP, 50H |
0EB6 | v(80000000): LDR R0, R0, 0H |
0EB7 | v(00180000): ADD R0, R1, R0 |
0EB8 | v(A0E00050): STR R0, SP, 50H |
0EB9 | w(80E00044): LDR R0, SP, 44H |
0EBA | w(D1502E4C): BLEQ MT [trap=4, pos=20526] |
0EBB | x(8000000C): LDR R0, R0, CH |
0EBC | x(A0E00044): STR R0, SP, 44H |
| ENDy; |
0EBD | y(80E0005C): LDR R0, SP, 5CH |
0EBE | y .FIXUP D |
0EBE | y(8D00001D): LDR SB, MT, MOD0 [TextFrames] |
0EBF | y(81D000B0): LDR R1, SB, B0H [data] |
0EC0 | y(00090001): SUB R0, R0, R1 |
0EC1 | y(A0E0005C): STR R0, SP, 5CH |
0EC2 | y(E7FFFFE2): B -30 [0EA5H] |
| IF L # F.trailerz THENa |
0EC3 | z(80E00004): LDR R0, SP, 4H |
0EC4 | z(D150644C): BLEQ MT [trap=4, pos=20580] |
0EC5 | a(81E00044): LDR R1, SP, 44H |
0EC6 | a(80000090): LDR R0, R0, 90H |
0EC7 | a(01190000): SUB R1, R1, R0 |
0EC8 | a(E1000128): BEQ 296 [0FF1H] |
| botY := F.Yb + F.botc +d dsr;e |
0EC9 | b(80E00004): LDR R0, SP, 4H |
0ECA | b(D1507D4C): BLEQ MT [trap=4, pos=20605] |
0ECB | c(81E00004): LDR R1, SP, 4H |
0ECC | c(D150854C): BLEQ MT [trap=4, pos=20613] |
0ECD | d(8000000C): LDR R0, R0, CH |
0ECE | d(81100038): LDR R1, R1, 38H |
0ECF | d(00080001): ADD R0, R0, R1 |
0ED0 | e .FIXUP D |
0ED0 | e(8D000012): LDR SB, MT, MOD0 [TextFrames] |
0ED1 | e(81D000B8): LDR R1, SB, B8H [data] |
0ED2 | e(00080001): ADD R0, R0, R1 |
0ED3 | e(A0E00060): STR R0, SP, 60H |
| org0 := org;f L0 := L;g Y0 := curY;h |
0ED4 | f(80E00050): LDR R0, SP, 50H |
0ED5 | f(A0E00054): STR R0, SP, 54H |
0ED6 | g(80E00044): LDR R0, SP, 44H |
0ED7 | g(A0E00048): STR R0, SP, 48H |
0ED8 | h(80E0005C): LDR R0, SP, 5CH |
0ED9 | h(A0E00064): STR R0, SP, 64H |
| WHILE (L # F.traileri)j & (korg <= end)l DOm |
0EDA | i(80E00004): LDR R0, SP, 4H |
0EDB | i(D150D34C): BLEQ MT [trap=4, pos=20691] |
0EDC | j(81E00044): LDR R1, SP, 44H |
0EDD | j(80000090): LDR R0, R0, 90H |
0EDE | j(01190000): SUB R1, R1, R0 |
0EDF | k(E1000014): BEQ 20 [0EF4H] |
0EE0 | l(80E00050): LDR R0, SP, 50H |
0EE1 | l(81E0000C): LDR R1, SP, CH |
0EE2 | l(00090001): SUB R0, R0, R1 |
0EE3 | m(EE000010): BGT 16 [0EF4H] |
| org := org + L.lenn;o L := L.nextp;q curY := curY - lsp |
0EE4 | n(80E00044): LDR R0, SP, 44H |
0EE5 | n(D151034C): BLEQ MT [trap=4, pos=20739] |
0EE6 | o(81E00050): LDR R1, SP, 50H |
0EE7 | o(80000000): LDR R0, R0, 0H |
0EE8 | o(00180000): ADD R0, R1, R0 |
0EE9 | o(A0E00050): STR R0, SP, 50H |
0EEA | p(80E00044): LDR R0, SP, 44H |
0EEB | p(D151104C): BLEQ MT [trap=4, pos=20752] |
0EEC | q(8000000C): LDR R0, R0, CH |
0EED | q(A0E00044): STR R0, SP, 44H |
| ENDr; |
0EEE | r(80E0005C): LDR R0, SP, 5CH |
0EEF | r .FIXUP D |
0EEF | r(8D00001F): LDR SB, MT, MOD0 [TextFrames] |
0EF0 | r(81D000B0): LDR R1, SB, B0H [data] |
0EF1 | r(00090001): SUB R0, R0, R1 |
0EF2 | r(A0E0005C): STR R0, SP, 5CH |
0EF3 | r(E7FFFFE6): B -26 [0EDAH] |
| Y1 := curY;s |
0EF4 | s(80E0005C): LDR R0, SP, 5CH |
0EF5 | s(A0E00068): STR R0, SP, 68H |
| Texts.OpenReader(R,t F.textu,v org0)w;x Texts.Read(R,y nextCh)z;a |
0EF6 | t(40E80010): ADD R0, SP, 10H |
0EF7 | t .FIXUP D |
0EF7 | t(8D600008): LDR SB, MT, MOD6 [Texts] |
0EF8 | t(41D80002): ADD R1, SB, VAR2 |
0EF9 | u(82E00004): LDR R2, SP, 4H |
0EFA | u(D151684C): BLEQ MT [trap=4, pos=20840] |
0EFB | v(8220001C): LDR R2, R2, 1CH |
0EFC | w(83E00054): LDR R3, SP, 54H |
0EFD | x .FIXUP P |
0EFD | x(F76120C4): BL MOD6 [Texts] PROC18 |
0EFE | y(40E80010): ADD R0, SP, 10H |
0EFF | y .FIXUP D |
0EFF | y(8D600008): LDR SB, MT, MOD6 [Texts] |
0F00 | y(41D80002): ADD R1, SB, VAR2 |
0F01 | z .FIXUP D |
0F01 | z(8D000002): LDR SB, MT, MOD0 [TextFrames] |
0F02 | z(42D800C8): ADD R2, SB, C8H [data] |
0F03 | a .FIXUP P |
0F03 | a(F7613006): BL MOD6 [Texts] PROC19 |
| len := beg - org0;b wid := Width(R,c len)d;e |
0F04 | b(80E00008): LDR R0, SP, 8H |
0F05 | b(81E00054): LDR R1, SP, 54H |
0F06 | b(00090001): SUB R0, R0, R1 |
0F07 | b(A0E00058): STR R0, SP, 58H |
0F08 | c(40E80010): ADD R0, SP, 10H |
0F09 | c .FIXUP D |
0F09 | c(8D600008): LDR SB, MT, MOD6 [Texts] |
0F0A | c(41D80002): ADD R1, SB, VAR2 |
0F0B | d(82E00058): LDR R2, SP, 58H |
0F0C | e(F7FFF21C): BL -3556 [0129H] |
0F0D | e(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 |
0F0E | f(80E00004): LDR R0, SP, 4H |
0F0F | f(D151D14C): BLEQ MT [trap=4, pos=20945] |
0F10 | g(80000024): LDR R0, R0, 24H |
0F11 | h(81E00004): LDR R1, SP, 4H |
0F12 | i(82E00004): LDR R2, SP, 4H |
0F13 | i(D151D94C): BLEQ MT [trap=4, pos=20953] |
0F14 | j(83E00004): LDR R3, SP, 4H |
0F15 | j(D151E24C): BLEQ MT [trap=4, pos=20962] |
0F16 | k(82200008): LDR R2, R2, 8H |
0F17 | k(8330002C): LDR R3, R3, 2CH |
0F18 | k(02280003): ADD R2, R2, R3 |
0F19 | l(83E0006C): LDR R3, SP, 6CH |
0F1A | l(02280003): ADD R2, R2, R3 |
0F1B | m(83E00064): LDR R3, SP, 64H |
0F1C | m .FIXUP D |
0F1C | m(8D000013): LDR SB, MT, MOD0 [TextFrames] |
0F1D | m(84D000B8): LDR R4, SB, B8H [data] |
0F1E | m(03390004): SUB R3, R3, R4 |
0F1F | n(84E00048): LDR R4, SP, 48H |
0F20 | n(D151FA4C): BLEQ MT [trap=4, pos=20986] |
0F21 | o(84400004): LDR R4, R4, 4H |
0F22 | o(85E0006C): LDR R5, SP, 6CH |
0F23 | o(04490005): SUB R4, R4, R5 |
0F24 | p(85D000B0): LDR R5, SB, B0H |
0F25 | q(46000000): MOV R6, R0, 0H |
0F26 | r(F7FFF0E7): BL -3865 [000EH] |
| DisplayLine(F,s L0,t R,u F.Xv + F.leftw +x wid,y Y0,z len)a;b |
0F27 | s(80E00004): LDR R0, SP, 4H |
0F28 | t(81E00048): LDR R1, SP, 48H |
0F29 | u(42E80010): ADD R2, SP, 10H |
0F2A | u .FIXUP D |
0F2A | u(8D60000E): LDR SB, MT, MOD6 [Texts] |
0F2B | u(43D80002): ADD R3, SB, VAR2 |
0F2C | v(84E00004): LDR R4, SP, 4H |
0F2D | v(D1523A4C): BLEQ MT [trap=4, pos=21050] |
0F2E | w(85E00004): LDR R5, SP, 4H |
0F2F | w(D152434C): BLEQ MT [trap=4, pos=21059] |
0F30 | x(84400008): LDR R4, R4, 8H |
0F31 | x(8550002C): LDR R5, R5, 2CH |
0F32 | x(04480005): ADD R4, R4, R5 |
0F33 | y(85E0006C): LDR R5, SP, 6CH |
0F34 | y(04480005): ADD R4, R4, R5 |
0F35 | z(85E00064): LDR R5, SP, 64H |
0F36 | a(86E00058): LDR R6, SP, 58H |
0F37 | b(F7FFF21A): BL -3558 [0152H] |
| Y0 := Y0 - lsp;c |
0F38 | c(80E00064): LDR R0, SP, 64H |
0F39 | c .FIXUP D |
0F39 | c(8D00000F): LDR SB, MT, MOD0 [TextFrames] |
0F3A | c(81D000B0): LDR R1, SB, B0H [data] |
0F3B | c(00090001): SUB R0, R0, R1 |
0F3C | c(A0E00064): STR R0, SP, 64H |
| IF L # L0.nextd THENe |
0F3D | d(80E00048): LDR R0, SP, 48H |
0F3E | d(D152834C): BLEQ MT [trap=4, pos=21123] |
0F3F | e(81E00044): LDR R1, SP, 44H |
0F40 | e(8000000C): LDR R0, R0, CH |
0F41 | e(01190000): SUB R1, R1, R0 |
0F42 | e(E10000AE): BEQ 174 [0FF1H] |
| L0.nextf := L;g |
0F43 | f(80E00048): LDR R0, SP, 48H |
0F44 | f(D1529A4C): BLEQ MT [trap=4, pos=21146] |
0F45 | g(81E00044): LDR R1, SP, 44H |
0F46 | g(A100000C): STR R1, R0, CH |
| L := L0;h org := org0 + L0.leni;j |
0F47 | h(80E00048): LDR R0, SP, 48H |
0F48 | h(A0E00044): STR R0, SP, 44H |
0F49 | i(80E00048): LDR R0, SP, 48H |
0F4A | i(D152C84C): BLEQ MT [trap=4, pos=21192] |
0F4B | j(81E00054): LDR R1, SP, 54H |
0F4C | j(80000000): LDR R0, R0, 0H |
0F4D | j(00180000): ADD R0, R1, R0 |
0F4E | j(A0E00050): STR R0, SP, 50H |
| WHILE L.nextk # F.trailerl DOm |
0F4F | k(80E00044): LDR R0, SP, 44H |
0F50 | k(D152E04C): BLEQ MT [trap=4, pos=21216] |
0F51 | l(81E00004): LDR R1, SP, 4H |
0F52 | l(D152EC4C): BLEQ MT [trap=4, pos=21228] |
0F53 | m(8000000C): LDR R0, R0, CH |
0F54 | m(81100090): LDR R1, R1, 90H |
0F55 | m(00090001): SUB R0, R0, R1 |
0F56 | m(E1000010): BEQ 16 [0F67H] |
| L := L.nextn;o org := org + L.lenp;q curY := curY - lsp |
0F57 | n(80E00044): LDR R0, SP, 44H |
0F58 | n(D153074C): BLEQ MT [trap=4, pos=21255] |
0F59 | o(8000000C): LDR R0, R0, CH |
0F5A | o(A0E00044): STR R0, SP, 44H |
0F5B | p(80E00044): LDR R0, SP, 44H |
0F5C | p(D1531B4C): BLEQ MT [trap=4, pos=21275] |
0F5D | q(81E00050): LDR R1, SP, 50H |
0F5E | q(80000000): LDR R0, R0, 0H |
0F5F | q(00180000): ADD R0, R1, R0 |
0F60 | q(A0E00050): STR R0, SP, 50H |
| ENDr; |
0F61 | r(80E0005C): LDR R0, SP, 5CH |
0F62 | r .FIXUP D |
0F62 | r(8D000029): LDR SB, MT, MOD0 [TextFrames] |
0F63 | r(81D000B0): LDR R1, SB, B0H [data] |
0F64 | r(00090001): SUB R0, R0, R1 |
0F65 | r(A0E0005C): STR R0, SP, 5CH |
0F66 | r(E7FFFFE8): B -24 [0F4FH] |
| Display.CopyBlock(F.Xs + F.leftt,u curY + lsp -v dsr,w F.Wx - F.lefty,z Y1 - curY,a |
0F67 | s(80E00004): LDR R0, SP, 4H |
0F68 | s(D1535E4C): BLEQ MT [trap=4, pos=21342] |
0F69 | t(81E00004): LDR R1, SP, 4H |
0F6A | t(D153674C): BLEQ MT [trap=4, pos=21351] |
0F6B | u(80000008): LDR R0, R0, 8H |
0F6C | u(8110002C): LDR R1, R1, 2CH |
0F6D | u(00080001): ADD R0, R0, R1 |
0F6E | v(81E0005C): LDR R1, SP, 5CH |
0F6F | v .FIXUP D |
0F6F | v(8D00000D): LDR SB, MT, MOD0 [TextFrames] |
0F70 | v(82D000B0): LDR R2, SB, B0H [data] |
0F71 | v(01180002): ADD R1, R1, R2 |
0F72 | w(82D000B8): LDR R2, SB, B8H |
0F73 | w(01190002): SUB R1, R1, R2 |
0F74 | x(82E00004): LDR R2, SP, 4H |
0F75 | x(D1537E4C): BLEQ MT [trap=4, pos=21374] |
0F76 | y(83E00004): LDR R3, SP, 4H |
0F77 | y(D153874C): BLEQ MT [trap=4, pos=21383] |
0F78 | z(82200010): LDR R2, R2, 10H |
0F79 | z(8330002C): LDR R3, R3, 2CH |
0F7A | z(02290003): SUB R2, R2, R3 |
0F7B | a(83E00068): LDR R3, SP, 68H |
0F7C | a(84E0005C): LDR R4, SP, 5CH |
0F7D | a(03390004): SUB R3, R3, R4 |
| F.Xb + F.leftc,d curY + lsp -e dsr +f (Y0 - Y1)g,h 0)i;j |
0F7E | b(84E00004): LDR R4, SP, 4H |
0F7F | b(D153A54C): BLEQ MT [trap=4, pos=21413] |
0F80 | c(85E00004): LDR R5, SP, 4H |
0F81 | c(D153AE4C): BLEQ MT [trap=4, pos=21422] |
0F82 | d(84400008): LDR R4, R4, 8H |
0F83 | d(8550002C): LDR R5, R5, 2CH |
0F84 | d(04480005): ADD R4, R4, R5 |
0F85 | e(85E0005C): LDR R5, SP, 5CH |
0F86 | e(86D000B0): LDR R6, SB, B0H |
0F87 | e(05580006): ADD R5, R5, R6 |
0F88 | f(86D000B8): LDR R6, SB, B8H |
0F89 | f(05590006): SUB R5, R5, R6 |
0F8A | g(86E00064): LDR R6, SP, 64H |
0F8B | g(87E00068): LDR R7, SP, 68H |
0F8C | g(06690007): SUB R6, R6, R7 |
0F8D | h(05580006): ADD R5, R5, R6 |
0F8E | i(46000000): MOV R6, R0, 0H |
0F8F | j .FIXUP P |
0F8F | j(F731108C): BL MOD3 [Display] PROC17 |
| curY := curY + (Y0 - Y1)k;l |
0F90 | k(80E00064): LDR R0, SP, 64H |
0F91 | k(81E00068): LDR R1, SP, 68H |
0F92 | k(00090001): SUB R0, R0, R1 |
0F93 | l(81E0005C): LDR R1, SP, 5CH |
0F94 | l(00180000): ADD R0, R1, R0 |
0F95 | l(A0E0005C): STR R0, SP, 5CH |
| Display.ReplConst (F.colm,n F.Xo + F.leftp,q F.Yr,s F.Wt - F.leftu,v curY + lsp -w (F.Yx + dsr)y,z Display.replace)a;b |
0F96 | m(80E00004): LDR R0, SP, 4H |
0F97 | m(D154184C): BLEQ MT [trap=4, pos=21528] |
0F98 | n(80000024): LDR R0, R0, 24H |
0F99 | o(81E00004): LDR R1, SP, 4H |
0F9A | o(D1541D4C): BLEQ MT [trap=4, pos=21533] |
0F9B | p(82E00004): LDR R2, SP, 4H |
0F9C | p(D154264C): BLEQ MT [trap=4, pos=21542] |
0F9D | q(81100008): LDR R1, R1, 8H |
0F9E | q(8220002C): LDR R2, R2, 2CH |
0F9F | q(01180002): ADD R1, R1, R2 |
0FA0 | r(82E00004): LDR R2, SP, 4H |
0FA1 | r(D1542B4C): BLEQ MT [trap=4, pos=21547] |
0FA2 | s(8220000C): LDR R2, R2, CH |
0FA3 | t(83E00004): LDR R3, SP, 4H |
0FA4 | t(D154304C): BLEQ MT [trap=4, pos=21552] |
0FA5 | u(84E00004): LDR R4, SP, 4H |
0FA6 | u(D154394C): BLEQ MT [trap=4, pos=21561] |
0FA7 | v(83300010): LDR R3, R3, 10H |
0FA8 | v(8440002C): LDR R4, R4, 2CH |
0FA9 | v(03390004): SUB R3, R3, R4 |
0FAA | w(84E0005C): LDR R4, SP, 5CH |
0FAB | w .FIXUP D |
0FAB | w(8D00003C): LDR SB, MT, MOD0 [TextFrames] |
0FAC | w(85D000B0): LDR R5, SB, B0H [data] |
0FAD | w(04480005): ADD R4, R4, R5 |
0FAE | x(85E00004): LDR R5, SP, 4H |
0FAF | x(D1544C4C): BLEQ MT [trap=4, pos=21580] |
0FB0 | y(8550000C): LDR R5, R5, CH |
0FB1 | y(86D000B8): LDR R6, SB, B8H |
0FB2 | y(05580006): ADD R5, R5, R6 |
0FB3 | z(04490005): SUB R4, R4, R5 |
0FB4 | a(45000000): MOV R5, R0, 0H |
0FB5 | b .FIXUP P |
0FB5 | b(F730F026): BL MOD3 [Display] PROC15 |
| Texts.OpenReader(R,c F.textd,e org)f;g Texts.Read(R,h nextCh)i;j |
0FB6 | c(40E80010): ADD R0, SP, 10H |
0FB7 | c .FIXUP D |
0FB7 | c(8D60000C): LDR SB, MT, MOD6 [Texts] |
0FB8 | c(41D80002): ADD R1, SB, VAR2 |
0FB9 | d(82E00004): LDR R2, SP, 4H |
0FBA | d(D1548B4C): BLEQ MT [trap=4, pos=21643] |
0FBB | e(8220001C): LDR R2, R2, 1CH |
0FBC | f(83E00050): LDR R3, SP, 50H |
0FBD | g .FIXUP P |
0FBD | g(F7612008): BL MOD6 [Texts] PROC18 |
0FBE | h(40E80010): ADD R0, SP, 10H |
0FBF | h .FIXUP D |
0FBF | h(8D600008): LDR SB, MT, MOD6 [Texts] |
0FC0 | h(41D80002): ADD R1, SB, VAR2 |
0FC1 | i .FIXUP D |
0FC1 | i(8D000002): LDR SB, MT, MOD0 [TextFrames] |
0FC2 | i(42D800C8): ADD R2, SB, C8H [data] |
0FC3 | j .FIXUP P |
0FC3 | j(F7613006): BL MOD6 [Texts] PROC19 |
| WHILE ~L.eotk &l (mcurY >= botY)n DOo |
0FC4 | k(80E00044): LDR R0, SP, 44H |
0FC5 | k(D154C04C): BLEQ MT [trap=4, pos=21696] |
0FC6 | l(90000008): LDR R0, R0, 8H |
0FC7 | m(E9000023): BNE 35 [0FEBH] |
0FC8 | n(80E0005C): LDR R0, SP, 5CH |
0FC9 | n(81E00060): LDR R1, SP, 60H |
0FCA | n(00090001): SUB R0, R0, R1 |
0FCB | o(E500001F): BLT 31 [0FEBH] |
| NEW(l);p |
0FCC | p(40E8004C): ADD R0, SP, 4CH |
0FCD | p .FIXUP D |
0FCD | p(8D00000C): LDR SB, MT, MOD0 [TextFrames] |
0FCE | p(41D80000): ADD R1, SB, 0H [data] |
0FCF | p(D754E80C): BL MT [trap=0, pos=21736] |
| DisplayLine(F,q l,r R,s F.Xt + F.leftu,v curY,w 0)x;y |
0FD0 | q(80E00004): LDR R0, SP, 4H |
0FD1 | r(81E0004C): LDR R1, SP, 4CH |
0FD2 | s(42E80010): ADD R2, SP, 10H |
0FD3 | s .FIXUP D |
0FD3 | s(8D600006): LDR SB, MT, MOD6 [Texts] |
0FD4 | s(43D80002): ADD R3, SB, VAR2 |
0FD5 | t(84E00004): LDR R4, SP, 4H |
0FD6 | t(D1550D4C): BLEQ MT [trap=4, pos=21773] |
0FD7 | u(85E00004): LDR R5, SP, 4H |
0FD8 | u(D155164C): BLEQ MT [trap=4, pos=21782] |
0FD9 | v(84400008): LDR R4, R4, 8H |
0FDA | v(8550002C): LDR R5, R5, 2CH |
0FDB | v(04480005): ADD R4, R4, R5 |
0FDC | w(85E0005C): LDR R5, SP, 5CH |
0FDD | x(46000000): MOV R6, R0, 0H |
0FDE | y(F7FFF173): BL -3725 [0152H] |
| L.nextz := l;a L := l;b curY := curY - lsp |
0FDF | z(80E00044): LDR R0, SP, 44H |
0FE0 | z(D155344C): BLEQ MT [trap=4, pos=21812] |
0FE1 | a(81E0004C): LDR R1, SP, 4CH |
0FE2 | a(A100000C): STR R1, R0, CH |
0FE3 | b(80E0004C): LDR R0, SP, 4CH |
0FE4 | b(A0E00044): STR R0, SP, 44H |
| ENDc; |
0FE5 | c(80E0005C): LDR R0, SP, 5CH |
0FE6 | c .FIXUP D |
0FE6 | c(8D000013): LDR SB, MT, MOD0 [TextFrames] |
0FE7 | c(81D000B0): LDR R1, SB, B0H [data] |
0FE8 | c(00090001): SUB R0, R0, R1 |
0FE9 | c(A0E0005C): STR R0, SP, 5CH |
0FEA | c(E7FFFFD9): B -39 [0FC4H] |
| L.nextd := F.trailere |
0FEB | d(80E00044): LDR R0, SP, 44H |
0FEC | d(D155754C): BLEQ MT [trap=4, pos=21877] |
0FED | e(81E00004): LDR R1, SP, 4H |
0FEE | e(D155824C): BLEQ MT [trap=4, pos=21890] |
| ENDf |
0FEF | f(81100090): LDR R1, R1, 90H |
0FF0 | f(A100000C): STR R1, R0, CH |
| END |
| END; |
| UpdateMark(F)g |
0FF1 | g(80E00004): LDR R0, SP, 4H |
| ENDh Delete; |
0FF2 | h(F7FFF0A2): BL -3934 [0095H] |
0FF3 | h(8FE00000): LDR LNK, SP, 0H |
0FF4 | h(4EE80070): ADD SP, SP, 70H |
0FF5 | h(C700000F): B LNK |
| |
| PROCEDURE Recall*(VAR B: Texts.Buffer); |
| BEGINi B := TBuf;j NEW(TBuf);k Texts.OpenBuf(TBuf)l |
0FF6 | i .PROC 30 |
0FF6 | i(4EE90008): SUB SP, SP, 8H |
0FF7 | i(AFE00000): STR LNK, SP, 0H |
0FF8 | i(A0E00004): STR R0, SP, 4H |
0FF9 | j .FIXUP D |
0FF9 | j(8D000013): LDR SB, MT, MOD0 [TextFrames] |
0FFA | j(80D00090): LDR R0, SB, 90H [data] |
0FFB | j(81E00004): LDR R1, SP, 4H |
0FFC | j(A0100000): STR R0, R1, 0H |
0FFD | k(40D80090): ADD R0, SB, 90H |
0FFE | k .FIXUP D |
0FFE | k(8D600005): LDR SB, MT, MOD6 [Texts] |
0FFF | k(41D80004): ADD R1, SB, VAR4 |
1000 | k(D7560A0C): BL MT [trap=0, pos=22026] |
1001 | l .FIXUP D |
1001 | l(8D000003): LDR SB, MT, MOD0 [TextFrames] |
1002 | l(80D00090): LDR R0, SB, 90H [data] |
| ENDm Recall; |
1003 | m .FIXUP P |
1003 | m(F760A040): BL MOD6 [Texts] PROC10 |
1004 | m(8FE00000): LDR LNK, SP, 0H |
1005 | m(4EE80008): ADD SP, SP, 8H |
1006 | m(C700000F): B LNK |
| |
| (*------------------message handling------------------------*) |
| |
| PROCEDURE RemoveMarks (F: Frame); |
| BEGINn RemoveCaret(F)o;p RemoveSelection(F)q |
1007 | n(4EE90008): SUB SP, SP, 8H |
1008 | n(AFE00000): STR LNK, SP, 0H |
1009 | n(A0E00004): STR R0, SP, 4H |
100A | o(80E00004): LDR R0, SP, 4H |
100B | p(F7FFF893): BL -1901 [089FH] |
100C | q(80E00004): LDR R0, SP, 4H |
| ENDr RemoveMarks; |
100D | r(F7FFFA60): BL -1440 [0A6EH] |
100E | r(8FE00000): LDR LNK, SP, 0H |
100F | r(4EE80008): ADD SP, SP, 8H |
1010 | r(C700000F): B LNK |
| |
| PROCEDURE NotifyDisplay* (T: Texts.Text; op: INTEGER; beg, end: LONGINT); |
| VAR M: UpdateMsg; |
| BEGINs M.id := op;t M.text := T;u M.beg := beg;v M.end := end;w Viewers.Broadcast(M)x |
1011 | s .PROC 31 |
1011 | s(4EE90024): SUB SP, SP, 24H |
1012 | s(AFE00000): STR LNK, SP, 0H |
1013 | s(A0E00004): STR R0, SP, 4H |
1014 | s(A1E00008): STR R1, SP, 8H |
1015 | s(A2E0000C): STR R2, SP, CH |
1016 | s(A3E00010): STR R3, SP, 10H |
1017 | t(80E00008): LDR R0, SP, 8H |
1018 | t(A0E00014): STR R0, SP, 14H |
1019 | u(80E00004): LDR R0, SP, 4H |
101A | u(A0E00018): STR R0, SP, 18H |
101B | v(80E0000C): LDR R0, SP, CH |
101C | v(A0E0001C): STR R0, SP, 1CH |
101D | w(80E00010): LDR R0, SP, 10H |
101E | w(A0E00020): STR R0, SP, 20H |
101F | x(40E80014): ADD R0, SP, 14H |
1020 | x .FIXUP D |
1020 | x(8D00001F): LDR SB, MT, MOD0 [TextFrames] |
1021 | x(41D80060): ADD R1, SB, 60H [data] |
| ENDy NotifyDisplay; |
1022 | y .FIXUP P |
1022 | y(F740F01F): BL MOD4 [Viewers] PROC15 |
1023 | y(8FE00000): LDR LNK, SP, 0H |
1024 | y(4EE80024): ADD SP, SP, 24H |
1025 | y(C700000F): B LNK |
| |
| PROCEDURE Call* (F: Frame; pos: LONGINT; new: BOOLEAN); |
| VAR S: Texts.Scanner; res: INTEGER; |
| BEGINz |
1026 | z .PROC 32 |
1026 | z(4EE90088): SUB SP, SP, 88H |
1027 | z(AFE00000): STR LNK, SP, 0H |
1028 | z(A0E00004): STR R0, SP, 4H |
1029 | z(A1E00008): STR R1, SP, 8H |
102A | z(A2E0000C): STR R2, SP, CH |
| Texts.OpenScanner(S,a F.textb,c pos)d;e Texts.Scan(S)f;g |
102B | a(40E80010): ADD R0, SP, 10H |
102C | a .FIXUP D |
102C | a(8D60000C): LDR SB, MT, MOD6 [Texts] |
102D | a(41D80003): ADD R1, SB, VAR3 |
102E | b(82E00004): LDR R2, SP, 4H |
102F | b(D158264C): BLEQ MT [trap=4, pos=22566] |
1030 | c(8220001C): LDR R2, R2, 1CH |
1031 | d(83E00008): LDR R3, SP, 8H |
1032 | e .FIXUP P |
1032 | e(F7615010): BL MOD6 [Texts] PROC21 |
1033 | f(40E80010): ADD R0, SP, 10H |
1034 | f .FIXUP D |
1034 | f(8D600008): LDR SB, MT, MOD6 [Texts] |
1035 | f(41D80003): ADD R1, SB, VAR3 |
1036 | g .FIXUP P |
1036 | g(F7616004): BL MOD6 [Texts] PROC22 |
| IF (S.class = Texts.Name)h & (iS.line = 0)j THENk |
1037 | h(80E0004C): LDR R0, SP, 4CH |
1038 | h(40090001): SUB R0, R0, 1H |
1039 | i(E9000082): BNE 130 [10BCH] |
103A | j(80E00048): LDR R0, SP, 48H |
103B | k(E9000080): BNE 128 [10BCH] |
| Oberon.SetPar(F,l F.textm,n pos + S.len)o;p Oberon.Call(S.s,q res)r;s |
103C | l(80E00004): LDR R0, SP, 4H |
103D | m(81E00004): LDR R1, SP, 4H |
103E | m(D1588C4C): BLEQ MT [trap=4, pos=22668] |
103F | n(8110001C): LDR R1, R1, 1CH |
1040 | o(82E00008): LDR R2, SP, 8H |
1041 | o(83E00060): LDR R3, SP, 60H |
1042 | o(02280003): ADD R2, R2, R3 |
1043 | p .FIXUP P |
1043 | p(F782700D): BL MOD8 [Oberon] PROC39 |
1044 | q(40E80064): ADD R0, SP, 64H |
1045 | q(41000020): MOV R1, R0, 20H |
1046 | r(42E80084): ADD R2, SP, 84H |
1047 | s .FIXUP P |
1047 | s(F7828004): BL MOD8 [Oberon] PROC40 |
| IF res > 0 THENt |
1048 | t(80E00084): LDR R0, SP, 84H |
1049 | t(40090000): SUB R0, R0, 0H |
104A | t(E6000071): BLE 113 [10BCH] |
| Texts.WriteString(W,u "Call error: ")v;w Texts.WriteString(W,x Modules.importing)y;z |
104B | u .FIXUP D |
104B | u(8D000017): LDR SB, MT, MOD0 [TextFrames] |
104C | u(40D800D4): ADD R0, SB, D4H [data] |
104D | u .FIXUP D |
104D | u(8D600002): LDR SB, MT, MOD6 [Texts] |
104E | u(41D80005): ADD R1, SB, VAR5 |
104F | v .FIXUP D |
104F | v(8D000002): LDR SB, MT, MOD0 [TextFrames] |
1050 | v(42D80124): ADD R2, SB, 124H ["Call error: "] |
1051 | v(4300000D): MOV R3, R0, DH |
1052 | w .FIXUP P |
1052 | w(F761D00B): BL MOD6 [Texts] PROC29 |
1053 | x .FIXUP D |
1053 | x(8D000004): LDR SB, MT, MOD0 [TextFrames] |
1054 | x(40D800D4): ADD R0, SB, D4H [data] |
1055 | x .FIXUP D |
1055 | x(8D600002): LDR SB, MT, MOD6 [Texts] |
1056 | x(41D80005): ADD R1, SB, VAR5 |
1057 | y .FIXUP D |
1057 | y(8D100002): LDR SB, MT, MOD1 [Modules] |
1058 | y(42D80006): ADD R2, SB, VAR6 |
1059 | y(43000020): MOV R3, R0, 20H |
105A | z .FIXUP P |
105A | z(F761D008): BL MOD6 [Texts] PROC29 |
| IF res = 1 THENa Texts.WriteString(W,b " module not found")c |
105B | a(80E00084): LDR R0, SP, 84H |
105C | a(40090001): SUB R0, R0, 1H |
105D | a(E9000009): BNE 9 [1067H] |
105E | b .FIXUP D |
105E | b(8D000007): LDR SB, MT, MOD0 [TextFrames] |
105F | b(40D800D4): ADD R0, SB, D4H [data] |
1060 | b .FIXUP D |
1060 | b(8D600002): LDR SB, MT, MOD6 [Texts] |
1061 | b(41D80005): ADD R1, SB, VAR5 |
1062 | c .FIXUP D |
1062 | c(8D000002): LDR SB, MT, MOD0 [TextFrames] |
1063 | c(42D80134): ADD R2, SB, 134H [" module not found"] |
1064 | c(43000012): MOV R3, R0, 12H |
| ELSIFd rese = 2 THENf Texts.WriteString(W,g " bad version")h |
1065 | d .FIXUP P |
1065 | d(F761D00B): BL MOD6 [Texts] PROC29 |
1066 | e(E700004B): B 75 [10B2H] |
1067 | f(80E00084): LDR R0, SP, 84H |
1068 | f(40090002): SUB R0, R0, 2H |
1069 | f(E9000009): BNE 9 [1073H] |
106A | g .FIXUP D |
106A | g(8D000008): LDR SB, MT, MOD0 [TextFrames] |
106B | g(40D800D4): ADD R0, SB, D4H [data] |
106C | g .FIXUP D |
106C | g(8D600002): LDR SB, MT, MOD6 [Texts] |
106D | g(41D80005): ADD R1, SB, VAR5 |
106E | h .FIXUP D |
106E | h(8D000002): LDR SB, MT, MOD0 [TextFrames] |
106F | h(42D80148): ADD R2, SB, 148H [" bad version"] |
1070 | h(4300000D): MOV R3, R0, DH |
| ELSIFi resj = 3 THENk Texts.WriteString(W,l " imports ")m;n |
1071 | i .FIXUP P |
1071 | i(F761D00C): BL MOD6 [Texts] PROC29 |
1072 | j(E700003F): B 63 [10B2H] |
1073 | k(80E00084): LDR R0, SP, 84H |
1074 | k(40090003): SUB R0, R0, 3H |
1075 | k(E9000019): BNE 25 [108FH] |
1076 | l .FIXUP D |
1076 | l(8D000008): LDR SB, MT, MOD0 [TextFrames] |
1077 | l(40D800D4): ADD R0, SB, D4H [data] |
1078 | l .FIXUP D |
1078 | l(8D600002): LDR SB, MT, MOD6 [Texts] |
1079 | l(41D80005): ADD R1, SB, VAR5 |
107A | m .FIXUP D |
107A | m(8D000002): LDR SB, MT, MOD0 [TextFrames] |
107B | m(42D80158): ADD R2, SB, 158H [" imports "] |
107C | m(4300000A): MOV R3, R0, AH |
107D | n .FIXUP P |
107D | n(F761D00C): BL MOD6 [Texts] PROC29 |
| Texts.WriteString(W,o Modules.imported)p;q Texts.WriteString(W,r " with bad key")s;t |
107E | o .FIXUP D |
107E | o(8D000004): LDR SB, MT, MOD0 [TextFrames] |
107F | o(40D800D4): ADD R0, SB, D4H [data] |
1080 | o .FIXUP D |
1080 | o(8D600002): LDR SB, MT, MOD6 [Texts] |
1081 | o(41D80005): ADD R1, SB, VAR5 |
1082 | p .FIXUP D |
1082 | p(8D100002): LDR SB, MT, MOD1 [Modules] |
1083 | p(42D80007): ADD R2, SB, VAR7 |
1084 | p(43000020): MOV R3, R0, 20H |
1085 | q .FIXUP P |
1085 | q(F761D008): BL MOD6 [Texts] PROC29 |
1086 | r .FIXUP D |
1086 | r(8D000004): LDR SB, MT, MOD0 [TextFrames] |
1087 | r(40D800D4): ADD R0, SB, D4H [data] |
1088 | r .FIXUP D |
1088 | r(8D600002): LDR SB, MT, MOD6 [Texts] |
1089 | r(41D80005): ADD R1, SB, VAR5 |
108A | s .FIXUP D |
108A | s(8D000002): LDR SB, MT, MOD0 [TextFrames] |
108B | s(42D80164): ADD R2, SB, 164H [" with bad key"] |
108C | s(4300000E): MOV R3, R0, EH |
108D | t .FIXUP P |
108D | t(F761D008): BL MOD6 [Texts] PROC29 |
| ELSIF resu = 4 THENv Texts.WriteString(W,w " corrupted obj file")x |
108E | u(E7000023): B 35 [10B2H] |
108F | v(80E00084): LDR R0, SP, 84H |
1090 | v(40090004): SUB R0, R0, 4H |
1091 | v(E9000009): BNE 9 [109BH] |
1092 | w .FIXUP D |
1092 | w(8D000008): LDR SB, MT, MOD0 [TextFrames] |
1093 | w(40D800D4): ADD R0, SB, D4H [data] |
1094 | w .FIXUP D |
1094 | w(8D600002): LDR SB, MT, MOD6 [Texts] |
1095 | w(41D80005): ADD R1, SB, VAR5 |
1096 | x .FIXUP D |
1096 | x(8D000002): LDR SB, MT, MOD0 [TextFrames] |
1097 | x(42D80174): ADD R2, SB, 174H [" corrupted obj file"] |
1098 | x(43000014): MOV R3, R0, 14H |
| ELSIFy resz = 5 THENa Texts.WriteString(W,b " command not found")c |
1099 | y .FIXUP P |
1099 | y(F761D00C): BL MOD6 [Texts] PROC29 |
109A | z(E7000017): B 23 [10B2H] |
109B | a(80E00084): LDR R0, SP, 84H |
109C | a(40090005): SUB R0, R0, 5H |
109D | a(E9000009): BNE 9 [10A7H] |
109E | b .FIXUP D |
109E | b(8D000008): LDR SB, MT, MOD0 [TextFrames] |
109F | b(40D800D4): ADD R0, SB, D4H [data] |
10A0 | b .FIXUP D |
10A0 | b(8D600002): LDR SB, MT, MOD6 [Texts] |
10A1 | b(41D80005): ADD R1, SB, VAR5 |
10A2 | c .FIXUP D |
10A2 | c(8D000002): LDR SB, MT, MOD0 [TextFrames] |
10A3 | c(42D80188): ADD R2, SB, 188H [" command not found"] |
10A4 | c(43000013): MOV R3, R0, 13H |
| ELSIFd rese = 7 THENf Texts.WriteString(W,g " insufficient space")h |
10A5 | d .FIXUP P |
10A5 | d(F761D00C): BL MOD6 [Texts] PROC29 |
10A6 | e(E700000B): B 11 [10B2H] |
10A7 | f(80E00084): LDR R0, SP, 84H |
10A8 | f(40090007): SUB R0, R0, 7H |
10A9 | f(E9000008): BNE 8 [10B2H] |
10AA | g .FIXUP D |
10AA | g(8D000008): LDR SB, MT, MOD0 [TextFrames] |
10AB | g(40D800D4): ADD R0, SB, D4H [data] |
10AC | g .FIXUP D |
10AC | g(8D600002): LDR SB, MT, MOD6 [Texts] |
10AD | g(41D80005): ADD R1, SB, VAR5 |
10AE | h .FIXUP D |
10AE | h(8D000002): LDR SB, MT, MOD0 [TextFrames] |
10AF | h(42D8019C): ADD R2, SB, 19CH [" insufficient space"] |
10B0 | h(43000014): MOV R3, R0, 14H |
| ENDi; |
10B1 | i .FIXUP P |
10B1 | i(F761D00C): BL MOD6 [Texts] PROC29 |
| Texts.WriteLn(W)j;k Texts.Append(Oberon.Log,l W.buf)m |
10B2 | j .FIXUP D |
10B2 | j(8D000004): LDR SB, MT, MOD0 [TextFrames] |
10B3 | j(40D800D4): ADD R0, SB, D4H [data] |
10B4 | j .FIXUP D |
10B4 | j(8D600002): LDR SB, MT, MOD6 [Texts] |
10B5 | j(41D80005): ADD R1, SB, VAR5 |
10B6 | k .FIXUP P |
10B6 | k(F761C005): BL MOD6 [Texts] PROC28 |
10B7 | l .FIXUP D |
10B7 | l(8D800003): LDR SB, MT, MOD8 [Oberon] |
10B8 | l(80D0000D): LDR R0, SB, VAR13 |
10B9 | m .FIXUP D |
10B9 | m(8D000002): LDR SB, MT, MOD0 [TextFrames] |
10BA | m(81D000D4): LDR R1, SB, D4H [data] |
| ENDn |
10BB | n .FIXUP P |
10BB | n(F760E005): BL MOD6 [Texts] PROC14 |
| END |
| ENDo Call; |
10BC | o(8FE00000): LDR LNK, SP, 0H |
10BD | o(4EE80088): ADD SP, SP, 88H |
10BE | o(C700000F): B LNK |
| |
| PROCEDURE Write* (F: Frame; ch: CHAR; fnt: Fonts.Font; col, voff: INTEGER); |
| VAR buf: Texts.Buffer; |
| BEGINp (*F.hasCar*) |
10BF | p .PROC 33 |
10BF | p(4EE9001C): SUB SP, SP, 1CH |
10C0 | p(AFE00000): STR LNK, SP, 0H |
10C1 | p(A0E00004): STR R0, SP, 4H |
10C2 | p(A1E00008): STR R1, SP, 8H |
10C3 | p(A2E0000C): STR R2, SP, CH |
10C4 | p(A3E00010): STR R3, SP, 10H |
10C5 | p(A4E00014): STR R4, SP, 14H |
| IF ch = BS THENq (*backspace*) |
10C6 | q(90E00008): LDR R0, SP, 8H |
10C7 | q(40090008): SUB R0, R0, 8H |
10C8 | q(E900001C): BNE 28 [10E5H] |
| IF F.carlocr.pos > F.orgs THENt |
10C9 | r(80E00004): LDR R0, SP, 4H |
10CA | r(D15C264C): BLEQ MT [trap=4, pos=23590] |
10CB | s(81E00004): LDR R1, SP, 4H |
10CC | s(D15C324C): BLEQ MT [trap=4, pos=23602] |
10CD | t(8000004C): LDR R0, R0, 4CH |
10CE | t(81100020): LDR R1, R1, 20H |
10CF | t(00090001): SUB R0, R0, R1 |
10D0 | t(E6000013): BLE 19 [10E4H] |
| Texts.Delete(F.textu,v F.carlocw.pos - 1,x F.carlocy.pos,z DelBuf)a;b SetCaret(F,c F.carlocd.pos - 1)e |
10D1 | u(80E00004): LDR R0, SP, 4H |
10D2 | u(D15C534C): BLEQ MT [trap=4, pos=23635] |
10D3 | v(8000001C): LDR R0, R0, 1CH |
10D4 | w(81E00004): LDR R1, SP, 4H |
10D5 | w(D15C5D4C): BLEQ MT [trap=4, pos=23645] |
10D6 | x(8110004C): LDR R1, R1, 4CH |
10D7 | x(41190001): SUB R1, R1, 1H |
10D8 | y(82E00004): LDR R2, SP, 4H |
10D9 | y(D15C6F4C): BLEQ MT [trap=4, pos=23663] |
10DA | z(8220004C): LDR R2, R2, 4CH |
10DB | a .FIXUP D |
10DB | a(8D000022): LDR SB, MT, MOD0 [TextFrames] |
10DC | a(83D00094): LDR R3, SB, 94H [data] |
10DD | b .FIXUP P |
10DD | b(F760F022): BL MOD6 [Texts] PROC15 |
10DE | c(80E00004): LDR R0, SP, 4H |
10DF | d(81E00004): LDR R1, SP, 4H |
10E0 | d(D15C924C): BLEQ MT [trap=4, pos=23698] |
10E1 | e(8110004C): LDR R1, R1, 4CH |
10E2 | e(41190001): SUB R1, R1, 1H |
| ENDf |
10E3 | f(F7FFF746): BL -2234 [082AH] |
| ELSIF chg = 3X THENh (* ctrl-c copy*) |
10E4 | g(E7000080): B 128 [1165H] |
10E5 | h(90E00008): LDR R0, SP, 8H |
10E6 | h(40090003): SUB R0, R0, 3H |
10E7 | h(E9000019): BNE 25 [1101H] |
| IF F.hasSeli THENj |
10E8 | i(80E00004): LDR R0, SP, 4H |
10E9 | i(D15CE04C): BLEQ MT [trap=4, pos=23776] |
10EA | j(90000045): LDR R0, R0, 45H |
10EB | j(E1000014): BEQ 20 [1100H] |
| NEW(TBuf);k Texts.OpenBuf(TBuf)l;m Texts.Save(F.textn,o F.selbegp.pos,q F.selendr.pos,s TBuf)t |
10EC | k .FIXUP D |
10EC | k(8D000011): LDR SB, MT, MOD0 [TextFrames] |
10ED | k(40D80090): ADD R0, SB, 90H [data] |
10EE | k .FIXUP D |
10EE | k(8D600002): LDR SB, MT, MOD6 [Texts] |
10EF | k(41D80004): ADD R1, SB, VAR4 |
10F0 | k(D75CF80C): BL MT [trap=0, pos=23800] |
10F1 | l .FIXUP D |
10F1 | l(8D000003): LDR SB, MT, MOD0 [TextFrames] |
10F2 | l(80D00090): LDR R0, SB, 90H [data] |
10F3 | m .FIXUP P |
10F3 | m(F760A016): BL MOD6 [Texts] PROC10 |
10F4 | n(80E00004): LDR R0, SP, 4H |
10F5 | n(D15D1F4C): BLEQ MT [trap=4, pos=23839] |
10F6 | o(8000001C): LDR R0, R0, 1CH |
10F7 | p(81E00004): LDR R1, SP, 4H |
10F8 | p(D15D294C): BLEQ MT [trap=4, pos=23849] |
10F9 | q(81100064): LDR R1, R1, 64H |
10FA | r(82E00004): LDR R2, SP, 4H |
10FB | r(D15D374C): BLEQ MT [trap=4, pos=23863] |
10FC | s(8220007C): LDR R2, R2, 7CH |
10FD | t .FIXUP D |
10FD | t(8D00000C): LDR SB, MT, MOD0 [TextFrames] |
10FE | t(83D00090): LDR R3, SB, 90H [data] |
| ENDu |
10FF | u .FIXUP P |
10FF | u(F760B00C): BL MOD6 [Texts] PROC11 |
| ELSIF chv = 16X THENw (*ctrl-v paste*) |
1100 | v(E7000064): B 100 [1165H] |
1101 | w(90E00008): LDR R0, SP, 8H |
1102 | w(40090016): SUB R0, R0, 16H |
1103 | w(E900001D): BNE 29 [1121H] |
| NEW(buf);x Texts.OpenBuf(buf)y;z Texts.Copy(TBuf,a buf)b;c Texts.Insert(F.textd,e F.carlocf.pos,g buf)h;i |
1104 | x(40E80018): ADD R0, SP, 18H |
1105 | x .FIXUP D |
1105 | x(8D600008): LDR SB, MT, MOD6 [Texts] |
1106 | x(41D80004): ADD R1, SB, VAR4 |
1107 | x(D75D860C): BL MT [trap=0, pos=23942] |
1108 | y(80E00018): LDR R0, SP, 18H |
1109 | z .FIXUP P |
1109 | z(F760A00A): BL MOD6 [Texts] PROC10 |
110A | a .FIXUP D |
110A | a(8D000005): LDR SB, MT, MOD0 [TextFrames] |
110B | a(80D00090): LDR R0, SB, 90H [data] |
110C | b(81E00018): LDR R1, SP, 18H |
110D | c .FIXUP P |
110D | c(F760C004): BL MOD6 [Texts] PROC12 |
110E | d(80E00004): LDR R0, SP, 4H |
110F | d(D15DC54C): BLEQ MT [trap=4, pos=24005] |
1110 | e(8000001C): LDR R0, R0, 1CH |
1111 | f(81E00004): LDR R1, SP, 4H |
1112 | f(D15DCF4C): BLEQ MT [trap=4, pos=24015] |
1113 | g(8110004C): LDR R1, R1, 4CH |
1114 | h(82E00018): LDR R2, SP, 18H |
1115 | i .FIXUP P |
1115 | i(F760D008): BL MOD6 [Texts] PROC13 |
| SetCaret(F,j F.carlock.pos + TBuf.lenl)m |
1116 | j(80E00004): LDR R0, SP, 4H |
1117 | k(81E00004): LDR R1, SP, 4H |
1118 | k(D15DF54C): BLEQ MT [trap=4, pos=24053] |
1119 | l .FIXUP D |
1119 | l(8D00000F): LDR SB, MT, MOD0 [TextFrames] |
111A | l(82D00090): LDR R2, SB, 90H [data] |
111B | l(D15E044C): BLEQ MT [trap=4, pos=24068] |
111C | m(8110004C): LDR R1, R1, 4CH |
111D | m(82200000): LDR R2, R2, 0H |
111E | m(01180002): ADD R1, R1, R2 |
| ELSIFn cho = 18X THENp (*ctrl-x, cut*) |
111F | n(F7FFF70A): BL -2294 [082AH] |
1120 | o(E7000044): B 68 [1165H] |
1121 | p(90E00008): LDR R0, SP, 8H |
1122 | p(40090018): SUB R0, R0, 18H |
1123 | p(E9000019): BNE 25 [113DH] |
| IF F.hasSelq THENr |
1124 | q(80E00004): LDR R0, SP, 4H |
1125 | q(D15E404C): BLEQ MT [trap=4, pos=24128] |
1126 | r(90000045): LDR R0, R0, 45H |
1127 | r(E1000014): BEQ 20 [113CH] |
| NEW(TBuf);s Texts.OpenBuf(TBuf)t;u Texts.Delete(F.textv,w F.selbegx.pos,y F.selendz.pos,a TBuf)b |
1128 | s .FIXUP D |
1128 | s(8D00000F): LDR SB, MT, MOD0 [TextFrames] |
1129 | s(40D80090): ADD R0, SB, 90H [data] |
112A | s .FIXUP D |
112A | s(8D600002): LDR SB, MT, MOD6 [Texts] |
112B | s(41D80004): ADD R1, SB, VAR4 |
112C | s(D75E580C): BL MT [trap=0, pos=24152] |
112D | t .FIXUP D |
112D | t(8D000003): LDR SB, MT, MOD0 [TextFrames] |
112E | t(80D00090): LDR R0, SB, 90H [data] |
112F | u .FIXUP P |
112F | u(F760A01A): BL MOD6 [Texts] PROC10 |
1130 | v(80E00004): LDR R0, SP, 4H |
1131 | v(D15E814C): BLEQ MT [trap=4, pos=24193] |
1132 | w(8000001C): LDR R0, R0, 1CH |
1133 | x(81E00004): LDR R1, SP, 4H |
1134 | x(D15E8B4C): BLEQ MT [trap=4, pos=24203] |
1135 | y(81100064): LDR R1, R1, 64H |
1136 | z(82E00004): LDR R2, SP, 4H |
1137 | z(D15E994C): BLEQ MT [trap=4, pos=24217] |
1138 | a(8220007C): LDR R2, R2, 7CH |
1139 | b .FIXUP D |
1139 | b(8D00000C): LDR SB, MT, MOD0 [TextFrames] |
113A | b(83D00090): LDR R3, SB, 90H [data] |
| ENDc |
113B | c .FIXUP P |
113B | c(F760F00C): BL MOD6 [Texts] PROC15 |
| ELSIF (d20X <= ch)e & (fch <= DEL)g OR (hch = CR)i OR (jch = TAB)k THENl |
113C | d(E7000028): B 40 [1165H] |
113D | e(40000020): MOV R0, R0, 20H |
113E | e(91E00008): LDR R1, SP, 8H |
113F | e(00090001): SUB R0, R0, R1 |
1140 | f(EE000003): BGT 3 [1144H] |
1141 | g(90E00008): LDR R0, SP, 8H |
1142 | g(4009007F): SUB R0, R0, 7FH |
1143 | h(E6000006): BLE 6 [114AH] |
1144 | i(90E00008): LDR R0, SP, 8H |
1145 | i(4009000D): SUB R0, R0, DH |
1146 | j(E1000003): BEQ 3 [114AH] |
1147 | k(90E00008): LDR R0, SP, 8H |
1148 | k(40090009): SUB R0, R0, 9H |
1149 | l(E900001B): BNE 27 [1165H] |
| KW.fnt := fnt;m KW.col := col;n KW.voff := voff;o Texts.Write(KW,p ch)q;r |
114A | m(80E0000C): LDR R0, SP, CH |
114B | m .FIXUP D |
114B | m(8D000012): LDR SB, MT, MOD0 [TextFrames] |
114C | m(A0D00100): STR R0, SB, 100H [data] |
114D | n(80E00010): LDR R0, SP, 10H |
114E | n(A0D00104): STR R0, SB, 104H |
114F | o(80E00014): LDR R0, SP, 14H |
1150 | o(A0D00108): STR R0, SB, 108H |
1151 | p(40D800FC): ADD R0, SB, FCH |
1152 | p .FIXUP D |
1152 | p(8D600007): LDR SB, MT, MOD6 [Texts] |
1153 | p(41D80005): ADD R1, SB, VAR5 |
1154 | q(92E00008): LDR R2, SP, 8H |
1155 | r .FIXUP P |
1155 | r(F761B01A): BL MOD6 [Texts] PROC27 |
| Texts.Insert(F.texts,t F.carlocu.pos,v KW.buf)w;x |
1156 | s(80E00004): LDR R0, SP, 4H |
1157 | s(D15F564C): BLEQ MT [trap=4, pos=24406] |
1158 | t(8000001C): LDR R0, R0, 1CH |
1159 | u(81E00004): LDR R1, SP, 4H |
115A | u(D15F604C): BLEQ MT [trap=4, pos=24416] |
115B | v(8110004C): LDR R1, R1, 4CH |
115C | w .FIXUP D |
115C | w(8D00000A): LDR SB, MT, MOD0 [TextFrames] |
115D | w(82D000FC): LDR R2, SB, FCH [data] |
115E | x .FIXUP P |
115E | x(F760D009): BL MOD6 [Texts] PROC13 |
| SetCaret(F,y F.carlocz.pos + 1)a |
115F | y(80E00004): LDR R0, SP, 4H |
1160 | z(81E00004): LDR R1, SP, 4H |
1161 | z(D15F894C): BLEQ MT [trap=4, pos=24457] |
1162 | a(8110004C): LDR R1, R1, 4CH |
1163 | a(41180001): ADD R1, R1, 1H |
| ENDb |
1164 | b(F7FFF6C5): BL -2363 [082AH] |
| ENDc Write; |
1165 | c(8FE00000): LDR LNK, SP, 0H |
1166 | c(4EE8001C): ADD SP, SP, 1CH |
1167 | c(C700000F): B LNK |
| |
| PROCEDURE Defocus* (F: Frame); |
| BEGINd RemoveCaret(F)e |
1168 | d .PROC 34 |
1168 | d(4EE90008): SUB SP, SP, 8H |
1169 | d(AFE00000): STR LNK, SP, 0H |
116A | d(A0E00004): STR R0, SP, 4H |
116B | e(80E00004): LDR R0, SP, 4H |
| ENDf Defocus; |
116C | f(F7FFF732): BL -2254 [089FH] |
116D | f(8FE00000): LDR LNK, SP, 0H |
116E | f(4EE80008): ADD SP, SP, 8H |
116F | f(C700000F): B LNK |
| |
| PROCEDURE Neutralize* (F: Frame); |
| BEGINg RemoveMarks(F)h |
1170 | g .PROC 35 |
1170 | g(4EE90008): SUB SP, SP, 8H |
1171 | g(AFE00000): STR LNK, SP, 0H |
1172 | g(A0E00004): STR R0, SP, 4H |
1173 | h(80E00004): LDR R0, SP, 4H |
| ENDi Neutralize; |
1174 | i(F7FFFE92): BL -366 [1007H] |
1175 | i(8FE00000): LDR LNK, SP, 0H |
1176 | i(4EE80008): ADD SP, SP, 8H |
1177 | i(C700000F): B LNK |
| |
| PROCEDURE Modify* (F: Frame; id, dY, Y, H: INTEGER); |
| BEGINj |
1178 | j .PROC 36 |
1178 | j(4EE90018): SUB SP, SP, 18H |
1179 | j(AFE00000): STR LNK, SP, 0H |
117A | j(A0E00004): STR R0, SP, 4H |
117B | j(A1E00008): STR R1, SP, 8H |
117C | j(A2E0000C): STR R2, SP, CH |
117D | j(A3E00010): STR R3, SP, 10H |
117E | j(A4E00014): STR R4, SP, 14H |
| Mark(F,k FALSE)l;m RemoveMarks(F)n;o SetChangeMark(F,p FALSE)q;r |
117F | k(80E00004): LDR R0, SP, 4H |
1180 | l(41000000): MOV R1, R0, 0H |
1181 | m(F7FFF071): BL -3983 [01F3H] |
1182 | n(80E00004): LDR R0, SP, 4H |
1183 | o(F7FFFE83): BL -381 [1007H] |
1184 | p(80E00004): LDR R0, SP, 4H |
1185 | q(41000000): MOV R1, R0, 0H |
1186 | r(F7FFEF65): BL -4251 [00ECH] |
| IF id = MenuViewers.extend THENs |
1187 | s(80E00008): LDR R0, SP, 8H |
1188 | s(E9000025): BNE 37 [11AEH] |
| IF dY > 0 THENt Display.CopyBlock(F.Xu,v F.Yw,x F.Wy,z F.Ha,b F.Xc,d F.Ye + dY,f 0)g;h F.Yi := F.Yj + dY ENDk; |
1189 | t(80E0000C): LDR R0, SP, CH |
118A | t(40090000): SUB R0, R0, 0H |
118B | t(E600001E): BLE 30 [11AAH] |
118C | u(80E00004): LDR R0, SP, 4H |
118D | u(D1610A4C): BLEQ MT [trap=4, pos=24842] |
118E | v(80000008): LDR R0, R0, 8H |
118F | w(81E00004): LDR R1, SP, 4H |
1190 | w(D1610F4C): BLEQ MT [trap=4, pos=24847] |
1191 | x(8110000C): LDR R1, R1, CH |
1192 | y(82E00004): LDR R2, SP, 4H |
1193 | y(D161144C): BLEQ MT [trap=4, pos=24852] |
1194 | z(82200010): LDR R2, R2, 10H |
1195 | a(83E00004): LDR R3, SP, 4H |
1196 | a(D161194C): BLEQ MT [trap=4, pos=24857] |
1197 | b(83300014): LDR R3, R3, 14H |
1198 | c(84E00004): LDR R4, SP, 4H |
1199 | c(D1611E4C): BLEQ MT [trap=4, pos=24862] |
119A | d(84400008): LDR R4, R4, 8H |
119B | e(85E00004): LDR R5, SP, 4H |
119C | e(D161234C): BLEQ MT [trap=4, pos=24867] |
119D | f(8550000C): LDR R5, R5, CH |
119E | f(86E0000C): LDR R6, SP, CH |
119F | f(05580006): ADD R5, R5, R6 |
11A0 | g(46000000): MOV R6, R0, 0H |
11A1 | h .FIXUP P |
11A1 | h(F7311043): BL MOD3 [Display] PROC17 |
11A2 | i(80E00004): LDR R0, SP, 4H |
11A3 | i(D161314C): BLEQ MT [trap=4, pos=24881] |
11A4 | j(81E00004): LDR R1, SP, 4H |
11A5 | j(D161384C): BLEQ MT [trap=4, pos=24888] |
11A6 | k(8110000C): LDR R1, R1, CH |
11A7 | k(82E0000C): LDR R2, SP, CH |
11A8 | k(01180002): ADD R1, R1, R2 |
11A9 | k(A100000C): STR R1, R0, CH |
| Extend(F,l Y)m |
11AA | l(80E00004): LDR R0, SP, 4H |
11AB | m(81E00010): LDR R1, SP, 10H |
| ELSIFn ido = MenuViewers.reduce THENp |
11AC | n(F7FFF130): BL -3792 [02DDH] |
11AD | o(E7000021): B 33 [11CFH] |
11AE | p(80E00008): LDR R0, SP, 8H |
11AF | p(40090001): SUB R0, R0, 1H |
11B0 | p(E900001E): BNE 30 [11CFH] |
| Reduce(F,q Y + dY)r;s |
11B1 | q(80E00004): LDR R0, SP, 4H |
11B2 | r(81E00010): LDR R1, SP, 10H |
11B3 | r(82E0000C): LDR R2, SP, CH |
11B4 | r(01180002): ADD R1, R1, R2 |
11B5 | s(F7FFF20E): BL -3570 [03C4H] |
| IF dY > 0 THENt Display.CopyBlock(F.Xu,v F.Yw,x F.Wy,z F.Ha,b F.Xc,d Y,e 0)f;g F.Yh := Y ENDi |
11B6 | t(80E0000C): LDR R0, SP, CH |
11B7 | t(40090000): SUB R0, R0, 0H |
11B8 | t(E6000016): BLE 22 [11CFH] |
11B9 | u(80E00004): LDR R0, SP, 4H |
11BA | u(D161C04C): BLEQ MT [trap=4, pos=25024] |
11BB | v(80000008): LDR R0, R0, 8H |
11BC | w(81E00004): LDR R1, SP, 4H |
11BD | w(D161C54C): BLEQ MT [trap=4, pos=25029] |
11BE | x(8110000C): LDR R1, R1, CH |
11BF | y(82E00004): LDR R2, SP, 4H |
11C0 | y(D161CA4C): BLEQ MT [trap=4, pos=25034] |
11C1 | z(82200010): LDR R2, R2, 10H |
11C2 | a(83E00004): LDR R3, SP, 4H |
11C3 | a(D161CF4C): BLEQ MT [trap=4, pos=25039] |
11C4 | b(83300014): LDR R3, R3, 14H |
11C5 | c(84E00004): LDR R4, SP, 4H |
11C6 | c(D161D44C): BLEQ MT [trap=4, pos=25044] |
11C7 | d(84400008): LDR R4, R4, 8H |
11C8 | e(85E00010): LDR R5, SP, 10H |
11C9 | f(46000000): MOV R6, R0, 0H |
11CA | g .FIXUP P |
11CA | g(F7311029): BL MOD3 [Display] PROC17 |
11CB | h(80E00004): LDR R0, SP, 4H |
11CC | h(D161E04C): BLEQ MT [trap=4, pos=25056] |
11CD | i(81E00010): LDR R1, SP, 10H |
11CE | i(A100000C): STR R1, R0, CH |
| END; |
| IF F.Hj > 0 THENk Mark(F,l TRUE)m;n SetChangeMark(F,o F.textp.changedq)r ENDs |
11CF | j(80E00004): LDR R0, SP, 4H |
11D0 | j(D161FD4C): BLEQ MT [trap=4, pos=25085] |
11D1 | k(80000014): LDR R0, R0, 14H |
11D2 | k(40090000): SUB R0, R0, 0H |
11D3 | k(E600000A): BLE 10 [11DEH] |
11D4 | l(80E00004): LDR R0, SP, 4H |
11D5 | m(41000001): MOV R1, R0, 1H |
11D6 | n(F7FFF01C): BL -4068 [01F3H] |
11D7 | o(80E00004): LDR R0, SP, 4H |
11D8 | p(81E00004): LDR R1, SP, 4H |
11D9 | p(D1622E4C): BLEQ MT [trap=4, pos=25134] |
11DA | q(8110001C): LDR R1, R1, 1CH |
11DB | q(D162364C): BLEQ MT [trap=4, pos=25142] |
11DC | r(91100004): LDR R1, R1, 4H |
11DD | s(F7FFEF0E): BL -4338 [00ECH] |
| ENDt Modify; |
11DE | t(8FE00000): LDR LNK, SP, 0H |
11DF | t(4EE80018): ADD SP, SP, 18H |
11E0 | t(C700000F): B LNK |
| |
| PROCEDURE Open* (F: Frame; H: Display.Handler; T: Texts.Text; org: LONGINT; |
| col, left, right, top, bot, lsp: INTEGER); |
| VAR L: Line; |
| BEGINu NEW(L);v |
11E1 | u .PROC 37 |
11E1 | u(4EE90030): SUB SP, SP, 30H |
11E2 | u(AFE00000): STR LNK, SP, 0H |
11E3 | u(A0E00004): STR R0, SP, 4H |
11E4 | u(A1E00008): STR R1, SP, 8H |
11E5 | u(A2E0000C): STR R2, SP, CH |
11E6 | u(A3E00010): STR R3, SP, 10H |
11E7 | u(A4E00014): STR R4, SP, 14H |
11E8 | u(A5E00018): STR R5, SP, 18H |
11E9 | u(A6E0001C): STR R6, SP, 1CH |
11EA | u(A7E00020): STR R7, SP, 20H |
11EB | u(A8E00024): STR R8, SP, 24H |
11EC | u(A9E00028): STR R9, SP, 28H |
11ED | v(40E8002C): ADD R0, SP, 2CH |
11EE | v .FIXUP D |
11EE | v(8D000092): LDR SB, MT, MOD0 [TextFrames] |
11EF | v(41D80000): ADD R1, SB, 0H [data] |
11F0 | v(D762EC0C): BL MT [trap=0, pos=25324] |
| L.lenw := 0;x L.widy := 0;z L.eota := FALSE;b L.nextc := L;d |
11F1 | w(80E0002C): LDR R0, SP, 2CH |
11F2 | w(D162F64C): BLEQ MT [trap=4, pos=25334] |
11F3 | x(41000000): MOV R1, R0, 0H |
11F4 | x(A1000000): STR R1, R0, 0H |
11F5 | y(80E0002C): LDR R0, SP, 2CH |
11F6 | y(D163024C): BLEQ MT [trap=4, pos=25346] |
11F7 | z(41000000): MOV R1, R0, 0H |
11F8 | z(A1000004): STR R1, R0, 4H |
11F9 | a(80E0002C): LDR R0, SP, 2CH |
11FA | a(D1630E4C): BLEQ MT [trap=4, pos=25358] |
11FB | b(41000000): MOV R1, R0, 0H |
11FC | b(B1000008): STR R1, R0, 8H |
11FD | c(80E0002C): LDR R0, SP, 2CH |
11FE | c(D1631F4C): BLEQ MT [trap=4, pos=25375] |
11FF | d(81E0002C): LDR R1, SP, 2CH |
1200 | d(A100000C): STR R1, R0, CH |
| F.handlee := H;f F.textg := T;h F.orgi := org;j F.trailerk := L;l |
1201 | e(80E00004): LDR R0, SP, 4H |
1202 | e(D163324C): BLEQ MT [trap=4, pos=25394] |
1203 | f(81E00008): LDR R1, SP, 8H |
1204 | f(A1000018): STR R1, R0, 18H |
1205 | g(80E00004): LDR R0, SP, 4H |
1206 | g(D1633F4C): BLEQ MT [trap=4, pos=25407] |
1207 | h(81E0000C): LDR R1, SP, CH |
1208 | h(A100001C): STR R1, R0, 1CH |
1209 | i(80E00004): LDR R0, SP, 4H |
120A | i(D1634B4C): BLEQ MT [trap=4, pos=25419] |
120B | j(81E00010): LDR R1, SP, 10H |
120C | j(A1000020): STR R1, R0, 20H |
120D | k(80E00004): LDR R0, SP, 4H |
120E | k(D1635D4C): BLEQ MT [trap=4, pos=25437] |
120F | l(81E0002C): LDR R1, SP, 2CH |
1210 | l(A1000090): STR R1, R0, 90H |
| F.leftm := left;n F.righto := right;p F.topq := top;r F.bots := bot;t |
1211 | m(80E00004): LDR R0, SP, 4H |
1212 | m(D1636E4C): BLEQ MT [trap=4, pos=25454] |
1213 | n(81E00018): LDR R1, SP, 18H |
1214 | n(A100002C): STR R1, R0, 2CH |
1215 | o(80E00004): LDR R0, SP, 4H |
1216 | o(D1637F4C): BLEQ MT [trap=4, pos=25471] |
1217 | p(81E0001C): LDR R1, SP, 1CH |
1218 | p(A1000030): STR R1, R0, 30H |
1219 | q(80E00004): LDR R0, SP, 4H |
121A | q(D1638F4C): BLEQ MT [trap=4, pos=25487] |
121B | r(81E00020): LDR R1, SP, 20H |
121C | r(A1000034): STR R1, R0, 34H |
121D | s(80E00004): LDR R0, SP, 4H |
121E | s(D1639D4C): BLEQ MT [trap=4, pos=25501] |
121F | t(81E00024): LDR R1, SP, 24H |
1220 | t(A1000038): STR R1, R0, 38H |
| F.lspu := lsp;v F.colw := col;x F.hasMarky := FALSE;z F.hasCara := FALSE;b F.hasSelc := FALSE |
1221 | u(80E00004): LDR R0, SP, 4H |
1222 | u(D163AF4C): BLEQ MT [trap=4, pos=25519] |
1223 | v(81E00028): LDR R1, SP, 28H |
1224 | v(A1000028): STR R1, R0, 28H |
1225 | w(80E00004): LDR R0, SP, 4H |
1226 | w(D163BD4C): BLEQ MT [trap=4, pos=25533] |
1227 | x(81E00014): LDR R1, SP, 14H |
1228 | x(A1000024): STR R1, R0, 24H |
1229 | y(80E00004): LDR R0, SP, 4H |
122A | y(D163CF4C): BLEQ MT [trap=4, pos=25551] |
122B | z(41000000): MOV R1, R0, 0H |
122C | z(B1000046): STR R1, R0, 46H |
122D | a(80E00004): LDR R0, SP, 4H |
122E | a(D163E24C): BLEQ MT [trap=4, pos=25570] |
122F | b(41000000): MOV R1, R0, 0H |
1230 | b(B1000044): STR R1, R0, 44H |
1231 | c(80E00004): LDR R0, SP, 4H |
1232 | c(D163F54C): BLEQ MT [trap=4, pos=25589] |
| ENDd Open; |
1233 | d(41000000): MOV R1, R0, 0H |
1234 | d(B1000045): STR R1, R0, 45H |
1235 | d(8FE00000): LDR LNK, SP, 0H |
1236 | d(4EE80030): ADD SP, SP, 30H |
1237 | d(C700000F): B LNK |
| |
| PROCEDURE Copy* (F: Frame; VAR F1: Frame); |
| BEGINe NEW(F1);f |
1238 | e .PROC 38 |
1238 | e(4EE9000C): SUB SP, SP, CH |
1239 | e(AFE00000): STR LNK, SP, 0H |
123A | e(A0E00004): STR R0, SP, 4H |
123B | e(A1E00008): STR R1, SP, 8H |
123C | f(80E00008): LDR R0, SP, 8H |
123D | f .FIXUP D |
123D | f(8D00004F): LDR SB, MT, MOD0 [TextFrames] |
123E | f(41D80030): ADD R1, SB, 30H [data] |
123F | f(D764490C): BL MT [trap=0, pos=25673] |
| Open(F1,g F.handleh,i F.textj,k F.orgl,m F.coln,o F.leftp,q F.rightr,s F.topt,u F.botv,w F.lspx)y |
1240 | g(80E00008): LDR R0, SP, 8H |
1241 | g(80000000): LDR R0, R0, 0H |
1242 | h(81E00004): LDR R1, SP, 4H |
1243 | h(D1645F4C): BLEQ MT [trap=4, pos=25695] |
1244 | i(81100018): LDR R1, R1, 18H |
1245 | j(82E00004): LDR R2, SP, 4H |
1246 | j(D164674C): BLEQ MT [trap=4, pos=25703] |
1247 | k(8220001C): LDR R2, R2, 1CH |
1248 | l(83E00004): LDR R3, SP, 4H |
1249 | l(D1646E4C): BLEQ MT [trap=4, pos=25710] |
124A | m(83300020): LDR R3, R3, 20H |
124B | n(84E00004): LDR R4, SP, 4H |
124C | n(D164754C): BLEQ MT [trap=4, pos=25717] |
124D | o(84400024): LDR R4, R4, 24H |
124E | p(85E00004): LDR R5, SP, 4H |
124F | p(D1647D4C): BLEQ MT [trap=4, pos=25725] |
1250 | q(8550002C): LDR R5, R5, 2CH |
1251 | r(86E00004): LDR R6, SP, 4H |
1252 | r(D164864C): BLEQ MT [trap=4, pos=25734] |
1253 | s(86600030): LDR R6, R6, 30H |
1254 | t(87E00004): LDR R7, SP, 4H |
1255 | t(D1648D4C): BLEQ MT [trap=4, pos=25741] |
1256 | u(87700034): LDR R7, R7, 34H |
1257 | v(88E00004): LDR R8, SP, 4H |
1258 | v(D164944C): BLEQ MT [trap=4, pos=25748] |
1259 | w(88800038): LDR R8, R8, 38H |
125A | x(89E00004): LDR R9, SP, 4H |
125B | x(D1649B4C): BLEQ MT [trap=4, pos=25755] |
125C | y(89900028): LDR R9, R9, 28H |
| ENDz Copy; |
125D | z(F7FFFF83): BL -125 [11E1H] |
125E | z(8FE00000): LDR LNK, SP, 0H |
125F | z(4EE8000C): ADD SP, SP, CH |
1260 | z(C700000F): B LNK |
| |
| PROCEDURE CopyOver(F: Frame; text: Texts.Text; beg, end: LONGINT); |
| VAR buf: Texts.Buffer; |
| BEGINa |
1261 | a(4EE90018): SUB SP, SP, 18H |
1262 | a(AFE00000): STR LNK, SP, 0H |
1263 | a(A0E00004): STR R0, SP, 4H |
1264 | a(A1E00008): STR R1, SP, 8H |
1265 | a(A2E0000C): STR R2, SP, CH |
1266 | a(A3E00010): STR R3, SP, 10H |
| IF F.hasCarb THENc |
1267 | b(80E00004): LDR R0, SP, 4H |
1268 | b(D165214C): BLEQ MT [trap=4, pos=25889] |
1269 | c(90000044): LDR R0, R0, 44H |
126A | c(E100001C): BEQ 28 [1287H] |
| NEW(buf);d Texts.OpenBuf(buf)e;f |
126B | d(40E80014): ADD R0, SP, 14H |
126C | d .FIXUP D |
126C | d(8D60002F): LDR SB, MT, MOD6 [Texts] |
126D | d(41D80004): ADD R1, SB, VAR4 |
126E | d(D765360C): BL MT [trap=0, pos=25910] |
126F | e(80E00014): LDR R0, SP, 14H |
1270 | f .FIXUP P |
1270 | f(F760A0A6): BL MOD6 [Texts] PROC10 |
| Texts.Save(text,g beg,h end,i buf)j;k Texts.Insert(F.textl,m F.carlocn.pos,o buf)p;q |
1271 | g(80E00008): LDR R0, SP, 8H |
1272 | h(81E0000C): LDR R1, SP, CH |
1273 | i(82E00010): LDR R2, SP, 10H |
1274 | j(83E00014): LDR R3, SP, 14H |
1275 | k .FIXUP P |
1275 | k(F760B005): BL MOD6 [Texts] PROC11 |
1276 | l(80E00004): LDR R0, SP, 4H |
1277 | l(D165854C): BLEQ MT [trap=4, pos=25989] |
1278 | m(8000001C): LDR R0, R0, 1CH |
1279 | n(81E00004): LDR R1, SP, 4H |
127A | n(D1658F4C): BLEQ MT [trap=4, pos=25999] |
127B | o(8110004C): LDR R1, R1, 4CH |
127C | p(82E00014): LDR R2, SP, 14H |
127D | q .FIXUP P |
127D | q(F760D008): BL MOD6 [Texts] PROC13 |
| SetCaret(F,r F.carlocs.pos + (end - beg)t)u |
127E | r(80E00004): LDR R0, SP, 4H |
127F | s(81E00004): LDR R1, SP, 4H |
1280 | s(D165B54C): BLEQ MT [trap=4, pos=26037] |
1281 | t(82E00010): LDR R2, SP, 10H |
1282 | t(83E0000C): LDR R3, SP, CH |
1283 | t(02290003): SUB R2, R2, R3 |
1284 | u(8110004C): LDR R1, R1, 4CH |
1285 | u(01180002): ADD R1, R1, R2 |
| ENDv |
1286 | v(F7FFF5A3): BL -2653 [082AH] |
| ENDw CopyOver; |
1287 | w(8FE00000): LDR LNK, SP, 0H |
1288 | w(4EE80018): ADD SP, SP, 18H |
1289 | w(C700000F): B LNK |
| |
| PROCEDURE GetSelection* (F: Frame; VAR text: Texts.Text; VAR beg, end, time: LONGINT); |
| BEGINx |
128A | x .PROC 39 |
128A | x(4EE90018): SUB SP, SP, 18H |
128B | x(AFE00000): STR LNK, SP, 0H |
128C | x(A0E00004): STR R0, SP, 4H |
128D | x(A1E00008): STR R1, SP, 8H |
128E | x(A2E0000C): STR R2, SP, CH |
128F | x(A3E00010): STR R3, SP, 10H |
1290 | x(A4E00014): STR R4, SP, 14H |
| IF F.hasSely THENz |
1291 | y(80E00004): LDR R0, SP, 4H |
1292 | y(D166524C): BLEQ MT [trap=4, pos=26194] |
1293 | z(90000045): LDR R0, R0, 45H |
1294 | z(E1000040): BEQ 64 [12D5H] |
| IF F.texta = text THENb |
1295 | a(80E00004): LDR R0, SP, 4H |
1296 | a(D166674C): BLEQ MT [trap=4, pos=26215] |
1297 | b(8000001C): LDR R0, R0, 1CH |
1298 | b(81E00008): LDR R1, SP, 8H |
1299 | b(81100000): LDR R1, R1, 0H |
129A | b(00090001): SUB R0, R0, R1 |
129B | b(E900001E): BNE 30 [12BAH] |
| IF F.selbegc.pos < beg THENd beg := F.selbege.pos ENDf ; (*leftmost*) |
129C | c(80E00004): LDR R0, SP, 4H |
129D | c(D166874C): BLEQ MT [trap=4, pos=26247] |
129E | d(80000064): LDR R0, R0, 64H |
129F | d(81E0000C): LDR R1, SP, CH |
12A0 | d(81100000): LDR R1, R1, 0H |
12A1 | d(00090001): SUB R0, R0, R1 |
12A2 | d(ED000005): BGE 5 [12A8H] |
12A3 | e(80E00004): LDR R0, SP, 4H |
12A4 | e(D166A64C): BLEQ MT [trap=4, pos=26278] |
12A5 | f(80000064): LDR R0, R0, 64H |
12A6 | f(81E0000C): LDR R1, SP, CH |
12A7 | f(A0100000): STR R0, R1, 0H |
| IF F.timeg > time THENh end := F.selendi.pos;j time := F.timek ENDl ; (*last selected*) |
12A8 | g(80E00004): LDR R0, SP, 4H |
12A9 | g(D166D04C): BLEQ MT [trap=4, pos=26320] |
12AA | h(80000040): LDR R0, R0, 40H |
12AB | h(81E00014): LDR R1, SP, 14H |
12AC | h(81100000): LDR R1, R1, 0H |
12AD | h(00090001): SUB R0, R0, R1 |
12AE | h(E600000A): BLE 10 [12B9H] |
12AF | i(80E00004): LDR R0, SP, 4H |
12B0 | i(D166EC4C): BLEQ MT [trap=4, pos=26348] |
12B1 | j(8000007C): LDR R0, R0, 7CH |
12B2 | j(81E00010): LDR R1, SP, 10H |
12B3 | j(A0100000): STR R0, R1, 0H |
12B4 | k(80E00004): LDR R0, SP, 4H |
12B5 | k(D167004C): BLEQ MT [trap=4, pos=26368] |
12B6 | l(80000040): LDR R0, R0, 40H |
12B7 | l(81E00014): LDR R1, SP, 14H |
12B8 | l(A0100000): STR R0, R1, 0H |
| ELSIF Fm.timen > time THENo |
12B9 | m(E700001B): B 27 [12D5H] |
12BA | n(80E00004): LDR R0, SP, 4H |
12BB | n(D1672B4C): BLEQ MT [trap=4, pos=26411] |
12BC | o(80000040): LDR R0, R0, 40H |
12BD | o(81E00014): LDR R1, SP, 14H |
12BE | o(81100000): LDR R1, R1, 0H |
12BF | o(00090001): SUB R0, R0, R1 |
12C0 | o(E6000014): BLE 20 [12D5H] |
| text := F.textp;q beg := F.selbegr.pos;s end := F.selendt.pos;u time := F.timev |
12C1 | p(80E00004): LDR R0, SP, 4H |
12C2 | p(D1674E4C): BLEQ MT [trap=4, pos=26446] |
12C3 | q(8000001C): LDR R0, R0, 1CH |
12C4 | q(81E00008): LDR R1, SP, 8H |
12C5 | q(A0100000): STR R0, R1, 0H |
12C6 | r(80E00004): LDR R0, SP, 4H |
12C7 | r(D1675F4C): BLEQ MT [trap=4, pos=26463] |
12C8 | s(80000064): LDR R0, R0, 64H |
12C9 | s(81E0000C): LDR R1, SP, CH |
12CA | s(A0100000): STR R0, R1, 0H |
12CB | t(80E00004): LDR R0, SP, 4H |
12CC | t(D167744C): BLEQ MT [trap=4, pos=26484] |
12CD | u(8000007C): LDR R0, R0, 7CH |
12CE | u(81E00010): LDR R1, SP, 10H |
12CF | u(A0100000): STR R0, R1, 0H |
12D0 | v(80E00004): LDR R0, SP, 4H |
12D1 | v(D167884C): BLEQ MT [trap=4, pos=26504] |
| ENDw |
12D2 | w(80000040): LDR R0, R0, 40H |
12D3 | w(81E00014): LDR R1, SP, 14H |
12D4 | w(A0100000): STR R0, R1, 0H |
| END |
| ENDx GetSelection; |
12D5 | x(8FE00000): LDR LNK, SP, 0H |
12D6 | x(4EE80018): ADD SP, SP, 18H |
12D7 | x(C700000F): B LNK |
| |
| PROCEDURE Update* (F: Frame; VAR M: UpdateMsg); |
| BEGINy (*F.text = M.text*) SetChangeMark(F,z FALSE)a;b |
12D8 | y .PROC 40 |
12D8 | y(4EE90010): SUB SP, SP, 10H |
12D9 | y(AFE00000): STR LNK, SP, 0H |
12DA | y(A0E00004): STR R0, SP, 4H |
12DB | y(A1E00008): STR R1, SP, 8H |
12DC | y(A2E0000C): STR R2, SP, CH |
12DD | z(80E00004): LDR R0, SP, 4H |
12DE | a(41000000): MOV R1, R0, 0H |
12DF | b(F7FFEE0C): BL -4596 [00ECH] |
| RemoveMarks(F)c;d Oberon.RemoveMarks(F.Xe,f F.Yg,h F.Wi,j F.Hk)l;m |
12E0 | c(80E00004): LDR R0, SP, 4H |
12E1 | d(F7FFFD25): BL -731 [1007H] |
12E2 | e(80E00004): LDR R0, SP, 4H |
12E3 | e(D168414C): BLEQ MT [trap=4, pos=26689] |
12E4 | f(80000008): LDR R0, R0, 8H |
12E5 | g(81E00004): LDR R1, SP, 4H |
12E6 | g(D168464C): BLEQ MT [trap=4, pos=26694] |
12E7 | h(8110000C): LDR R1, R1, CH |
12E8 | i(82E00004): LDR R2, SP, 4H |
12E9 | i(D1684B4C): BLEQ MT [trap=4, pos=26699] |
12EA | j(82200010): LDR R2, R2, 10H |
12EB | k(83E00004): LDR R3, SP, 4H |
12EC | k(D168504C): BLEQ MT [trap=4, pos=26704] |
12ED | l(83300014): LDR R3, R3, 14H |
12EE | m .FIXUP P |
12EE | m(F781B071): BL MOD8 [Oberon] PROC27 |
| IF M.id = replace THENn Replace(F,o M.beg,p M.end)q |
12EF | n(80E00008): LDR R0, SP, 8H |
12F0 | n(80000000): LDR R0, R0, 0H |
12F1 | n(E9000007): BNE 7 [12F9H] |
12F2 | o(80E00004): LDR R0, SP, 4H |
12F3 | p(81E00008): LDR R1, SP, 8H |
12F4 | p(81100008): LDR R1, R1, 8H |
12F5 | q(82E00008): LDR R2, SP, 8H |
12F6 | q(8220000C): LDR R2, R2, CH |
| ELSIFr Ms.id = insert THENt Insert(F,u M.beg,v M.end)w |
12F7 | r(F7FFF8E1): BL -1823 [0BD9H] |
12F8 | s(E7000015): B 21 [130EH] |
12F9 | t(80E00008): LDR R0, SP, 8H |
12FA | t(80000000): LDR R0, R0, 0H |
12FB | t(40090001): SUB R0, R0, 1H |
12FC | t(E9000007): BNE 7 [1304H] |
12FD | u(80E00004): LDR R0, SP, 4H |
12FE | v(81E00008): LDR R1, SP, 8H |
12FF | v(81100008): LDR R1, R1, 8H |
1300 | w(82E00008): LDR R2, SP, 8H |
1301 | w(8220000C): LDR R2, R2, CH |
| ELSIFx My.id = delete THENz Delete(F,a M.beg,b M.end)c |
1302 | x(F7FFF9BF): BL -1601 [0CC2H] |
1303 | y(E700000A): B 10 [130EH] |
1304 | z(80E00008): LDR R0, SP, 8H |
1305 | z(80000000): LDR R0, R0, 0H |
1306 | z(40090002): SUB R0, R0, 2H |
1307 | z(E9000006): BNE 6 [130EH] |
1308 | a(80E00004): LDR R0, SP, 4H |
1309 | b(81E00008): LDR R1, SP, 8H |
130A | b(81100008): LDR R1, R1, 8H |
130B | c(82E00008): LDR R2, SP, 8H |
130C | c(8220000C): LDR R2, R2, CH |
| ENDd ; |
130D | d(F7FFFB4A): BL -1206 [0E58H] |
| SetChangeMark(F,e F.textf.changedg)h |
130E | e(80E00004): LDR R0, SP, 4H |
130F | f(81E00004): LDR R1, SP, 4H |
1310 | f(D169174C): BLEQ MT [trap=4, pos=26903] |
1311 | g(8110001C): LDR R1, R1, 1CH |
1312 | g(D1691F4C): BLEQ MT [trap=4, pos=26911] |
1313 | h(91100004): LDR R1, R1, 4H |
| ENDi Update; |
1314 | i(F7FFEDD7): BL -4649 [00ECH] |
1315 | i(8FE00000): LDR LNK, SP, 0H |
1316 | i(4EE80010): ADD SP, SP, 10H |
1317 | i(C700000F): B LNK |
| |
| PROCEDURE Edit* (F: Frame; X, Y: INTEGER; Keys: SET); |
| VAR M: CopyOverMsg; |
| text: Texts.Text; |
| buf: Texts.Buffer; |
| v: Viewers.Viewer; |
| beg, end, time, pos: LONGINT; |
| keysum: SET; |
| fnt: Fonts.Font; |
| col, voff: INTEGER; |
| BEGINj |
1318 | j .PROC 41 |
1318 | j(4EE9004C): SUB SP, SP, 4CH |
1319 | j(AFE00000): STR LNK, SP, 0H |
131A | j(A0E00004): STR R0, SP, 4H |
131B | j(A1E00008): STR R1, SP, 8H |
131C | j(A2E0000C): STR R2, SP, CH |
131D | j(A3E00010): STR R3, SP, 10H |
| IF X < F.Xk + Min(Fl.leftm,n barW)o THENp (*scroll bar*) |
131E | k(80E00004): LDR R0, SP, 4H |
131F | k(D16A484C): BLEQ MT [trap=4, pos=27208] |
1320 | l(4EE90004): SUB SP, SP, 4H |
1321 | l(A0E00000): STR R0, SP, 0H |
1322 | m(80E00008): LDR R0, SP, 8H |
1323 | m(D16A554C): BLEQ MT [trap=4, pos=27221] |
1324 | n(8000002C): LDR R0, R0, 2CH |
1325 | o .FIXUP D |
1325 | o(8D0000B9): LDR SB, MT, MOD0 [TextFrames] |
1326 | o(81D0009C): LDR R1, SB, 9CH [data] |
1327 | p(F7FFECD8): BL -4904 [0000H] |
1328 | p(01000000): MOV R1, R0, R0 |
1329 | p(80E00000): LDR R0, SP, 0H |
132A | p(4EE80004): ADD SP, SP, 4H |
132B | p(80000008): LDR R0, R0, 8H |
132C | p(00080001): ADD R0, R0, R1 |
132D | p(81E00008): LDR R1, SP, 8H |
132E | p(01190000): SUB R1, R1, R0 |
132F | p(ED0000AB): BGE 171 [13DBH] |
| Oberon.DrawMouse(ScrollMarker,q X,r Y)s;t keysum := Keys;u |
1330 | q .FIXUP D |
1330 | q(8D00000B): LDR SB, MT, MOD0 [TextFrames] |
1331 | q(40D800CC): ADD R0, SB, CCH [data] |
1332 | q .FIXUP D |
1332 | q(8D800002): LDR SB, MT, MOD8 [Oberon] |
1333 | q(41D80001): ADD R1, SB, VAR1 |
1334 | r(82E00008): LDR R2, SP, 8H |
1335 | s(83E0000C): LDR R3, SP, CH |
1336 | t .FIXUP P |
1336 | t(F7817048): BL MOD8 [Oberon] PROC23 |
1337 | u(80E00010): LDR R0, SP, 10H |
1338 | u(A0E0003C): STR R0, SP, 3CH |
| IF Keys = {2} THENv (*ML, scroll up*) |
1339 | v(80E00010): LDR R0, SP, 10H |
133A | v(40090004): SUB R0, R0, 4H |
133B | v(E9000022): BNE 34 [135EH] |
| TrackLine(F,w X,x Y,y pos,z keysum)a;b |
133C | w(80E00004): LDR R0, SP, 4H |
133D | x(81E00008): LDR R1, SP, 8H |
133E | y(82E0000C): LDR R2, SP, CH |
133F | z(43E80038): ADD R3, SP, 38H |
1340 | a(44E8003C): ADD R4, SP, 3CH |
1341 | b(F7FFF745): BL -2235 [0A87H] |
| IF (pos >= 0)c & (dkeysum = {2})e THENf |
1342 | c(80E00038): LDR R0, SP, 38H |
1343 | c(40090000): SUB R0, R0, 0H |
1344 | d(E5000018): BLT 24 [135DH] |
1345 | e(80E0003C): LDR R0, SP, 3CH |
1346 | e(40090004): SUB R0, R0, 4H |
1347 | f(E9000015): BNE 21 [135DH] |
| SetChangeMark(F,g FALSE)h;i |
1348 | g(80E00004): LDR R0, SP, 4H |
1349 | h(41000000): MOV R1, R0, 0H |
134A | i(F7FFEDA1): BL -4703 [00ECH] |
| RemoveMarks(F)j;k Oberon.RemoveMarks(F.Xl,m F.Yn,o F.Wp,q F.Hr)s;t |
134B | j(80E00004): LDR R0, SP, 4H |
134C | k(F7FFFCBA): BL -838 [1007H] |
134D | l(80E00004): LDR R0, SP, 4H |
134E | l(D16B834C): BLEQ MT [trap=4, pos=27523] |
134F | m(80000008): LDR R0, R0, 8H |
1350 | n(81E00004): LDR R1, SP, 4H |
1351 | n(D16B884C): BLEQ MT [trap=4, pos=27528] |
1352 | o(8110000C): LDR R1, R1, CH |
1353 | p(82E00004): LDR R2, SP, 4H |
1354 | p(D16B8D4C): BLEQ MT [trap=4, pos=27533] |
1355 | q(82200010): LDR R2, R2, 10H |
1356 | r(83E00004): LDR R3, SP, 4H |
1357 | r(D16B924C): BLEQ MT [trap=4, pos=27538] |
1358 | s(83300014): LDR R3, R3, 14H |
1359 | t .FIXUP P |
1359 | t(F781B023): BL MOD8 [Oberon] PROC27 |
| Show(F,u pos)v |
135A | u(80E00004): LDR R0, SP, 4H |
135B | v(81E00038): LDR R1, SP, 38H |
| ENDw |
135C | w(F7FFF0F3): BL -3853 [0450H] |
| ELSIF Keysx = {1} THENy (*MM*) keysum := Keys;z |
135D | x(E700007C): B 124 [13DAH] |
135E | y(80E00010): LDR R0, SP, 10H |
135F | y(40090002): SUB R0, R0, 2H |
1360 | y(E9000052): BNE 82 [13B3H] |
1361 | z(80E00010): LDR R0, SP, 10H |
1362 | z(A0E0003C): STR R0, SP, 3CH |
| REPEAT Input.Mouse(Keys,a X,b Y)c;d keysum := keysum + Keys;e |
1363 | a(40E80010): ADD R0, SP, 10H |
1364 | b(41E80008): ADD R1, SP, 8H |
1365 | c(42E8000C): ADD R2, SP, CH |
1366 | d .FIXUP P |
1366 | d(F720300D): BL MOD2 [Input] PROC3 |
1367 | e(80E0003C): LDR R0, SP, 3CH |
1368 | e(81E00010): LDR R1, SP, 10H |
1369 | e(00060001): IOR R0, R0, R1 |
136A | e(A0E0003C): STR R0, SP, 3CH |
| Oberon.DrawMouse(ScrollMarker,f X,g Y)h |
136B | f .FIXUP D |
136B | f(8D000039): LDR SB, MT, MOD0 [TextFrames] |
136C | f(40D800CC): ADD R0, SB, CCH [data] |
136D | f .FIXUP D |
136D | f(8D800002): LDR SB, MT, MOD8 [Oberon] |
136E | f(41D80001): ADD R1, SB, VAR1 |
136F | g(82E00008): LDR R2, SP, 8H |
1370 | h(83E0000C): LDR R3, SP, CH |
| UNTILi Keys = {};j |
1371 | i .FIXUP P |
1371 | i(F781700B): BL MOD8 [Oberon] PROC23 |
1372 | j(80E00010): LDR R0, SP, 10H |
1373 | j(E9FFFFEF): BNE -17 [1363H] |
| IF keysum # {0, 1, 2} THENk |
1374 | k(80E0003C): LDR R0, SP, 3CH |
1375 | k(40090007): SUB R0, R0, 7H |
1376 | k(E100003B): BEQ 59 [13B2H] |
| IF 0 IN keysum THENl pos := 0 |
1377 | l(80E0003C): LDR R0, SP, 3CH |
1378 | l(40030001): ROR R0, R0, 1H |
1379 | l(E8000003): BPL 3 [137DH] |
| ELSIFm 2n IN keysum THENo pos := F.textp.lenq - 100 |
137A | m(40000000): MOV R0, R0, 0H |
137B | m(A0E00038): STR R0, SP, 38H |
137C | n(E7000020): B 32 [139DH] |
137D | o(80E0003C): LDR R0, SP, 3CH |
137E | o(40030003): ROR R0, R0, 3H |
137F | o(E8000008): BPL 8 [1388H] |
1380 | p(80E00004): LDR R0, SP, 4H |
1381 | p(D16CEF4C): BLEQ MT [trap=4, pos=27887] |
1382 | q(8000001C): LDR R0, R0, 1CH |
1383 | q(D16CF34C): BLEQ MT [trap=4, pos=27891] |
| ELSEr poss := (F.Yt + F.Hu -v Y)w * (F.textx.leny) DIVz F.Ha |
1384 | r(80000000): LDR R0, R0, 0H |
1385 | r(40090064): SUB R0, R0, 64H |
1386 | r(A0E00038): STR R0, SP, 38H |
1387 | s(E7000015): B 21 [139DH] |
1388 | t(80E00004): LDR R0, SP, 4H |
1389 | t(D16D144C): BLEQ MT [trap=4, pos=27924] |
138A | u(81E00004): LDR R1, SP, 4H |
138B | u(D16D1A4C): BLEQ MT [trap=4, pos=27930] |
138C | v(8000000C): LDR R0, R0, CH |
138D | v(81100014): LDR R1, R1, 14H |
138E | v(00080001): ADD R0, R0, R1 |
138F | w(81E0000C): LDR R1, SP, CH |
1390 | w(00090001): SUB R0, R0, R1 |
1391 | x(81E00004): LDR R1, SP, 4H |
1392 | x(D16D294C): BLEQ MT [trap=4, pos=27945] |
1393 | y(8110001C): LDR R1, R1, 1CH |
1394 | y(D16D2D4C): BLEQ MT [trap=4, pos=27949] |
1395 | z(81100000): LDR R1, R1, 0H |
1396 | z(000A0001): MUL R0, R0, R1 |
1397 | a(81E00004): LDR R1, SP, 4H |
1398 | a(D16D364C): BLEQ MT [trap=4, pos=27958] |
| ENDb ; |
1399 | b(81100014): LDR R1, R1, 14H |
139A | b(D66D446C): BLLE MT [trap=6, pos=27972] |
139B | b(000B0001): DIV R0, R0, R1 |
139C | b(A0E00038): STR R0, SP, 38H |
| SetChangeMark(F,c FALSE)d;e |
139D | c(80E00004): LDR R0, SP, 4H |
139E | d(41000000): MOV R1, R0, 0H |
139F | e(F7FFED4C): BL -4788 [00ECH] |
| RemoveMarks(F)f;g Oberon.RemoveMarks(F.Xh,i F.Yj,k F.Wl,m F.Hn)o;p |
13A0 | f(80E00004): LDR R0, SP, 4H |
13A1 | g(F7FFFC65): BL -923 [1007H] |
13A2 | h(80E00004): LDR R0, SP, 4H |
13A3 | h(D16D9A4C): BLEQ MT [trap=4, pos=28058] |
13A4 | i(80000008): LDR R0, R0, 8H |
13A5 | j(81E00004): LDR R1, SP, 4H |
13A6 | j(D16D9F4C): BLEQ MT [trap=4, pos=28063] |
13A7 | k(8110000C): LDR R1, R1, CH |
13A8 | l(82E00004): LDR R2, SP, 4H |
13A9 | l(D16DA44C): BLEQ MT [trap=4, pos=28068] |
13AA | m(82200010): LDR R2, R2, 10H |
13AB | n(83E00004): LDR R3, SP, 4H |
13AC | n(D16DA94C): BLEQ MT [trap=4, pos=28073] |
13AD | o(83300014): LDR R3, R3, 14H |
13AE | p .FIXUP P |
13AE | p(F781B03D): BL MOD8 [Oberon] PROC27 |
| Show(F,q pos)r |
13AF | q(80E00004): LDR R0, SP, 4H |
13B0 | r(81E00038): LDR R1, SP, 38H |
| ENDs |
13B1 | s(F7FFF09E): BL -3938 [0450H] |
| ELSIF Keyst = {0} THENu (*MR, scroll down*) |
13B2 | t(E7000027): B 39 [13DAH] |
13B3 | u(80E00010): LDR R0, SP, 10H |
13B4 | u(40090001): SUB R0, R0, 1H |
13B5 | u(E9000024): BNE 36 [13DAH] |
| TrackLine(F,v X,w Y,x pos,y keysum)z;a |
13B6 | v(80E00004): LDR R0, SP, 4H |
13B7 | w(81E00008): LDR R1, SP, 8H |
13B8 | x(82E0000C): LDR R2, SP, CH |
13B9 | y(43E80038): ADD R3, SP, 38H |
13BA | z(44E8003C): ADD R4, SP, 3CH |
13BB | a(F7FFF6CB): BL -2357 [0A87H] |
| IF keysum = {0} THENb |
13BC | b(80E0003C): LDR R0, SP, 3CH |
13BD | b(40090001): SUB R0, R0, 1H |
13BE | b(E900001B): BNE 27 [13DAH] |
| SetChangeMark(F,c FALSE)d;e |
13BF | c(80E00004): LDR R0, SP, 4H |
13C0 | d(41000000): MOV R1, R0, 0H |
13C1 | e(F7FFED2A): BL -4822 [00ECH] |
| RemoveMarks(F)f;g Oberon.RemoveMarks(F.Xh,i F.Yj,k F.Wl,m F.Hn)o;p |
13C2 | f(80E00004): LDR R0, SP, 4H |
13C3 | g(F7FFFC43): BL -957 [1007H] |
13C4 | h(80E00004): LDR R0, SP, 4H |
13C5 | h(D16E9A4C): BLEQ MT [trap=4, pos=28314] |
13C6 | i(80000008): LDR R0, R0, 8H |
13C7 | j(81E00004): LDR R1, SP, 4H |
13C8 | j(D16E9F4C): BLEQ MT [trap=4, pos=28319] |
13C9 | k(8110000C): LDR R1, R1, CH |
13CA | l(82E00004): LDR R2, SP, 4H |
13CB | l(D16EA44C): BLEQ MT [trap=4, pos=28324] |
13CC | m(82200010): LDR R2, R2, 10H |
13CD | n(83E00004): LDR R3, SP, 4H |
13CE | n(D16EA94C): BLEQ MT [trap=4, pos=28329] |
13CF | o(83300014): LDR R3, R3, 14H |
13D0 | p .FIXUP P |
13D0 | p(F781B022): BL MOD8 [Oberon] PROC27 |
| Show(F,q F.orgr*2 -s pos -t 100)u |
13D1 | q(80E00004): LDR R0, SP, 4H |
13D2 | r(81E00004): LDR R1, SP, 4H |
13D3 | r(D16EC34C): BLEQ MT [trap=4, pos=28355] |
13D4 | s(81100020): LDR R1, R1, 20H |
13D5 | s(41110001): LSL R1, R1, 1H |
13D6 | t(82E00038): LDR R2, SP, 38H |
13D7 | t(01190002): SUB R1, R1, R2 |
13D8 | u(41190064): SUB R1, R1, 64H |
| ENDv |
13D9 | v(F7FFF076): BL -3978 [0450H] |
| END |
| ELSE (*text area*) |
| Oberonw.DrawMouseArrow(X,x Y)y;z |
13DA | w(E70000E6): B 230 [14C1H] |
13DB | x(80E00008): LDR R0, SP, 8H |
13DC | y(81E0000C): LDR R1, SP, CH |
13DD | z .FIXUP P |
13DD | z(F781800D): BL MOD8 [Oberon] PROC24 |
| IF 0 IN Keys THENa (*MR: select*) |
13DE | a(80E00010): LDR R0, SP, 10H |
13DF | a(40030001): ROR R0, R0, 1H |
13E0 | a(E8000041): BPL 65 [1422H] |
| TrackSelection(F,b X,c Y,d keysum)e;f |
13E1 | b(80E00004): LDR R0, SP, 4H |
13E2 | c(81E00008): LDR R1, SP, 8H |
13E3 | d(82E0000C): LDR R2, SP, CH |
13E4 | e(43E8003C): ADD R3, SP, 3CH |
13E5 | f(F7FFF591): BL -2671 [0977H] |
| IF F.hasSelg THENh |
13E6 | g(80E00004): LDR R0, SP, 4H |
13E7 | g(D16F884C): BLEQ MT [trap=4, pos=28552] |
13E8 | h(90000045): LDR R0, R0, 45H |
13E9 | h(E1000037): BEQ 55 [1421H] |
| IF keysum = {0, 2} THENi (*MR, ML: delete text*) |
13EA | i(80E0003C): LDR R0, SP, 3CH |
13EB | i(40090005): SUB R0, R0, 5H |
13EC | i(E9000017): BNE 23 [1404H] |
| Oberon.GetSelection(text,j beg,k end,l time)m;n |
13ED | j(40E80020): ADD R0, SP, 20H |
13EE | k(41E8002C): ADD R1, SP, 2CH |
13EF | l(42E80030): ADD R2, SP, 30H |
13F0 | m(43E80034): ADD R3, SP, 34H |
13F1 | n .FIXUP P |
13F1 | n(F7829014): BL MOD8 [Oberon] PROC41 |
| Texts.Delete(text,o beg,p end,q TBuf)r;s |
13F2 | o(80E00020): LDR R0, SP, 20H |
13F3 | p(81E0002C): LDR R1, SP, 2CH |
13F4 | q(82E00030): LDR R2, SP, 30H |
13F5 | r .FIXUP D |
13F5 | r(8D000088): LDR SB, MT, MOD0 [TextFrames] |
13F6 | r(83D00090): LDR R3, SB, 90H [data] |
13F7 | s .FIXUP P |
13F7 | s(F760F006): BL MOD6 [Texts] PROC15 |
| Oberon.PassFocus(Viewers.This(F.Xt,u F.Yv)w)x;y SetCaret(F,z beg)a |
13F8 | t(80E00004): LDR R0, SP, 4H |
13F9 | t(D1705C4C): BLEQ MT [trap=4, pos=28764] |
13FA | u(80000008): LDR R0, R0, 8H |
13FB | v(81E00004): LDR R1, SP, 4H |
13FC | v(D170614C): BLEQ MT [trap=4, pos=28769] |
13FD | w(8110000C): LDR R1, R1, CH |
13FE | x .FIXUP P |
13FE | x(F7409007): BL MOD4 [Viewers] PROC9 |
13FF | y .FIXUP P |
13FF | y(F7825001): BL MOD8 [Oberon] PROC37 |
1400 | z(80E00004): LDR R0, SP, 4H |
1401 | a(81E0002C): LDR R1, SP, 2CH |
| ELSIFb keysumc = {0, 1} THENd (*MR, MM: copy to caret*) |
1402 | b(F7FFF427): BL -3033 [082AH] |
1403 | c(E700001D): B 29 [1421H] |
1404 | d(80E0003C): LDR R0, SP, 3CH |
1405 | d(40090003): SUB R0, R0, 3H |
1406 | d(E900001A): BNE 26 [1421H] |
| Oberon.GetSelection(text,e beg,f end,g time)h;i |
1407 | e(40E80020): ADD R0, SP, 20H |
1408 | f(41E8002C): ADD R1, SP, 2CH |
1409 | g(42E80030): ADD R2, SP, 30H |
140A | h(43E80034): ADD R3, SP, 34H |
140B | i .FIXUP P |
140B | i(F782900C): BL MOD8 [Oberon] PROC41 |
| M.text := text;j M.beg := beg;k M.end := end;l |
140C | j(80E00020): LDR R0, SP, 20H |
140D | j(A0E00014): STR R0, SP, 14H |
140E | k(80E0002C): LDR R0, SP, 2CH |
140F | k(A0E00018): STR R0, SP, 18H |
1410 | l(80E00030): LDR R0, SP, 30H |
1411 | l(A0E0001C): STR R0, SP, 1CH |
| Oberon.FocusViewer.handlem(Oberonn.FocusViewer,o M)p |
1412 | m .FIXUP D |
1412 | m(8D80001D): LDR SB, MT, MOD8 [Oberon] |
1413 | m(80D0000C): LDR R0, SB, VAR12 |
1414 | m(D1714A4C): BLEQ MT [trap=4, pos=29002] |
1415 | n(80000018): LDR R0, R0, 18H |
1416 | n(4EE90004): SUB SP, SP, 4H |
1417 | n(A0E00000): STR R0, SP, 0H |
1418 | o .FIXUP D |
1418 | o(8D800006): LDR SB, MT, MOD8 [Oberon] |
1419 | o(80D0000C): LDR R0, SB, VAR12 |
141A | p(41E80018): ADD R1, SP, 18H |
141B | p .FIXUP D |
141B | p(8D000003): LDR SB, MT, MOD0 [TextFrames] |
141C | p(42D80078): ADD R2, SB, 78H [data] |
| ENDq |
141D | q(83E00000): LDR R3, SP, 0H |
141E | q(4EE80004): ADD SP, SP, 4H |
141F | q(D1716F5C): BLEQ MT [trap=5, pos=29039] |
1420 | q(D7000003): BL R3 |
| END |
| ELSIF 1r IN Keys THENs (*MM: call*) |
1421 | r(E700009F): B 159 [14C1H] |
1422 | s(80E00010): LDR R0, SP, 10H |
1423 | s(40030002): ROR R0, R0, 2H |
1424 | s(E8000016): BPL 22 [143BH] |
| TrackWord(F,t X,u Y,v pos,w keysum)x;y |
1425 | t(80E00004): LDR R0, SP, 4H |
1426 | u(81E00008): LDR R1, SP, 8H |
1427 | v(82E0000C): LDR R2, SP, CH |
1428 | w(43E80038): ADD R3, SP, 38H |
1429 | x(44E8003C): ADD R4, SP, 3CH |
142A | y(F7FFF70A): BL -2294 [0B35H] |
| IF (pos >= 0)z & ~a(0 IN keysum)b THENc Call(F,d pos,e 2 IN keysum)f ENDg |
142B | z(80E00038): LDR R0, SP, 38H |
142C | z(40090000): SUB R0, R0, 0H |
142D | a(E500000C): BLT 12 [143AH] |
142E | b(80E0003C): LDR R0, SP, 3CH |
142F | b(40030001): ROR R0, R0, 1H |
1430 | c(E0000009): BMI 9 [143AH] |
1431 | d(80E00004): LDR R0, SP, 4H |
1432 | e(81E00038): LDR R1, SP, 38H |
1433 | f(82E0003C): LDR R2, SP, 3CH |
1434 | f(42230003): ROR R2, R2, 3H |
1435 | f(E8000002): BPL 2 [1438H] |
1436 | f(42000001): MOV R2, R0, 1H |
1437 | f(E7000001): B 1 [1439H] |
1438 | f(42000000): MOV R2, R0, 0H |
1439 | g(F7FFFBEC): BL -1044 [1026H] |
| ELSIF 2h IN Keys THENi (*ML: set caret*) |
143A | h(E7000086): B 134 [14C1H] |
143B | i(80E00010): LDR R0, SP, 10H |
143C | i(40030003): ROR R0, R0, 3H |
143D | i(E8000083): BPL 131 [14C1H] |
| Oberon.PassFocus(Viewers.This(F.Xj,k F.Yl)m)n;o |
143E | j(80E00004): LDR R0, SP, 4H |
143F | j(D1726F4C): BLEQ MT [trap=4, pos=29295] |
1440 | k(80000008): LDR R0, R0, 8H |
1441 | l(81E00004): LDR R1, SP, 4H |
1442 | l(D172744C): BLEQ MT [trap=4, pos=29300] |
1443 | m(8110000C): LDR R1, R1, CH |
1444 | n .FIXUP P |
1444 | n(F7409039): BL MOD4 [Viewers] PROC9 |
1445 | o .FIXUP P |
1445 | o(F7825001): BL MOD8 [Oberon] PROC37 |
| TrackCaret(F,p X,q Y,r keysum)s;t |
1446 | p(80E00004): LDR R0, SP, 4H |
1447 | q(81E00008): LDR R1, SP, 8H |
1448 | r(82E0000C): LDR R2, SP, CH |
1449 | s(43E8003C): ADD R3, SP, 3CH |
144A | t(F7FFF3F4): BL -3084 [083FH] |
| IF keysum = {2, 1} THENu (*ML, MM: copy from selection to caret*) |
144B | u(80E0003C): LDR R0, SP, 3CH |
144C | u(40090006): SUB R0, R0, 6H |
144D | u(E9000054): BNE 84 [14A2H] |
| Oberon.GetSelection(text,v beg,w end,x time)y;z |
144E | v(40E80020): ADD R0, SP, 20H |
144F | w(41E8002C): ADD R1, SP, 2CH |
1450 | x(42E80030): ADD R2, SP, 30H |
1451 | y(43E80034): ADD R3, SP, 34H |
1452 | z .FIXUP P |
1452 | z(F782900D): BL MOD8 [Oberon] PROC41 |
| IF time >= 0 THENa |
1453 | a(80E00034): LDR R0, SP, 34H |
1454 | a(40090000): SUB R0, R0, 0H |
1455 | a(E500002D): BLT 45 [1483H] |
| NEW(TBuf);b Texts.OpenBuf(TBuf)c;d |
1456 | b .FIXUP D |
1456 | b(8D00003B): LDR SB, MT, MOD0 [TextFrames] |
1457 | b(40D80090): ADD R0, SB, 90H [data] |
1458 | b .FIXUP D |
1458 | b(8D600002): LDR SB, MT, MOD6 [Texts] |
1459 | b(41D80004): ADD R1, SB, VAR4 |
145A | b(D7734E0C): BL MT [trap=0, pos=29518] |
145B | c .FIXUP D |
145B | c(8D000003): LDR SB, MT, MOD0 [TextFrames] |
145C | c(80D00090): LDR R0, SB, 90H [data] |
145D | d .FIXUP P |
145D | d(F760A00B): BL MOD6 [Texts] PROC10 |
| Texts.Save(text,e beg,f end,g TBuf)h;i Texts.Insert(F.textj,k F.carlocl.pos,m TBuf)n;o |
145E | e(80E00020): LDR R0, SP, 20H |
145F | f(81E0002C): LDR R1, SP, 2CH |
1460 | g(82E00030): LDR R2, SP, 30H |
1461 | h .FIXUP D |
1461 | h(8D000006): LDR SB, MT, MOD0 [TextFrames] |
1462 | h(83D00090): LDR R3, SB, 90H [data] |
1463 | i .FIXUP P |
1463 | i(F760B006): BL MOD6 [Texts] PROC11 |
1464 | j(80E00004): LDR R0, SP, 4H |
1465 | j(D173A54C): BLEQ MT [trap=4, pos=29605] |
1466 | k(8000001C): LDR R0, R0, 1CH |
1467 | l(81E00004): LDR R1, SP, 4H |
1468 | l(D173AF4C): BLEQ MT [trap=4, pos=29615] |
1469 | m(8110004C): LDR R1, R1, 4CH |
146A | n .FIXUP D |
146A | n(8D000009): LDR SB, MT, MOD0 [TextFrames] |
146B | n(82D00090): LDR R2, SB, 90H [data] |
146C | o .FIXUP P |
146C | o(F760D009): BL MOD6 [Texts] PROC13 |
| SetSelection(F,p F.carlocq.pos,r F.carlocs.pos + (end - beg)t)u;v |
146D | p(80E00004): LDR R0, SP, 4H |
146E | q(81E00004): LDR R1, SP, 4H |
146F | q(D173E04C): BLEQ MT [trap=4, pos=29664] |
1470 | r(8110004C): LDR R1, R1, 4CH |
1471 | s(82E00004): LDR R2, SP, 4H |
1472 | s(D173EE4C): BLEQ MT [trap=4, pos=29678] |
1473 | t(83E00030): LDR R3, SP, 30H |
1474 | t(84E0002C): LDR R4, SP, 2CH |
1475 | t(03390004): SUB R3, R3, R4 |
1476 | u(8220004C): LDR R2, R2, 4CH |
1477 | u(02280003): ADD R2, R2, R3 |
1478 | v(F7FFF4B7): BL -2889 [0930H] |
| SetCaret(F,w F.carlocx.pos + (end - beg)y)z |
1479 | w(80E00004): LDR R0, SP, 4H |
147A | x(81E00004): LDR R1, SP, 4H |
147B | x(D174244C): BLEQ MT [trap=4, pos=29732] |
147C | y(82E00030): LDR R2, SP, 30H |
147D | y(83E0002C): LDR R3, SP, 2CH |
147E | y(02290003): SUB R2, R2, R3 |
147F | z(8110004C): LDR R1, R1, 4CH |
1480 | z(01180002): ADD R1, R1, R2 |
| ELSIFa TBufb # NIL THENc |
1481 | a(F7FFF3A8): BL -3160 [082AH] |
1482 | b(E700001E): B 30 [14A1H] |
1483 | c .FIXUP D |
1483 | c(8D000019): LDR SB, MT, MOD0 [TextFrames] |
1484 | c(80D00090): LDR R0, SB, 90H [data] |
1485 | c(E100001B): BEQ 27 [14A1H] |
| NEW(buf);d Texts.OpenBuf(buf)e;f |
1486 | d(40E80024): ADD R0, SP, 24H |
1487 | d .FIXUP D |
1487 | d(8D600004): LDR SB, MT, MOD6 [Texts] |
1488 | d(41D80004): ADD R1, SB, VAR4 |
1489 | d(D7746D0C): BL MT [trap=0, pos=29805] |
148A | e(80E00024): LDR R0, SP, 24H |
148B | f .FIXUP P |
148B | f(F760A01F): BL MOD6 [Texts] PROC10 |
| Texts.Copy(TBuf,g buf)h;i Texts.Insert(F.textj,k F.carlocl.pos,m buf)n;o |
148C | g .FIXUP D |
148C | g(8D000005): LDR SB, MT, MOD0 [TextFrames] |
148D | g(80D00090): LDR R0, SB, 90H [data] |
148E | h(81E00024): LDR R1, SP, 24H |
148F | i .FIXUP P |
148F | i(F760C004): BL MOD6 [Texts] PROC12 |
1490 | j(80E00004): LDR R0, SP, 4H |
1491 | j(D174B84C): BLEQ MT [trap=4, pos=29880] |
1492 | k(8000001C): LDR R0, R0, 1CH |
1493 | l(81E00004): LDR R1, SP, 4H |
1494 | l(D174C24C): BLEQ MT [trap=4, pos=29890] |
1495 | m(8110004C): LDR R1, R1, 4CH |
1496 | n(82E00024): LDR R2, SP, 24H |
1497 | o .FIXUP P |
1497 | o(F760D008): BL MOD6 [Texts] PROC13 |
| SetCaret(F,p F.carlocq.pos + buf.lenr)s |
1498 | p(80E00004): LDR R0, SP, 4H |
1499 | q(81E00004): LDR R1, SP, 4H |
149A | q(D174EE4C): BLEQ MT [trap=4, pos=29934] |
149B | r(82E00024): LDR R2, SP, 24H |
149C | r(D174FC4C): BLEQ MT [trap=4, pos=29948] |
149D | s(8110004C): LDR R1, R1, 4CH |
149E | s(82200000): LDR R2, R2, 0H |
149F | s(01180002): ADD R1, R1, R2 |
| ENDt |
14A0 | t(F7FFF389): BL -3191 [082AH] |
| ELSIF keysumu = {2, 0} THENv (*ML, MR: copy looks*) |
14A1 | u(E700001F): B 31 [14C1H] |
14A2 | v(80E0003C): LDR R0, SP, 3CH |
14A3 | v(40090005): SUB R0, R0, 5H |
14A4 | v(E900001C): BNE 28 [14C1H] |
| Oberon.GetSelection(text,w beg,x end,y time)z;a |
14A5 | w(40E80020): ADD R0, SP, 20H |
14A6 | x(41E8002C): ADD R1, SP, 2CH |
14A7 | y(42E80030): ADD R2, SP, 30H |
14A8 | z(43E80034): ADD R3, SP, 34H |
14A9 | a .FIXUP P |
14A9 | a(F7829012): BL MOD8 [Oberon] PROC41 |
| IF time >= 0 THENb |
14AA | b(80E00034): LDR R0, SP, 34H |
14AB | b(40090000): SUB R0, R0, 0H |
14AC | b(E5000014): BLT 20 [14C1H] |
| Texts.Attributes(F.textc,d F.carloce.pos,f fnt,g col,h voff)i;j |
14AD | c(80E00004): LDR R0, SP, 4H |
14AE | c(D175BA4C): BLEQ MT [trap=4, pos=30138] |
14AF | d(8000001C): LDR R0, R0, 1CH |
14B0 | e(81E00004): LDR R1, SP, 4H |
14B1 | e(D175C44C): BLEQ MT [trap=4, pos=30148] |
14B2 | f(8110004C): LDR R1, R1, 4CH |
14B3 | g(42E80040): ADD R2, SP, 40H |
14B4 | h(43E80044): ADD R3, SP, 44H |
14B5 | i(44E80048): ADD R4, SP, 48H |
14B6 | j .FIXUP P |
14B6 | j(F761100D): BL MOD6 [Texts] PROC17 |
| IF fnt # NIL THENk Texts.ChangeLooks(text,l beg,m end,n {0,1,2},o fnt,p col,q voff)r ENDs |
14B7 | k(80E00040): LDR R0, SP, 40H |
14B8 | k(E1000008): BEQ 8 [14C1H] |
14B9 | l(80E00020): LDR R0, SP, 20H |
14BA | m(81E0002C): LDR R1, SP, 2CH |
14BB | n(82E00030): LDR R2, SP, 30H |
14BC | o(43000007): MOV R3, R0, 7H |
14BD | p(84E00040): LDR R4, SP, 40H |
14BE | q(85E00044): LDR R5, SP, 44H |
14BF | r(86E00048): LDR R6, SP, 48H |
14C0 | s .FIXUP P |
14C0 | s(F761000A): BL MOD6 [Texts] PROC16 |
| END |
| END |
| END |
| END |
| ENDt Edit; |
14C1 | t(8FE00000): LDR LNK, SP, 0H |
14C2 | t(4EE8004C): ADD SP, SP, 4CH |
14C3 | t(C700000F): B LNK |
| |
| PROCEDURE Handle* (F: Display.Frame; VAR M: Display.FrameMsg); |
| VAR F1: Frame; buf: Texts.Buffer; |
| BEGINu |
14C4 | u .PROC 42 |
14C4 | u(4EE90018): SUB SP, SP, 18H |
14C5 | u(AFE00000): STR LNK, SP, 0H |
14C6 | u(A0E00004): STR R0, SP, 4H |
14C7 | u(A1E00008): STR R1, SP, 8H |
14C8 | u(A2E0000C): STR R2, SP, CH |
| CASE F OF Frame:v |
14C9 | v(80E00004): LDR R0, SP, 4H |
14CA | v(E1000005): BEQ 5 [14D0H] |
14CB | v(810FFFF8): LDR R1, R0, FFFFFFF8H |
14CC | v(81100004): LDR R1, R1, 4H |
14CD | v .FIXUP D |
14CD | v(8D000041): LDR SB, MT, MOD0 [TextFrames] |
14CE | v(42D80030): ADD R2, SB, 30H [data] |
14CF | v(02290001): SUB R2, R2, R1 |
14D0 | v(E9000086): BNE 134 [1557H] |
| CASE M OF |
| Oberon.InputMsg:w |
14D1 | w(80E0000C): LDR R0, SP, CH |
14D2 | w(80000004): LDR R0, R0, 4H |
14D3 | w .FIXUP D |
14D3 | w(8D800006): LDR SB, MT, MOD8 [Oberon] |
14D4 | w(41D80003): ADD R1, SB, VAR3 |
14D5 | w(01190000): SUB R1, R1, R0 |
14D6 | w(E900001F): BNE 31 [14F6H] |
| IF M.id = Oberon.track THENx Edit(F,y M.X,z M.Y,a M.keys)b |
14D7 | x(80E00008): LDR R0, SP, 8H |
14D8 | x(80000000): LDR R0, R0, 0H |
14D9 | x(40090001): SUB R0, R0, 1H |
14DA | x(E9000009): BNE 9 [14E4H] |
14DB | y(80E00004): LDR R0, SP, 4H |
14DC | z(81E00008): LDR R1, SP, 8H |
14DD | z(81100008): LDR R1, R1, 8H |
14DE | a(82E00008): LDR R2, SP, 8H |
14DF | a(8220000C): LDR R2, R2, CH |
14E0 | b(83E00008): LDR R3, SP, 8H |
14E1 | b(83300004): LDR R3, R3, 4H |
| ELSIFc Md.id = Oberon.consume THENe |
14E2 | c(F7FFFE35): BL -459 [1318H] |
14E3 | d(E7000011): B 17 [14F5H] |
14E4 | e(80E00008): LDR R0, SP, 8H |
14E5 | e(80000000): LDR R0, R0, 0H |
14E6 | e(E900000E): BNE 14 [14F5H] |
| IF F.hasCarf THENg Write(F,h M.ch,i M.fnt,j M.col,k M.voff)l ENDm |
14E7 | f(80E00004): LDR R0, SP, 4H |
14E8 | f(D177984C): BLEQ MT [trap=4, pos=30616] |
14E9 | g(90000044): LDR R0, R0, 44H |
14EA | g(E100000A): BEQ 10 [14F5H] |
14EB | h(80E00004): LDR R0, SP, 4H |
14EC | i(81E00008): LDR R1, SP, 8H |
14ED | i(91100010): LDR R1, R1, 10H |
14EE | j(82E00008): LDR R2, SP, 8H |
14EF | j(82200014): LDR R2, R2, 14H |
14F0 | k(83E00008): LDR R3, SP, 8H |
14F1 | k(83300018): LDR R3, R3, 18H |
14F2 | l(84E00008): LDR R4, SP, 8H |
14F3 | l(8440001C): LDR R4, R4, 1CH |
14F4 | m(F7FFFBCA): BL -1078 [10BFH] |
| END | |
| Oberonn.ControlMsg:o |
14F5 | n(E7000061): B 97 [1557H] |
14F6 | o(80E0000C): LDR R0, SP, CH |
14F7 | o(80000004): LDR R0, R0, 4H |
14F8 | o .FIXUP D |
14F8 | o(8D800025): LDR SB, MT, MOD8 [Oberon] |
14F9 | o(41D80005): ADD R1, SB, VAR5 |
14FA | o(01190000): SUB R1, R1, R0 |
14FB | o(E900000D): BNE 13 [1509H] |
| IF M.id = Oberon.defocus THENp Defocus(F)q |
14FC | p(80E00008): LDR R0, SP, 8H |
14FD | p(80000000): LDR R0, R0, 0H |
14FE | p(E9000003): BNE 3 [1502H] |
14FF | q(80E00004): LDR R0, SP, 4H |
| ELSIFr Ms.id = Oberon.neutralize THENt Neutralize(F)u |
1500 | r(F7FFFC67): BL -921 [1168H] |
1501 | s(E7000006): B 6 [1508H] |
1502 | t(80E00008): LDR R0, SP, 8H |
1503 | t(80000000): LDR R0, R0, 0H |
1504 | t(40090001): SUB R0, R0, 1H |
1505 | t(E9000002): BNE 2 [1508H] |
1506 | u(80E00004): LDR R0, SP, 4H |
| ENDv | |
1507 | v(F7FFFC68): BL -920 [1170H] |
| Oberonw.SelectionMsg:x |
1508 | w(E700004E): B 78 [1557H] |
1509 | x(80E0000C): LDR R0, SP, CH |
150A | x(80000004): LDR R0, R0, 4H |
150B | x .FIXUP D |
150B | x(8D800013): LDR SB, MT, MOD8 [Oberon] |
150C | x(41D80004): ADD R1, SB, VAR4 |
150D | x(01190000): SUB R1, R1, R0 |
150E | x(E900000A): BNE 10 [1519H] |
| GetSelection(F,y M.text,z M.beg,a M.end,b M.time)c |d |
150F | y(80E00004): LDR R0, SP, 4H |
1510 | z(81E00008): LDR R1, SP, 8H |
1511 | z(41180004): ADD R1, R1, 4H |
1512 | a(82E00008): LDR R2, SP, 8H |
1513 | a(42280008): ADD R2, R2, 8H |
1514 | b(83E00008): LDR R3, SP, 8H |
1515 | b(4338000C): ADD R3, R3, CH |
1516 | c(84E00008): LDR R4, SP, 8H |
1517 | d(F7FFFD72): BL -654 [128AH] |
| Oberone.CopyMsg:f Copy(F,g F1)h;i M.F := F1 |j |
1518 | e(E700003E): B 62 [1557H] |
1519 | f(80E0000C): LDR R0, SP, CH |
151A | f(80000004): LDR R0, R0, 4H |
151B | f .FIXUP D |
151B | f(8D800010): LDR SB, MT, MOD8 [Oberon] |
151C | f(41D80006): ADD R1, SB, VAR6 |
151D | f(01190000): SUB R1, R1, R0 |
151E | f(E9000007): BNE 7 [1526H] |
151F | g(80E00004): LDR R0, SP, 4H |
1520 | h(41E80010): ADD R1, SP, 10H |
1521 | i(F7FFFD16): BL -746 [1238H] |
1522 | j(80E00010): LDR R0, SP, 10H |
1523 | j(81E00008): LDR R1, SP, 8H |
1524 | j(A0100000): STR R0, R1, 0H |
| MenuViewersk.ModifyMsg:l Modify(F,m M.id,n M.dY,o M.Y,p M.H)q |r |
1525 | k(E7000031): B 49 [1557H] |
1526 | l(80E0000C): LDR R0, SP, CH |
1527 | l(80000004): LDR R0, R0, 4H |
1528 | l .FIXUP D |
1528 | l(8D90000D): LDR SB, MT, MOD9 [MenuViewers] |
1529 | l(41D80002): ADD R1, SB, VAR2 |
152A | l(01190000): SUB R1, R1, R0 |
152B | l(E900000B): BNE 11 [1537H] |
152C | m(80E00004): LDR R0, SP, 4H |
152D | n(81E00008): LDR R1, SP, 8H |
152E | n(81100000): LDR R1, R1, 0H |
152F | o(82E00008): LDR R2, SP, 8H |
1530 | o(82200004): LDR R2, R2, 4H |
1531 | p(83E00008): LDR R3, SP, 8H |
1532 | p(83300008): LDR R3, R3, 8H |
1533 | q(84E00008): LDR R4, SP, 8H |
1534 | q(8440000C): LDR R4, R4, CH |
1535 | r(F7FFFC42): BL -958 [1178H] |
| CopyOverMsgs:t CopyOver(F,u M.text,v M.beg,w M.end)x |y |
1536 | s(E7000020): B 32 [1557H] |
1537 | t(80E0000C): LDR R0, SP, CH |
1538 | t(80000004): LDR R0, R0, 4H |
1539 | t .FIXUP D |
1539 | t(8D000011): LDR SB, MT, MOD0 [TextFrames] |
153A | t(41D80078): ADD R1, SB, 78H [data] |
153B | t(01190000): SUB R1, R1, R0 |
153C | t(E9000009): BNE 9 [1546H] |
153D | u(80E00004): LDR R0, SP, 4H |
153E | v(81E00008): LDR R1, SP, 8H |
153F | v(81100000): LDR R1, R1, 0H |
1540 | w(82E00008): LDR R2, SP, 8H |
1541 | w(82200004): LDR R2, R2, 4H |
1542 | x(83E00008): LDR R3, SP, 8H |
1543 | x(83300008): LDR R3, R3, 8H |
1544 | y(F7FFFD1C): BL -740 [1261H] |
| UpdateMsgz:a IF F.textb = M.text THENc Update(F,d M)e ENDf |
1545 | z(E7000011): B 17 [1557H] |
1546 | a(80E0000C): LDR R0, SP, CH |
1547 | a(80000004): LDR R0, R0, 4H |
1548 | a .FIXUP D |
1548 | a(8D00000F): LDR SB, MT, MOD0 [TextFrames] |
1549 | a(41D80060): ADD R1, SB, 60H [data] |
154A | a(01190000): SUB R1, R1, R0 |
154B | a(E900000B): BNE 11 [1557H] |
154C | b(80E00004): LDR R0, SP, 4H |
154D | b(D179794C): BLEQ MT [trap=4, pos=31097] |
154E | c(8000001C): LDR R0, R0, 1CH |
154F | c(81E00008): LDR R1, SP, 8H |
1550 | c(81100004): LDR R1, R1, 4H |
1551 | c(00090001): SUB R0, R0, R1 |
1552 | c(E9000004): BNE 4 [1557H] |
1553 | d(80E00004): LDR R0, SP, 4H |
1554 | e(81E00008): LDR R1, SP, 8H |
1555 | e(82E0000C): LDR R2, SP, CH |
1556 | f(F7FFFD81): BL -639 [12D8H] |
| END |
| END |
| ENDg Handle; |
1557 | g(8FE00000): LDR LNK, SP, 0H |
1558 | g(4EE80018): ADD SP, SP, 18H |
1559 | g(C700000F): B LNK |
| |
| (*creation*) |
| |
| PROCEDURE Menu (name, commands: ARRAY OF CHAR): Texts.Text; |
| VAR T: Texts.Text; |
| BEGINh NEW(T);i T.notifyj := NotifyDisplay;k Texts.Open(T,l "")m;n |
155A | h(4EE90018): SUB SP, SP, 18H |
155B | h(AFE00000): STR LNK, SP, 0H |
155C | h(A0E00004): STR R0, SP, 4H |
155D | h(A1E00008): STR R1, SP, 8H |
155E | h(A2E0000C): STR R2, SP, CH |
155F | h(A3E00010): STR R3, SP, 10H |
1560 | i(40E80014): ADD R0, SP, 14H |
1561 | i .FIXUP D |
1561 | i(8D600019): LDR SB, MT, MOD6 [Texts] |
1562 | i(41D80001): ADD R1, SB, VAR1 |
1563 | i(D77A2E0C): BL MT [trap=0, pos=31278] |
1564 | j(80E00014): LDR R0, SP, 14H |
1565 | j(D17A374C): BLEQ MT [trap=4, pos=31287] |
1566 | k(F7000000): BL 0 [1567H] |
1567 | k(41F91558): SUB R1, LNK, 1558H |
1568 | k(A1000008): STR R1, R0, 8H |
1569 | l(80E00014): LDR R0, SP, 14H |
156A | m .FIXUP D |
156A | m(8D000009): LDR SB, MT, MOD0 [TextFrames] |
156B | m(41D801B0): ADD R1, SB, 1B0H [""] |
156C | m(42000001): MOV R2, R0, 1H |
156D | n .FIXUP P |
156D | n(F76070AD): BL MOD6 [Texts] PROC7 |
| Texts.WriteString(W,o name)p;q Texts.WriteString(W,r " | ")s;t Texts.WriteString(W,u commands)v;w |
156E | o .FIXUP D |
156E | o(8D000004): LDR SB, MT, MOD0 [TextFrames] |
156F | o(40D800D4): ADD R0, SB, D4H [data] |
1570 | o .FIXUP D |
1570 | o(8D600002): LDR SB, MT, MOD6 [Texts] |
1571 | o(41D80005): ADD R1, SB, VAR5 |
1572 | p(82E00004): LDR R2, SP, 4H |
1573 | p(83E00008): LDR R3, SP, 8H |
1574 | q .FIXUP P |
1574 | q(F761D007): BL MOD6 [Texts] PROC29 |
1575 | r .FIXUP D |
1575 | r(8D000005): LDR SB, MT, MOD0 [TextFrames] |
1576 | r(40D800D4): ADD R0, SB, D4H [data] |
1577 | r .FIXUP D |
1577 | r(8D600002): LDR SB, MT, MOD6 [Texts] |
1578 | r(41D80005): ADD R1, SB, VAR5 |
1579 | s .FIXUP D |
1579 | s(8D000002): LDR SB, MT, MOD0 [TextFrames] |
157A | s(42D801B4): ADD R2, SB, 1B4H [" | "] |
157B | s(43000004): MOV R3, R0, 4H |
157C | t .FIXUP P |
157C | t(F761D008): BL MOD6 [Texts] PROC29 |
157D | u .FIXUP D |
157D | u(8D000004): LDR SB, MT, MOD0 [TextFrames] |
157E | u(40D800D4): ADD R0, SB, D4H [data] |
157F | u .FIXUP D |
157F | u(8D600002): LDR SB, MT, MOD6 [Texts] |
1580 | u(41D80005): ADD R1, SB, VAR5 |
1581 | v(82E0000C): LDR R2, SP, CH |
1582 | v(83E00010): LDR R3, SP, 10H |
1583 | w .FIXUP P |
1583 | w(F761D007): BL MOD6 [Texts] PROC29 |
| Texts.Append(T,x W.buf)y;z RETURN T |
1584 | x(80E00014): LDR R0, SP, 14H |
1585 | y .FIXUP D |
1585 | y(8D000006): LDR SB, MT, MOD0 [TextFrames] |
1586 | y(81D000D4): LDR R1, SB, D4H [data] |
1587 | z .FIXUP P |
1587 | z(F760E004): BL MOD6 [Texts] PROC14 |
| ENDa Menu; |
1588 | a(80E00014): LDR R0, SP, 14H |
1589 | a(8FE00000): LDR LNK, SP, 0H |
158A | a(4EE80018): ADD SP, SP, 18H |
158B | a(C700000F): B LNK |
| |
| PROCEDURE Text* (name: ARRAY OF CHAR): Texts.Text; |
| VAR T: Texts.Text; |
| BEGINb NEW(T);c T.notifyd := NotifyDisplay;e Texts.Open(T,f name)g;h RETURN T |
158C | b .PROC 43 |
158C | b(4EE90010): SUB SP, SP, 10H |
158D | b(AFE00000): STR LNK, SP, 0H |
158E | b(A0E00004): STR R0, SP, 4H |
158F | b(A1E00008): STR R1, SP, 8H |
1590 | c(40E8000C): ADD R0, SP, CH |
1591 | c .FIXUP D |
1591 | c(8D60000C): LDR SB, MT, MOD6 [Texts] |
1592 | c(41D80001): ADD R1, SB, VAR1 |
1593 | c(D77B490C): BL MT [trap=0, pos=31561] |
1594 | d(80E0000C): LDR R0, SP, CH |
1595 | d(D17B524C): BLEQ MT [trap=4, pos=31570] |
1596 | e(F7000000): BL 0 [1597H] |
1597 | e(41F91618): SUB R1, LNK, 1618H |
1598 | e(A1000008): STR R1, R0, 8H |
1599 | f(80E0000C): LDR R0, SP, CH |
159A | g(81E00004): LDR R1, SP, 4H |
159B | g(82E00008): LDR R2, SP, 8H |
159C | h .FIXUP P |
159C | h(F7607015): BL MOD6 [Texts] PROC7 |
| ENDi Text; |
159D | i(80E0000C): LDR R0, SP, CH |
159E | i(8FE00000): LDR LNK, SP, 0H |
159F | i(4EE80010): ADD SP, SP, 10H |
15A0 | i(C700000F): B LNK |
| |
| PROCEDURE NewMenu* (name, commands: ARRAY OF CHAR): Frame; |
| VAR F: Frame; T: Texts.Text; |
| BEGINj NEW(F);k T := Menu(name,l commands)m;n |
15A1 | j .PROC 44 |
15A1 | j(4EE9001C): SUB SP, SP, 1CH |
15A2 | j(AFE00000): STR LNK, SP, 0H |
15A3 | j(A0E00004): STR R0, SP, 4H |
15A4 | j(A1E00008): STR R1, SP, 8H |
15A5 | j(A2E0000C): STR R2, SP, CH |
15A6 | j(A3E00010): STR R3, SP, 10H |
15A7 | k(40E80014): ADD R0, SP, 14H |
15A8 | k .FIXUP D |
15A8 | k(8D000017): LDR SB, MT, MOD0 [TextFrames] |
15A9 | k(41D80030): ADD R1, SB, 30H [data] |
15AA | k(D77BFD0C): BL MT [trap=0, pos=31741] |
15AB | l(80E00004): LDR R0, SP, 4H |
15AC | l(81E00008): LDR R1, SP, 8H |
15AD | m(82E0000C): LDR R2, SP, CH |
15AE | m(83E00010): LDR R3, SP, 10H |
15AF | n(F7FFFFAA): BL -86 [155AH] |
15B0 | n(A0E00018): STR R0, SP, 18H |
| Open(F,o Handle,p T,q 0,r Display.white,s left DIV 4,t 0,u 0,v 0,w lsp)x;y RETURN F |
15B1 | o(80E00014): LDR R0, SP, 14H |
15B2 | p(F7000000): BL 0 [15B3H] |
15B3 | p(41F903BC): SUB R1, LNK, 3BCH |
15B4 | q(82E00018): LDR R2, SP, 18H |
15B5 | r(43000000): MOV R3, R0, 0H |
15B6 | s(44000001): MOV R4, R0, 1H |
15B7 | t .FIXUP D |
15B7 | t(8D00000F): LDR SB, MT, MOD0 [TextFrames] |
15B8 | t(85D000A0): LDR R5, SB, A0H [data] |
15B9 | t(45520002): ASR R5, R5, 2H |
15BA | u(46000000): MOV R6, R0, 0H |
15BB | v(47000000): MOV R7, R0, 0H |
15BC | w(48000000): MOV R8, R0, 0H |
15BD | x(89D000B0): LDR R9, SB, B0H |
15BE | y(F7FFFC22): BL -990 [11E1H] |
| ENDz NewMenu; |
15BF | z(80E00014): LDR R0, SP, 14H |
15C0 | z(8FE00000): LDR LNK, SP, 0H |
15C1 | z(4EE8001C): ADD SP, SP, 1CH |
15C2 | z(C700000F): B LNK |
| |
| PROCEDURE NewText* (text: Texts.Text; pos: LONGINT): Frame; |
| VAR F: Frame; |
| BEGINa NEW(F);b |
15C3 | a .PROC 45 |
15C3 | a(4EE90010): SUB SP, SP, 10H |
15C4 | a(AFE00000): STR LNK, SP, 0H |
15C5 | a(A0E00004): STR R0, SP, 4H |
15C6 | a(A1E00008): STR R1, SP, 8H |
15C7 | b(40E8000C): ADD R0, SP, CH |
15C8 | b .FIXUP D |
15C8 | b(8D000011): LDR SB, MT, MOD0 [TextFrames] |
15C9 | b(41D80030): ADD R1, SB, 30H [data] |
15CA | b(D77CD50C): BL MT [trap=0, pos=31957] |
| Open(F,c Handle,d text,e pos,f Display.black,g left,h right,i top,j bot,k lsp)l;m RETURN F |
15CB | c(80E0000C): LDR R0, SP, CH |
15CC | d(F7000000): BL 0 [15CDH] |
15CD | d(41F90424): SUB R1, LNK, 424H |
15CE | e(82E00004): LDR R2, SP, 4H |
15CF | f(83E00008): LDR R3, SP, 8H |
15D0 | g(44000000): MOV R4, R0, 0H |
15D1 | h .FIXUP D |
15D1 | h(8D000009): LDR SB, MT, MOD0 [TextFrames] |
15D2 | h(85D000A0): LDR R5, SB, A0H [data] |
15D3 | i(86D000A4): LDR R6, SB, A4H |
15D4 | j(87D000A8): LDR R7, SB, A8H |
15D5 | k(88D000AC): LDR R8, SB, ACH |
15D6 | l(89D000B0): LDR R9, SB, B0H |
15D7 | m(F7FFFC09): BL -1015 [11E1H] |
| ENDn NewText; |
15D8 | n(80E0000C): LDR R0, SP, CH |
15D9 | n(8FE00000): LDR LNK, SP, 0H |
15DA | n(4EE80010): ADD SP, SP, 10H |
15DB | n(C700000F): B LNK |
| |
| BEGINo NEW(TBuf);p NEW(DelBuf);q |
15DC | o .PROC 0 |
15DC | o .ENTRYPOINT |
15DC | o(4EE90004): SUB SP, SP, 4H |
15DD | o(AFE00000): STR LNK, SP, 0H |
15DE | p .FIXUP D |
15DE | p(8D00000D): LDR SB, MT, MOD0 [TextFrames] |
15DF | p(40D80090): ADD R0, SB, 90H [data] |
15E0 | p .FIXUP D |
15E0 | p(8D600002): LDR SB, MT, MOD6 [Texts] |
15E1 | p(41D80004): ADD R1, SB, VAR4 |
15E2 | p(D77D4A0C): BL MT [trap=0, pos=32074] |
15E3 | q .FIXUP D |
15E3 | q(8D000003): LDR SB, MT, MOD0 [TextFrames] |
15E4 | q(40D80094): ADD R0, SB, 94H [data] |
15E5 | q .FIXUP D |
15E5 | q(8D600002): LDR SB, MT, MOD6 [Texts] |
15E6 | q(41D80004): ADD R1, SB, VAR4 |
15E7 | q(D77D570C): BL MT [trap=0, pos=32087] |
| Texts.OpenBuf(TBuf)r;s Texts.OpenBuf(DelBuf)t;u |
15E8 | r .FIXUP D |
15E8 | r(8D000003): LDR SB, MT, MOD0 [TextFrames] |
15E9 | r(80D00090): LDR R0, SB, 90H [data] |
15EA | s .FIXUP P |
15EA | s(F760A04E): BL MOD6 [Texts] PROC10 |
15EB | t .FIXUP D |
15EB | t(8D000003): LDR SB, MT, MOD0 [TextFrames] |
15EC | t(80D00094): LDR R0, SB, 94H [data] |
15ED | u .FIXUP P |
15ED | u(F760A003): BL MOD6 [Texts] PROC10 |
| lsp := Fonts.Default.heightv;w menuH := lsp + 2;x barW := menuH;y |
15EE | v .FIXUP D |
15EE | v(8D500003): LDR SB, MT, MOD5 [Fonts] |
15EF | v(80D00002): LDR R0, SB, VAR2 |
15F0 | v(D17DA34C): BLEQ MT [trap=4, pos=32163] |
15F1 | w(80000020): LDR R0, R0, 20H |
15F2 | w .FIXUP D |
15F2 | w(8D000004): LDR SB, MT, MOD0 [TextFrames] |
15F3 | w(A0D000B0): STR R0, SB, B0H [data] |
15F4 | x(80D000B0): LDR R0, SB, B0H |
15F5 | x(40080002): ADD R0, R0, 2H |
15F6 | x(A0D00098): STR R0, SB, 98H |
15F7 | y(80D00098): LDR R0, SB, 98H |
15F8 | y(A0D0009C): STR R0, SB, 9CH |
| left := barW + lsp DIV 2;z |
15F9 | z(80D000B0): LDR R0, SB, B0H |
15FA | z(40020001): ASR R0, R0, 1H |
15FB | z(81D0009C): LDR R1, SB, 9CH |
15FC | z(00180000): ADD R0, R1, R0 |
15FD | z(A0D000A0): STR R0, SB, A0H |
| right := lsp DIV 2;a |
15FE | a(80D000B0): LDR R0, SB, B0H |
15FF | a(40020001): ASR R0, R0, 1H |
1600 | a(A0D000A4): STR R0, SB, A4H |
| top := lsp DIV 2;b bot := lsp DIV 2;c |
1601 | b(80D000B0): LDR R0, SB, B0H |
1602 | b(40020001): ASR R0, R0, 1H |
1603 | b(A0D000A8): STR R0, SB, A8H |
1604 | c(80D000B0): LDR R0, SB, B0H |
1605 | c(40020001): ASR R0, R0, 1H |
1606 | c(A0D000AC): STR R0, SB, ACH |
| asr := Fonts.Default.maxYd;e |
1607 | d .FIXUP D |
1607 | d(8D500015): LDR SB, MT, MOD5 [Fonts] |
1608 | d(80D00002): LDR R0, SB, VAR2 |
1609 | d(D17E394C): BLEQ MT [trap=4, pos=32313] |
160A | e(80000030): LDR R0, R0, 30H |
160B | e .FIXUP D |
160B | e(8D000004): LDR SB, MT, MOD0 [TextFrames] |
160C | e(A0D000B4): STR R0, SB, B4H [data] |
| dsr := -Fonts.Default.minYf;g |
160D | f .FIXUP D |
160D | f(8D500002): LDR SB, MT, MOD5 [Fonts] |
160E | f(80D00002): LDR R0, SB, VAR2 |
160F | f(D17E574C): BLEQ MT [trap=4, pos=32343] |
1610 | g(8000002C): LDR R0, R0, 2CH |
1611 | g(41000000): MOV R1, R0, 0H |
1612 | g(00190000): SUB R0, R1, R0 |
1613 | g .FIXUP D |
1613 | g(8D000006): LDR SB, MT, MOD0 [TextFrames] |
1614 | g(A0D000B8): STR R0, SB, B8H [data] |
| selH := lsp;h markW := lsp DIV 2;i |
1615 | h(80D000B0): LDR R0, SB, B0H |
1616 | h(A0D000BC): STR R0, SB, BCH |
1617 | i(80D000B0): LDR R0, SB, B0H |
1618 | i(40020001): ASR R0, R0, 1H |
1619 | i(A0D000C0): STR R0, SB, C0H |
| eolW := lsp DIV 2;j |
161A | j(80D000B0): LDR R0, SB, B0H |
161B | j(40020001): ASR R0, R0, 1H |
161C | j(A0D000C4): STR R0, SB, C4H |
| ScrollMarker.Fade := FlipSM;k ScrollMarker.Draw := FlipSM;l |
161D | k(F7000000): BL 0 [161EH] |
161E | k(40F9575C): SUB R0, LNK, 575CH |
161F | k(A0D000CC): STR R0, SB, CCH |
1620 | l(F7000000): BL 0 [1621H] |
1621 | l(40F95768): SUB R0, LNK, 5768H |
1622 | l(A0D000D0): STR R0, SB, D0H |
| Texts.OpenWriter(W)m;n Texts.OpenWriter(KW)o |
1623 | m(40D800D4): ADD R0, SB, D4H |
1624 | m .FIXUP D |
1624 | m(8D600011): LDR SB, MT, MOD6 [Texts] |
1625 | m(41D80005): ADD R1, SB, VAR5 |
1626 | n .FIXUP P |
1626 | n(F7617039): BL MOD6 [Texts] PROC23 |
1627 | o .FIXUP D |
1627 | o(8D000003): LDR SB, MT, MOD0 [TextFrames] |
1628 | o(40D800FC): ADD R0, SB, FCH [data] |
1629 | o .FIXUP D |
1629 | o(8D600002): LDR SB, MT, MOD6 [Texts] |
162A | o(41D80005): ADD R1, SB, VAR5 |
| ENDp TextFrames.q |
162B | p .FIXUP P |
162B | p(F7617005): BL MOD6 [Texts] PROC23 |
162C | q(8FE00000): LDR LNK, SP, 0H |
162D | q(4EE80004): ADD SP, SP, 4H |
162E | q(C700000F): B LNK |