| MODULE Curves; (*NW 8.11.90 / 18.4.2013*) |
| | .MODULE Curves (KEY 9CE75735, VERSION 1, SIZE 00001BAC) |
| | .IMPORT Display (KEY 4C08D3EA) |
| | .IMPORT Files (KEY 73F5D686) |
| | .IMPORT Oberon (KEY A89CCEE2) |
| | .IMPORT Fonts (KEY F4C9F557) |
| | .IMPORT Texts (KEY 0B9E9984) |
| | .IMPORT Viewers (KEY 25ABF199) |
| | .IMPORT Graphics (KEY F7357DD9) |
| | .IMPORT Modules (KEY 41C6A19A) |
| | .IMPORT GraphicFrames (KEY 84ABBF86) |
| | .TYPEDESC 00000040 00000001 FFFFFFFF FFFFFFFF 00000014 00000018 FFFFFFFF |
| | .DATA 4H |
| | .STRING 20H "Curves" |
| | .STRING 28H "New" |
| | .POINTER_REFERENCES 1CH |
| | .FIXUP T 1H |
| IMPORT Display, Files, Oberon, Graphics, GraphicFrames; |
| |
| TYPE |
| Curve* = POINTER TO CurveDesc; |
| |
| CurveDesc* = RECORD (Graphics.ObjectDesc) |
| kind*, lw*: INTEGER |
| END ; |
| |
| (*kind: 0 = up-line, 1 = down-line, 2 = circle, 3 = ellipse*) |
| |
| VAR method*: Graphics.Method; |
| |
| PROCEDURE Dot(f: GraphicFrames.Frame; col, x, y: INTEGER); |
| BEGINa |
| 0000 | a .PROC 1 |
| 0000 | a(4EE90014): SUB SP, SP, 14H |
| 0001 | a(AFE00000): STR LNK, SP, 0H |
| 0002 | a(A0E00004): STR R0, SP, 4H |
| 0003 | a(A1E00008): STR R1, SP, 8H |
| 0004 | a(A2E0000C): STR R2, SP, CH |
| 0005 | a(A3E00010): STR R3, SP, 10H |
| IF (x >= f.Xb)c & (dx+7 <e f.X1f)g & (hy >= f.Yi)j & (kx+7 <l f.Y1m)n THENo Display.Dot(col,p x,q y,r Display.replace)s ENDt |
| 0006 | b(80E00004): LDR R0, SP, 4H |
| 0007 | b .PROC 2 |
| 0007 | b(D1019F4C): BLEQ MT [trap=4, pos=415] |
| 0008 | c(81E0000C): LDR R1, SP, CH |
| 0009 | c(80000008): LDR R0, R0, 8H |
| 000A | c(01190000): SUB R1, R1, R0 |
| 000B | d(E5000019): BLT 25 [0025H] |
| 000C | e(80E0000C): LDR R0, SP, CH |
| 000D | e(40080007): ADD R0, R0, 7H |
| 000E | f(81E00004): LDR R1, SP, 4H |
| 000F | f(D101AE4C): BLEQ MT [trap=4, pos=430] |
| 0010 | g(81100028): LDR R1, R1, 28H |
| 0011 | g(00090001): SUB R0, R0, R1 |
| 0012 | h(ED000012): BGE 18 [0025H] |
| 0013 | i(80E00004): LDR R0, SP, 4H |
| 0014 | i(D101BB4C): BLEQ MT [trap=4, pos=443] |
| 0015 | j(81E00010): LDR R1, SP, 10H |
| 0016 | j(8000000C): LDR R0, R0, CH |
| 0017 | j(01190000): SUB R1, R1, R0 |
| 0018 | k(E500000C): BLT 12 [0025H] |
| 0019 | l(80E0000C): LDR R0, SP, CH |
| 001A | l(40080007): ADD R0, R0, 7H |
| 001B | m(81E00004): LDR R1, SP, 4H |
| 001C | m(D101CA4C): BLEQ MT [trap=4, pos=458] |
| 001D | n(8110002C): LDR R1, R1, 2CH |
| 001E | n(00090001): SUB R0, R0, R1 |
| 001F | o(ED000005): BGE 5 [0025H] |
| 0020 | p(80E00008): LDR R0, SP, 8H |
| 0021 | q(81E0000C): LDR R1, SP, CH |
| 0022 | r(82E00010): LDR R2, SP, 10H |
| 0023 | s(43000000): MOV R3, R0, 0H |
| 0024 | t .FIXUP P |
| 0024 | t(F710E024): BL MOD1 [Display] PROC14 |
| ENDu Dot; |
| 0025 | u(8FE00000): LDR LNK, SP, 0H |
| 0026 | u(4EE80014): ADD SP, SP, 14H |
| 0027 | u(C700000F): B LNK |
| |
| PROCEDURE mark(f: GraphicFrames.Frame; col, x, y: INTEGER); |
| BEGINv DEC(x, 3);w DEC(y, 3);x |
| 0028 | v(4EE90014): SUB SP, SP, 14H |
| 0029 | v(AFE00000): STR LNK, SP, 0H |
| 002A | v(A0E00004): STR R0, SP, 4H |
| 002B | v(A1E00008): STR R1, SP, 8H |
| 002C | v(A2E0000C): STR R2, SP, CH |
| 002D | v(A3E00010): STR R3, SP, 10H |
| 002E | w(80E0000C): LDR R0, SP, CH |
| 002F | w(40090003): SUB R0, R0, 3H |
| 0030 | w(A0E0000C): STR R0, SP, CH |
| 0031 | x(80E00010): LDR R0, SP, 10H |
| 0032 | x(40090003): SUB R0, R0, 3H |
| 0033 | x(A0E00010): STR R0, SP, 10H |
| IF (x >= f.Xy)z & (ax+7 <b f.X1c)d & (ey >= f.Yf)g & (hy+7 <i f.Y1j)k THENl |
| 0034 | y(80E00004): LDR R0, SP, 4H |
| 0035 | y(D102754C): BLEQ MT [trap=4, pos=629] |
| 0036 | z(81E0000C): LDR R1, SP, CH |
| 0037 | z(80000008): LDR R0, R0, 8H |
| 0038 | z(01190000): SUB R1, R1, R0 |
| 0039 | a(E5000025): BLT 37 [005FH] |
| 003A | b(80E0000C): LDR R0, SP, CH |
| 003B | b(40080007): ADD R0, R0, 7H |
| 003C | c(81E00004): LDR R1, SP, 4H |
| 003D | c(D102844C): BLEQ MT [trap=4, pos=644] |
| 003E | d(81100028): LDR R1, R1, 28H |
| 003F | d(00090001): SUB R0, R0, R1 |
| 0040 | e(ED00001E): BGE 30 [005FH] |
| 0041 | f(80E00004): LDR R0, SP, 4H |
| 0042 | f(D102914C): BLEQ MT [trap=4, pos=657] |
| 0043 | g(81E00010): LDR R1, SP, 10H |
| 0044 | g(8000000C): LDR R0, R0, CH |
| 0045 | g(01190000): SUB R1, R1, R0 |
| 0046 | h(E5000018): BLT 24 [005FH] |
| 0047 | i(80E00010): LDR R0, SP, 10H |
| 0048 | i(40080007): ADD R0, R0, 7H |
| 0049 | j(81E00004): LDR R1, SP, 4H |
| 004A | j(D102A04C): BLEQ MT [trap=4, pos=672] |
| 004B | k(8110002C): LDR R1, R1, 2CH |
| 004C | k(00090001): SUB R0, R0, R1 |
| 004D | l(ED000011): BGE 17 [005FH] |
| IF col = Display.black THENm Display.ReplConst(Display.black,n x,o y,p 7,q 7,r Display.replace)s |
| 004E | m(80E00008): LDR R0, SP, 8H |
| 004F | m(E9000008): BNE 8 [0058H] |
| 0050 | n(40000000): MOV R0, R0, 0H |
| 0051 | o(81E0000C): LDR R1, SP, CH |
| 0052 | p(82E00010): LDR R2, SP, 10H |
| 0053 | q(43000007): MOV R3, R0, 7H |
| 0054 | r(44000007): MOV R4, R0, 7H |
| 0055 | s(45000000): MOV R5, R0, 0H |
| ELSEt Displayu.CopyPattern(col,v GraphicFrames.tack,w x,x y,y Display.replace)z |
| 0056 | t .FIXUP P |
| 0056 | t(F710F032): BL MOD1 [Display] PROC15 |
| 0057 | u(E7000007): B 7 [005FH] |
| 0058 | v(80E00008): LDR R0, SP, 8H |
| 0059 | w .FIXUP D |
| 0059 | w(8D900059): LDR SB, MT, MOD9 [GraphicFrames] |
| 005A | w(81D00005): LDR R1, SB, VAR5 |
| 005B | x(82E0000C): LDR R2, SP, CH |
| 005C | y(83E00010): LDR R3, SP, 10H |
| 005D | z(44000000): MOV R4, R0, 0H |
| ENDa |
| 005E | a .FIXUP P |
| 005E | a(F7110008): BL MOD1 [Display] PROC16 |
| END |
| ENDb mark; |
| 005F | b(8FE00000): LDR LNK, SP, 0H |
| 0060 | b(4EE80014): ADD SP, SP, 14H |
| 0061 | b(C700000F): B LNK |
| |
| PROCEDURE line(f: GraphicFrames.Frame; col: INTEGER; x, y, w, h, d: LONGINT); |
| VAR x1, y1, u: LONGINT; |
| BEGINc |
| 0062 | c(4EE9002C): SUB SP, SP, 2CH |
| 0063 | c(AFE00000): STR LNK, SP, 0H |
| 0064 | c(A0E00004): STR R0, SP, 4H |
| 0065 | c(A1E00008): STR R1, SP, 8H |
| 0066 | c(A2E0000C): STR R2, SP, CH |
| 0067 | c(A3E00010): STR R3, SP, 10H |
| 0068 | c(A4E00014): STR R4, SP, 14H |
| 0069 | c(A5E00018): STR R5, SP, 18H |
| 006A | c(A6E0001C): STR R6, SP, 1CH |
| IF h < w THENd |
| 006B | d(80E00018): LDR R0, SP, 18H |
| 006C | d(81E00014): LDR R1, SP, 14H |
| 006D | d(00090001): SUB R0, R0, R1 |
| 006E | d(ED000030): BGE 48 [009FH] |
| x1 := x+w;e u := (h-w)f DIV 2;g |
| 006F | e(80E0000C): LDR R0, SP, CH |
| 0070 | e(81E00014): LDR R1, SP, 14H |
| 0071 | e(00080001): ADD R0, R0, R1 |
| 0072 | e(A0E00020): STR R0, SP, 20H |
| 0073 | f(80E00018): LDR R0, SP, 18H |
| 0074 | f(81E00014): LDR R1, SP, 14H |
| 0075 | f(00090001): SUB R0, R0, R1 |
| 0076 | g(40020001): ASR R0, R0, 1H |
| 0077 | g(A0E00028): STR R0, SP, 28H |
| IF d = -1 THENh INC(y, h) ENDi ; |
| 0078 | h(80E0001C): LDR R0, SP, 1CH |
| 0079 | h(5009FFFF): SUB R0, R0, FFFFFFFFH |
| 007A | h(E9000004): BNE 4 [007FH] |
| 007B | i(80E00010): LDR R0, SP, 10H |
| 007C | i(81E00018): LDR R1, SP, 18H |
| 007D | i(00080001): ADD R0, R0, R1 |
| 007E | i(A0E00010): STR R0, SP, 10H |
| WHILE x < x1 DOj |
| 007F | j(80E0000C): LDR R0, SP, CH |
| 0080 | j(81E00020): LDR R1, SP, 20H |
| 0081 | j(00090001): SUB R0, R0, R1 |
| 0082 | j(ED00001B): BGE 27 [009EH] |
| Dot(f,k col,l x,m y)n;o INC(x);p |
| 0083 | k(80E00004): LDR R0, SP, 4H |
| 0084 | l(81E00008): LDR R1, SP, 8H |
| 0085 | m(82E0000C): LDR R2, SP, CH |
| 0086 | n(83E00010): LDR R3, SP, 10H |
| 0087 | o(F7FFFF78): BL -136 [0000H] |
| 0088 | p(80E0000C): LDR R0, SP, CH |
| 0089 | p(40080001): ADD R0, R0, 1H |
| 008A | p(A0E0000C): STR R0, SP, CH |
| IF u < 0 THENq INC(u, h) ELSEr INCs(u, h-w)t;u INC(y, d) ENDv |
| 008B | q(80E00028): LDR R0, SP, 28H |
| 008C | q(40090000): SUB R0, R0, 0H |
| 008D | q(ED000005): BGE 5 [0093H] |
| 008E | r(80E00028): LDR R0, SP, 28H |
| 008F | r(81E00018): LDR R1, SP, 18H |
| 0090 | r(00080001): ADD R0, R0, R1 |
| 0091 | r(A0E00028): STR R0, SP, 28H |
| 0092 | s(E700000A): B 10 [009DH] |
| 0093 | t(80E00018): LDR R0, SP, 18H |
| 0094 | t(81E00014): LDR R1, SP, 14H |
| 0095 | t(00090001): SUB R0, R0, R1 |
| 0096 | u(81E00028): LDR R1, SP, 28H |
| 0097 | u(01180000): ADD R1, R1, R0 |
| 0098 | u(A1E00028): STR R1, SP, 28H |
| 0099 | v(80E00010): LDR R0, SP, 10H |
| 009A | v(81E0001C): LDR R1, SP, 1CH |
| 009B | v(00080001): ADD R0, R0, R1 |
| 009C | v(A0E00010): STR R0, SP, 10H |
| ENDw |
| 009D | w(E7FFFFE1): B -31 [007FH] |
| ELSE y1x := y+h;y u := (w-h)z DIV 2;a |
| 009E | x(E700002F): B 47 [00CEH] |
| 009F | y(80E00010): LDR R0, SP, 10H |
| 00A0 | y(81E00018): LDR R1, SP, 18H |
| 00A1 | y(00080001): ADD R0, R0, R1 |
| 00A2 | y(A0E00024): STR R0, SP, 24H |
| 00A3 | z(80E00014): LDR R0, SP, 14H |
| 00A4 | z(81E00018): LDR R1, SP, 18H |
| 00A5 | z(00090001): SUB R0, R0, R1 |
| 00A6 | a(40020001): ASR R0, R0, 1H |
| 00A7 | a(A0E00028): STR R0, SP, 28H |
| IF d = -1 THENb INC(x, w) ENDc ; |
| 00A8 | b(80E0001C): LDR R0, SP, 1CH |
| 00A9 | b(5009FFFF): SUB R0, R0, FFFFFFFFH |
| 00AA | b(E9000004): BNE 4 [00AFH] |
| 00AB | c(80E0000C): LDR R0, SP, CH |
| 00AC | c(81E00014): LDR R1, SP, 14H |
| 00AD | c(00080001): ADD R0, R0, R1 |
| 00AE | c(A0E0000C): STR R0, SP, CH |
| WHILE y < y1 DOd |
| 00AF | d(80E00010): LDR R0, SP, 10H |
| 00B0 | d(81E00024): LDR R1, SP, 24H |
| 00B1 | d(00090001): SUB R0, R0, R1 |
| 00B2 | d(ED00001B): BGE 27 [00CEH] |
| Dot(f,e col,f x,g y)h;i INC(y);j |
| 00B3 | e(80E00004): LDR R0, SP, 4H |
| 00B4 | f(81E00008): LDR R1, SP, 8H |
| 00B5 | g(82E0000C): LDR R2, SP, CH |
| 00B6 | h(83E00010): LDR R3, SP, 10H |
| 00B7 | i(F7FFFF48): BL -184 [0000H] |
| 00B8 | j(80E00010): LDR R0, SP, 10H |
| 00B9 | j(40080001): ADD R0, R0, 1H |
| 00BA | j(A0E00010): STR R0, SP, 10H |
| IF u < 0 THENk INC(u, w) ELSEl INCm(u, w-h)n;o INC(x, d) ENDp |
| 00BB | k(80E00028): LDR R0, SP, 28H |
| 00BC | k(40090000): SUB R0, R0, 0H |
| 00BD | k(ED000005): BGE 5 [00C3H] |
| 00BE | l(80E00028): LDR R0, SP, 28H |
| 00BF | l(81E00014): LDR R1, SP, 14H |
| 00C0 | l(00080001): ADD R0, R0, R1 |
| 00C1 | l(A0E00028): STR R0, SP, 28H |
| 00C2 | m(E700000A): B 10 [00CDH] |
| 00C3 | n(80E00014): LDR R0, SP, 14H |
| 00C4 | n(81E00018): LDR R1, SP, 18H |
| 00C5 | n(00090001): SUB R0, R0, R1 |
| 00C6 | o(81E00028): LDR R1, SP, 28H |
| 00C7 | o(01180000): ADD R1, R1, R0 |
| 00C8 | o(A1E00028): STR R1, SP, 28H |
| 00C9 | p(80E0000C): LDR R0, SP, CH |
| 00CA | p(81E0001C): LDR R1, SP, 1CH |
| 00CB | p(00080001): ADD R0, R0, R1 |
| 00CC | p(A0E0000C): STR R0, SP, CH |
| ENDq |
| 00CD | q(E7FFFFE1): B -31 [00AFH] |
| END |
| ENDr line; |
| 00CE | r(8FE00000): LDR LNK, SP, 0H |
| 00CF | r(4EE8002C): ADD SP, SP, 2CH |
| 00D0 | r(C700000F): B LNK |
| |
| PROCEDURE circle(f: GraphicFrames.Frame; col: INTEGER; x0, y0, r: LONGINT); |
| VAR x, y, u: LONGINT; |
| BEGINs u := 1 - r;t x := r;u y := 0;v |
| 00D1 | s(4EE90024): SUB SP, SP, 24H |
| 00D2 | s(AFE00000): STR LNK, SP, 0H |
| 00D3 | s(A0E00004): STR R0, SP, 4H |
| 00D4 | s(A1E00008): STR R1, SP, 8H |
| 00D5 | s(A2E0000C): STR R2, SP, CH |
| 00D6 | s(A3E00010): STR R3, SP, 10H |
| 00D7 | s(A4E00014): STR R4, SP, 14H |
| 00D8 | t(40000001): MOV R0, R0, 1H |
| 00D9 | t(81E00014): LDR R1, SP, 14H |
| 00DA | t(00090001): SUB R0, R0, R1 |
| 00DB | t(A0E00020): STR R0, SP, 20H |
| 00DC | u(80E00014): LDR R0, SP, 14H |
| 00DD | u(A0E00018): STR R0, SP, 18H |
| 00DE | v(40000000): MOV R0, R0, 0H |
| 00DF | v(A0E0001C): STR R0, SP, 1CH |
| WHILE y <= x DOw |
| 00E0 | w(80E0001C): LDR R0, SP, 1CH |
| 00E1 | w(81E00018): LDR R1, SP, 18H |
| 00E2 | w(00090001): SUB R0, R0, R1 |
| 00E3 | w(EE000061): BGT 97 [0145H] |
| Dot(f,x col,y x0+x,z y0+y)a;b |
| 00E4 | x(80E00004): LDR R0, SP, 4H |
| 00E5 | y(81E00008): LDR R1, SP, 8H |
| 00E6 | z(82E0000C): LDR R2, SP, CH |
| 00E7 | z(83E00018): LDR R3, SP, 18H |
| 00E8 | z(02280003): ADD R2, R2, R3 |
| 00E9 | a(83E00010): LDR R3, SP, 10H |
| 00EA | a(84E0001C): LDR R4, SP, 1CH |
| 00EB | a(03380004): ADD R3, R3, R4 |
| 00EC | b(F7FFFF13): BL -237 [0000H] |
| Dot(f,c col,d x0+y,e y0+x)f;g |
| 00ED | c(80E00004): LDR R0, SP, 4H |
| 00EE | d(81E00008): LDR R1, SP, 8H |
| 00EF | e(82E0000C): LDR R2, SP, CH |
| 00F0 | e(83E0001C): LDR R3, SP, 1CH |
| 00F1 | e(02280003): ADD R2, R2, R3 |
| 00F2 | f(83E00010): LDR R3, SP, 10H |
| 00F3 | f(84E00018): LDR R4, SP, 18H |
| 00F4 | f(03380004): ADD R3, R3, R4 |
| 00F5 | g(F7FFFF0A): BL -246 [0000H] |
| Dot(f,h col,i x0-y,j y0+x)k;l |
| 00F6 | h(80E00004): LDR R0, SP, 4H |
| 00F7 | i(81E00008): LDR R1, SP, 8H |
| 00F8 | j(82E0000C): LDR R2, SP, CH |
| 00F9 | j(83E0001C): LDR R3, SP, 1CH |
| 00FA | j(02290003): SUB R2, R2, R3 |
| 00FB | k(83E00010): LDR R3, SP, 10H |
| 00FC | k(84E00018): LDR R4, SP, 18H |
| 00FD | k(03380004): ADD R3, R3, R4 |
| 00FE | l(F7FFFF01): BL -255 [0000H] |
| Dot(f,m col,n x0-x,o y0+y)p;q |
| 00FF | m(80E00004): LDR R0, SP, 4H |
| 0100 | n(81E00008): LDR R1, SP, 8H |
| 0101 | o(82E0000C): LDR R2, SP, CH |
| 0102 | o(83E00018): LDR R3, SP, 18H |
| 0103 | o(02290003): SUB R2, R2, R3 |
| 0104 | p(83E00010): LDR R3, SP, 10H |
| 0105 | p(84E0001C): LDR R4, SP, 1CH |
| 0106 | p(03380004): ADD R3, R3, R4 |
| 0107 | q(F7FFFEF8): BL -264 [0000H] |
| Dot(f,r col,s x0-x,t y0-y)u;v |
| 0108 | r(80E00004): LDR R0, SP, 4H |
| 0109 | s(81E00008): LDR R1, SP, 8H |
| 010A | t(82E0000C): LDR R2, SP, CH |
| 010B | t(83E00018): LDR R3, SP, 18H |
| 010C | t(02290003): SUB R2, R2, R3 |
| 010D | u(83E00010): LDR R3, SP, 10H |
| 010E | u(84E0001C): LDR R4, SP, 1CH |
| 010F | u(03390004): SUB R3, R3, R4 |
| 0110 | v(F7FFFEEF): BL -273 [0000H] |
| Dot(f,w col,x x0-y,y y0-x)z;a |
| 0111 | w(80E00004): LDR R0, SP, 4H |
| 0112 | x(81E00008): LDR R1, SP, 8H |
| 0113 | y(82E0000C): LDR R2, SP, CH |
| 0114 | y(83E0001C): LDR R3, SP, 1CH |
| 0115 | y(02290003): SUB R2, R2, R3 |
| 0116 | z(83E00010): LDR R3, SP, 10H |
| 0117 | z(84E00018): LDR R4, SP, 18H |
| 0118 | z(03390004): SUB R3, R3, R4 |
| 0119 | a(F7FFFEE6): BL -282 [0000H] |
| Dot(f,b col,c x0+y,d y0-x)e;f |
| 011A | b(80E00004): LDR R0, SP, 4H |
| 011B | c(81E00008): LDR R1, SP, 8H |
| 011C | d(82E0000C): LDR R2, SP, CH |
| 011D | d(83E0001C): LDR R3, SP, 1CH |
| 011E | d(02280003): ADD R2, R2, R3 |
| 011F | e(83E00010): LDR R3, SP, 10H |
| 0120 | e(84E00018): LDR R4, SP, 18H |
| 0121 | e(03390004): SUB R3, R3, R4 |
| 0122 | f(F7FFFEDD): BL -291 [0000H] |
| Dot(f,g col,h x0+x,i y0-y)j;k |
| 0123 | g(80E00004): LDR R0, SP, 4H |
| 0124 | h(81E00008): LDR R1, SP, 8H |
| 0125 | i(82E0000C): LDR R2, SP, CH |
| 0126 | i(83E00018): LDR R3, SP, 18H |
| 0127 | i(02280003): ADD R2, R2, R3 |
| 0128 | j(83E00010): LDR R3, SP, 10H |
| 0129 | j(84E0001C): LDR R4, SP, 1CH |
| 012A | j(03390004): SUB R3, R3, R4 |
| 012B | k(F7FFFED4): BL -300 [0000H] |
| IF u < 0 THENl INC(u, 2*y+m3)n ELSEo INCp(u, 2*(y-x)q+r5)s;t DEC(x) ENDu ; |
| 012C | l(80E00020): LDR R0, SP, 20H |
| 012D | l(40090000): SUB R0, R0, 0H |
| 012E | l(ED000007): BGE 7 [0136H] |
| 012F | m(80E0001C): LDR R0, SP, 1CH |
| 0130 | m(40010001): LSL R0, R0, 1H |
| 0131 | n(40080003): ADD R0, R0, 3H |
| 0132 | o(81E00020): LDR R1, SP, 20H |
| 0133 | o(01180000): ADD R1, R1, R0 |
| 0134 | o(A1E00020): STR R1, SP, 20H |
| 0135 | p(E700000B): B 11 [0141H] |
| 0136 | q(80E0001C): LDR R0, SP, 1CH |
| 0137 | q(81E00018): LDR R1, SP, 18H |
| 0138 | q(00090001): SUB R0, R0, R1 |
| 0139 | r(40010001): LSL R0, R0, 1H |
| 013A | s(40080005): ADD R0, R0, 5H |
| 013B | t(81E00020): LDR R1, SP, 20H |
| 013C | t(01180000): ADD R1, R1, R0 |
| 013D | t(A1E00020): STR R1, SP, 20H |
| 013E | u(80E00018): LDR R0, SP, 18H |
| 013F | u(40090001): SUB R0, R0, 1H |
| 0140 | u(A0E00018): STR R0, SP, 18H |
| INC(y) |
| ENDv |
| 0141 | v(80E0001C): LDR R0, SP, 1CH |
| 0142 | v(40080001): ADD R0, R0, 1H |
| 0143 | v(A0E0001C): STR R0, SP, 1CH |
| 0144 | v(E7FFFF9B): B -101 [00E0H] |
| ENDw circle; |
| 0145 | w(8FE00000): LDR LNK, SP, 0H |
| 0146 | w(4EE80024): ADD SP, SP, 24H |
| 0147 | w(C700000F): B LNK |
| |
| PROCEDURE ellipse(f: GraphicFrames.Frame; col: INTEGER; x0, y0, a, b: LONGINT); |
| VAR x, y, y1, aa, bb, d, g, h: LONGINT; |
| BEGINx aa := a*a;y bb := b*b;z |
| 0148 | x(4EE9003C): SUB SP, SP, 3CH |
| 0149 | x(AFE00000): STR LNK, SP, 0H |
| 014A | x(A0E00004): STR R0, SP, 4H |
| 014B | x(A1E00008): STR R1, SP, 8H |
| 014C | x(A2E0000C): STR R2, SP, CH |
| 014D | x(A3E00010): STR R3, SP, 10H |
| 014E | x(A4E00014): STR R4, SP, 14H |
| 014F | x(A5E00018): STR R5, SP, 18H |
| 0150 | y(80E00014): LDR R0, SP, 14H |
| 0151 | y(81E00014): LDR R1, SP, 14H |
| 0152 | y(000A0001): MUL R0, R0, R1 |
| 0153 | y(A0E00028): STR R0, SP, 28H |
| 0154 | z(80E00018): LDR R0, SP, 18H |
| 0155 | z(81E00018): LDR R1, SP, 18H |
| 0156 | z(000A0001): MUL R0, R0, R1 |
| 0157 | z(A0E0002C): STR R0, SP, 2CH |
| h := (aa DIV 4)a - b*aa +b bb;c g := (9*aa DIVd 4)e - 3*b*faa +g bb;h x := 0;i y := b;j |
| 0158 | a(80E00028): LDR R0, SP, 28H |
| 0159 | a(40020002): ASR R0, R0, 2H |
| 015A | b(81E00018): LDR R1, SP, 18H |
| 015B | b(82E00028): LDR R2, SP, 28H |
| 015C | b(011A0002): MUL R1, R1, R2 |
| 015D | b(00090001): SUB R0, R0, R1 |
| 015E | c(81E0002C): LDR R1, SP, 2CH |
| 015F | c(00080001): ADD R0, R0, R1 |
| 0160 | c(A0E00038): STR R0, SP, 38H |
| 0161 | d(80E00028): LDR R0, SP, 28H |
| 0162 | d(400A0009): MUL R0, R0, 9H |
| 0163 | e(40020002): ASR R0, R0, 2H |
| 0164 | f(81E00018): LDR R1, SP, 18H |
| 0165 | f(411A0003): MUL R1, R1, 3H |
| 0166 | g(82E00028): LDR R2, SP, 28H |
| 0167 | g(011A0002): MUL R1, R1, R2 |
| 0168 | g(00090001): SUB R0, R0, R1 |
| 0169 | h(81E0002C): LDR R1, SP, 2CH |
| 016A | h(00080001): ADD R0, R0, R1 |
| 016B | h(A0E00034): STR R0, SP, 34H |
| 016C | i(40000000): MOV R0, R0, 0H |
| 016D | i(A0E0001C): STR R0, SP, 1CH |
| 016E | j(80E00018): LDR R0, SP, 18H |
| 016F | j(A0E00020): STR R0, SP, 20H |
| WHILE g < 0 DOk |
| 0170 | k(80E00034): LDR R0, SP, 34H |
| 0171 | k(40090000): SUB R0, R0, 0H |
| 0172 | k(ED000050): BGE 80 [01C3H] |
| Dot(f,l col,m x0+x,n y0+y)o;p |
| 0173 | l(80E00004): LDR R0, SP, 4H |
| 0174 | m(81E00008): LDR R1, SP, 8H |
| 0175 | n(82E0000C): LDR R2, SP, CH |
| 0176 | n(83E0001C): LDR R3, SP, 1CH |
| 0177 | n(02280003): ADD R2, R2, R3 |
| 0178 | o(83E00010): LDR R3, SP, 10H |
| 0179 | o(84E00020): LDR R4, SP, 20H |
| 017A | o(03380004): ADD R3, R3, R4 |
| 017B | p(F7FFFE84): BL -380 [0000H] |
| Dot(f,q col,r x0-x,s y0+y)t;u |
| 017C | q(80E00004): LDR R0, SP, 4H |
| 017D | r(81E00008): LDR R1, SP, 8H |
| 017E | s(82E0000C): LDR R2, SP, CH |
| 017F | s(83E0001C): LDR R3, SP, 1CH |
| 0180 | s(02290003): SUB R2, R2, R3 |
| 0181 | t(83E00010): LDR R3, SP, 10H |
| 0182 | t(84E00020): LDR R4, SP, 20H |
| 0183 | t(03380004): ADD R3, R3, R4 |
| 0184 | u(F7FFFE7B): BL -389 [0000H] |
| Dot(f,v col,w x0-x,x y0-y)y;z |
| 0185 | v(80E00004): LDR R0, SP, 4H |
| 0186 | w(81E00008): LDR R1, SP, 8H |
| 0187 | x(82E0000C): LDR R2, SP, CH |
| 0188 | x(83E0001C): LDR R3, SP, 1CH |
| 0189 | x(02290003): SUB R2, R2, R3 |
| 018A | y(83E00010): LDR R3, SP, 10H |
| 018B | y(84E00020): LDR R4, SP, 20H |
| 018C | y(03390004): SUB R3, R3, R4 |
| 018D | z(F7FFFE72): BL -398 [0000H] |
| Dot(f,a col,b x0+x,c y0-y)d;e |
| 018E | a(80E00004): LDR R0, SP, 4H |
| 018F | b(81E00008): LDR R1, SP, 8H |
| 0190 | c(82E0000C): LDR R2, SP, CH |
| 0191 | c(83E0001C): LDR R3, SP, 1CH |
| 0192 | c(02280003): ADD R2, R2, R3 |
| 0193 | d(83E00010): LDR R3, SP, 10H |
| 0194 | d(84E00020): LDR R4, SP, 20H |
| 0195 | d(03390004): SUB R3, R3, R4 |
| 0196 | e(F7FFFE69): BL -407 [0000H] |
| IF h < 0 THENf d := (2*x+g3)h*bb;i INC(g, d) |
| 0197 | f(80E00038): LDR R0, SP, 38H |
| 0198 | f(40090000): SUB R0, R0, 0H |
| 0199 | f(ED00000B): BGE 11 [01A5H] |
| 019A | g(80E0001C): LDR R0, SP, 1CH |
| 019B | g(40010001): LSL R0, R0, 1H |
| 019C | h(40080003): ADD R0, R0, 3H |
| 019D | i(81E0002C): LDR R1, SP, 2CH |
| 019E | i(000A0001): MUL R0, R0, R1 |
| 019F | i(A0E00030): STR R0, SP, 30H |
| ELSEj dk := (2*x+l3)m*bb -n 2*(y-1)o*paa;q INC(g, d + 2*aa)r;s DEC(y) |
| 01A0 | j(80E00034): LDR R0, SP, 34H |
| 01A1 | j(81E00030): LDR R1, SP, 30H |
| 01A2 | j(00080001): ADD R0, R0, R1 |
| 01A3 | j(A0E00034): STR R0, SP, 34H |
| 01A4 | k(E7000016): B 22 [01BBH] |
| 01A5 | l(80E0001C): LDR R0, SP, 1CH |
| 01A6 | l(40010001): LSL R0, R0, 1H |
| 01A7 | m(40080003): ADD R0, R0, 3H |
| 01A8 | n(81E0002C): LDR R1, SP, 2CH |
| 01A9 | n(000A0001): MUL R0, R0, R1 |
| 01AA | o(81E00020): LDR R1, SP, 20H |
| 01AB | o(41190001): SUB R1, R1, 1H |
| 01AC | p(41110001): LSL R1, R1, 1H |
| 01AD | q(82E00028): LDR R2, SP, 28H |
| 01AE | q(011A0002): MUL R1, R1, R2 |
| 01AF | q(00090001): SUB R0, R0, R1 |
| 01B0 | q(A0E00030): STR R0, SP, 30H |
| 01B1 | r(80E00028): LDR R0, SP, 28H |
| 01B2 | r(40010001): LSL R0, R0, 1H |
| 01B3 | r(81E00030): LDR R1, SP, 30H |
| 01B4 | r(00180000): ADD R0, R1, R0 |
| 01B5 | s(81E00034): LDR R1, SP, 34H |
| 01B6 | s(01180000): ADD R1, R1, R0 |
| 01B7 | s(A1E00034): STR R1, SP, 34H |
| ENDt ; |
| 01B8 | t(80E00020): LDR R0, SP, 20H |
| 01B9 | t(40090001): SUB R0, R0, 1H |
| 01BA | t(A0E00020): STR R0, SP, 20H |
| INC(h, d);u INC(x) |
| 01BB | u(80E00038): LDR R0, SP, 38H |
| 01BC | u(81E00030): LDR R1, SP, 30H |
| 01BD | u(00080001): ADD R0, R0, R1 |
| 01BE | u(A0E00038): STR R0, SP, 38H |
| ENDv ; |
| 01BF | v(80E0001C): LDR R0, SP, 1CH |
| 01C0 | v(40080001): ADD R0, R0, 1H |
| 01C1 | v(A0E0001C): STR R0, SP, 1CH |
| 01C2 | v(E7FFFFAD): B -83 [0170H] |
| y1 := y;w h := (bb DIV 4)x - a*bb +y aa;z x := a;a y := 0;b |
| 01C3 | w(80E00020): LDR R0, SP, 20H |
| 01C4 | w(A0E00024): STR R0, SP, 24H |
| 01C5 | x(80E0002C): LDR R0, SP, 2CH |
| 01C6 | x(40020002): ASR R0, R0, 2H |
| 01C7 | y(81E00014): LDR R1, SP, 14H |
| 01C8 | y(82E0002C): LDR R2, SP, 2CH |
| 01C9 | y(011A0002): MUL R1, R1, R2 |
| 01CA | y(00090001): SUB R0, R0, R1 |
| 01CB | z(81E00028): LDR R1, SP, 28H |
| 01CC | z(00080001): ADD R0, R0, R1 |
| 01CD | z(A0E00038): STR R0, SP, 38H |
| 01CE | a(80E00014): LDR R0, SP, 14H |
| 01CF | a(A0E0001C): STR R0, SP, 1CH |
| 01D0 | b(40000000): MOV R0, R0, 0H |
| 01D1 | b(A0E00020): STR R0, SP, 20H |
| WHILE y <= y1 DOc |
| 01D2 | c(80E00020): LDR R0, SP, 20H |
| 01D3 | c(81E00024): LDR R1, SP, 24H |
| 01D4 | c(00090001): SUB R0, R0, R1 |
| 01D5 | c(EE000045): BGT 69 [021BH] |
| Dot(f,d col,e x0+x,f y0+y)g;h |
| 01D6 | d(80E00004): LDR R0, SP, 4H |
| 01D7 | e(81E00008): LDR R1, SP, 8H |
| 01D8 | f(82E0000C): LDR R2, SP, CH |
| 01D9 | f(83E0001C): LDR R3, SP, 1CH |
| 01DA | f(02280003): ADD R2, R2, R3 |
| 01DB | g(83E00010): LDR R3, SP, 10H |
| 01DC | g(84E00020): LDR R4, SP, 20H |
| 01DD | g(03380004): ADD R3, R3, R4 |
| 01DE | h(F7FFFE21): BL -479 [0000H] |
| Dot(f,i col,j x0-x,k y0+y)l;m |
| 01DF | i(80E00004): LDR R0, SP, 4H |
| 01E0 | j(81E00008): LDR R1, SP, 8H |
| 01E1 | k(82E0000C): LDR R2, SP, CH |
| 01E2 | k(83E0001C): LDR R3, SP, 1CH |
| 01E3 | k(02290003): SUB R2, R2, R3 |
| 01E4 | l(83E00010): LDR R3, SP, 10H |
| 01E5 | l(84E00020): LDR R4, SP, 20H |
| 01E6 | l(03380004): ADD R3, R3, R4 |
| 01E7 | m(F7FFFE18): BL -488 [0000H] |
| Dot(f,n col,o x0-x,p y0-y)q;r |
| 01E8 | n(80E00004): LDR R0, SP, 4H |
| 01E9 | o(81E00008): LDR R1, SP, 8H |
| 01EA | p(82E0000C): LDR R2, SP, CH |
| 01EB | p(83E0001C): LDR R3, SP, 1CH |
| 01EC | p(02290003): SUB R2, R2, R3 |
| 01ED | q(83E00010): LDR R3, SP, 10H |
| 01EE | q(84E00020): LDR R4, SP, 20H |
| 01EF | q(03390004): SUB R3, R3, R4 |
| 01F0 | r(F7FFFE0F): BL -497 [0000H] |
| Dot(f,s col,t x0+x,u y0-y)v;w |
| 01F1 | s(80E00004): LDR R0, SP, 4H |
| 01F2 | t(81E00008): LDR R1, SP, 8H |
| 01F3 | u(82E0000C): LDR R2, SP, CH |
| 01F4 | u(83E0001C): LDR R3, SP, 1CH |
| 01F5 | u(02280003): ADD R2, R2, R3 |
| 01F6 | v(83E00010): LDR R3, SP, 10H |
| 01F7 | v(84E00020): LDR R4, SP, 20H |
| 01F8 | v(03390004): SUB R3, R3, R4 |
| 01F9 | w(F7FFFE06): BL -506 [0000H] |
| IF h < 0 THENx INC(h, (2*y+y3)z*aa)a ELSEb INCc(h, (2*y+d3)e*aa -f 2*(x-1)g*hbb)i;j DEC(x) ENDk ; |
| 01FA | x(80E00038): LDR R0, SP, 38H |
| 01FB | x(40090000): SUB R0, R0, 0H |
| 01FC | x(ED000009): BGE 9 [0206H] |
| 01FD | y(80E00020): LDR R0, SP, 20H |
| 01FE | y(40010001): LSL R0, R0, 1H |
| 01FF | z(40080003): ADD R0, R0, 3H |
| 0200 | a(81E00028): LDR R1, SP, 28H |
| 0201 | a(000A0001): MUL R0, R0, R1 |
| 0202 | b(81E00038): LDR R1, SP, 38H |
| 0203 | b(01180000): ADD R1, R1, R0 |
| 0204 | b(A1E00038): STR R1, SP, 38H |
| 0205 | c(E7000011): B 17 [0217H] |
| 0206 | d(80E00020): LDR R0, SP, 20H |
| 0207 | d(40010001): LSL R0, R0, 1H |
| 0208 | e(40080003): ADD R0, R0, 3H |
| 0209 | f(81E00028): LDR R1, SP, 28H |
| 020A | f(000A0001): MUL R0, R0, R1 |
| 020B | g(81E0001C): LDR R1, SP, 1CH |
| 020C | g(41190001): SUB R1, R1, 1H |
| 020D | h(41110001): LSL R1, R1, 1H |
| 020E | i(82E0002C): LDR R2, SP, 2CH |
| 020F | i(011A0002): MUL R1, R1, R2 |
| 0210 | i(00090001): SUB R0, R0, R1 |
| 0211 | j(81E00038): LDR R1, SP, 38H |
| 0212 | j(01180000): ADD R1, R1, R0 |
| 0213 | j(A1E00038): STR R1, SP, 38H |
| 0214 | k(80E0001C): LDR R0, SP, 1CH |
| 0215 | k(40090001): SUB R0, R0, 1H |
| 0216 | k(A0E0001C): STR R0, SP, 1CH |
| INC(y) |
| ENDl |
| 0217 | l(80E00020): LDR R0, SP, 20H |
| 0218 | l(40080001): ADD R0, R0, 1H |
| 0219 | l(A0E00020): STR R0, SP, 20H |
| 021A | l(E7FFFFB7): B -73 [01D2H] |
| ENDm ellipse; |
| 021B | m(8FE00000): LDR LNK, SP, 0H |
| 021C | m(4EE8003C): ADD SP, SP, 3CH |
| 021D | m(C700000F): B LNK |
| |
| PROCEDURE New*; |
| VAR c: Curve; |
| BEGINn NEW(c);o c.dop := method;q Graphics.New(c)r |
| 021E | n .PROC 3 |
| 021E | n .COMMAND New |
| 021E | n(4EE90008): SUB SP, SP, 8H |
| 021F | n(AFE00000): STR LNK, SP, 0H |
| 0220 | o(40E80004): ADD R0, SP, 4H |
| 0221 | o .FIXUP D |
| 0221 | o(8D0001C8): LDR SB, MT, MOD0 [Curves] |
| 0222 | o(41D80000): ADD R1, SB, 0H [data] |
| 0223 | o(D70B450C): BL MT [trap=0, pos=2885] |
| 0224 | p(80E00004): LDR R0, SP, 4H |
| 0225 | p(D10B4A4C): BLEQ MT [trap=4, pos=2890] |
| 0226 | q .FIXUP D |
| 0226 | q(8D000005): LDR SB, MT, MOD0 [Curves] |
| 0227 | q(81D0001C): LDR R1, SB, 1CH [data] |
| 0228 | q(A1000014): STR R1, R0, 14H |
| 0229 | r(80E00004): LDR R0, SP, 4H |
| ENDs New; |
| 022A | s .FIXUP P |
| 022A | s(F77151CC): BL MOD7 [Graphics] PROC21 |
| 022B | s(8FE00000): LDR LNK, SP, 0H |
| 022C | s(4EE80008): ADD SP, SP, 8H |
| 022D | s(C700000F): B LNK |
| |
| PROCEDURE Copy(src, dst: Graphics.Object); |
| BEGINt dst.xu := src.xv;w dst.yx := src.yy;z dst.wa := src.wb;c dst.hd := src.he;f dst.colg := src.colh;i |
| 022E | t(4EE9000C): SUB SP, SP, CH |
| 022F | t(AFE00000): STR LNK, SP, 0H |
| 0230 | t(A0E00004): STR R0, SP, 4H |
| 0231 | t(A1E00008): STR R1, SP, 8H |
| 0232 | u(80E00008): LDR R0, SP, 8H |
| 0233 | u(D10BAC4C): BLEQ MT [trap=4, pos=2988] |
| 0234 | v(81E00004): LDR R1, SP, 4H |
| 0235 | v(D10BB54C): BLEQ MT [trap=4, pos=2997] |
| 0236 | w(81100000): LDR R1, R1, 0H |
| 0237 | w(A1000000): STR R1, R0, 0H |
| 0238 | x(80E00008): LDR R0, SP, 8H |
| 0239 | x(D10BBC4C): BLEQ MT [trap=4, pos=3004] |
| 023A | y(81E00004): LDR R1, SP, 4H |
| 023B | y(D10BC54C): BLEQ MT [trap=4, pos=3013] |
| 023C | z(81100004): LDR R1, R1, 4H |
| 023D | z(A1000004): STR R1, R0, 4H |
| 023E | a(80E00008): LDR R0, SP, 8H |
| 023F | a(D10BCC4C): BLEQ MT [trap=4, pos=3020] |
| 0240 | b(81E00004): LDR R1, SP, 4H |
| 0241 | b(D10BD54C): BLEQ MT [trap=4, pos=3029] |
| 0242 | c(81100008): LDR R1, R1, 8H |
| 0243 | c(A1000008): STR R1, R0, 8H |
| 0244 | d(80E00008): LDR R0, SP, 8H |
| 0245 | d(D10BDC4C): BLEQ MT [trap=4, pos=3036] |
| 0246 | e(81E00004): LDR R1, SP, 4H |
| 0247 | e(D10BE54C): BLEQ MT [trap=4, pos=3045] |
| 0248 | f(8110000C): LDR R1, R1, CH |
| 0249 | f(A100000C): STR R1, R0, CH |
| 024A | g(80E00008): LDR R0, SP, 8H |
| 024B | g(D10BEE4C): BLEQ MT [trap=4, pos=3054] |
| 024C | h(81E00004): LDR R1, SP, 4H |
| 024D | h(D10BF94C): BLEQ MT [trap=4, pos=3065] |
| 024E | i(91100010): LDR R1, R1, 10H |
| 024F | i(B1000010): STR R1, R0, 10H |
| dst(Curve)j.kind := src(Curve)k.kind;l dst(Curve)m.lw := src(Curve)n.lw |
| 0250 | j(80E00008): LDR R0, SP, 8H |
| 0251 | j(E1000005): BEQ 5 [0257H] |
| 0252 | j(810FFFF8): LDR R1, R0, FFFFFFF8H |
| 0253 | j(81100004): LDR R1, R1, 4H |
| 0254 | j .FIXUP D |
| 0254 | j(8D00002E): LDR SB, MT, MOD0 [Curves] |
| 0255 | j(42D80000): ADD R2, SB, 0H [data] |
| 0256 | j(02290001): SUB R2, R2, R1 |
| 0257 | j(D90C092C): BLNE MT [trap=2, pos=3081] |
| 0258 | k(81E00004): LDR R1, SP, 4H |
| 0259 | k(E1000004): BEQ 4 [025EH] |
| 025A | k(821FFFF8): LDR R2, R1, FFFFFFF8H |
| 025B | k(82200004): LDR R2, R2, 4H |
| 025C | k(43D80000): ADD R3, SB, 0H |
| 025D | k(03390002): SUB R3, R3, R2 |
| 025E | k(D90C1C2C): BLNE MT [trap=2, pos=3100] |
| 025F | l(8110001C): LDR R1, R1, 1CH |
| 0260 | l(A100001C): STR R1, R0, 1CH |
| 0261 | m(80E00008): LDR R0, SP, 8H |
| 0262 | m(E1000004): BEQ 4 [0267H] |
| 0263 | m(810FFFF8): LDR R1, R0, FFFFFFF8H |
| 0264 | m(81100004): LDR R1, R1, 4H |
| 0265 | m(42D80000): ADD R2, SB, 0H |
| 0266 | m(02290001): SUB R2, R2, R1 |
| 0267 | m(D90C2D2C): BLNE MT [trap=2, pos=3117] |
| 0268 | n(81E00004): LDR R1, SP, 4H |
| 0269 | n(E1000004): BEQ 4 [026EH] |
| 026A | n(821FFFF8): LDR R2, R1, FFFFFFF8H |
| 026B | n(82200004): LDR R2, R2, 4H |
| 026C | n(43D80000): ADD R3, SB, 0H |
| 026D | n(03390002): SUB R3, R3, R2 |
| 026E | n(D90C3E2C): BLNE MT [trap=2, pos=3134] |
| ENDo Copy; |
| 026F | o(81100020): LDR R1, R1, 20H |
| 0270 | o(A1000020): STR R1, R0, 20H |
| 0271 | o(8FE00000): LDR LNK, SP, 0H |
| 0272 | o(4EE8000C): ADD SP, SP, CH |
| 0273 | o(C700000F): B LNK |
| |
| PROCEDURE Draw(obj: Graphics.Object; VAR M: Graphics.Msg); |
| VAR x, y, w, h, col: INTEGER; f: GraphicFrames.Frame; |
| BEGINp |
| 0274 | p(4EE90028): SUB SP, SP, 28H |
| 0275 | p(AFE00000): STR LNK, SP, 0H |
| 0276 | p(A0E00004): STR R0, SP, 4H |
| 0277 | p(A1E00008): STR R1, SP, 8H |
| 0278 | p(A2E0000C): STR R2, SP, CH |
| CASE M OF GraphicFrames.DrawMsg:q |
| 0279 | q(80E0000C): LDR R0, SP, CH |
| 027A | q(80000004): LDR R0, R0, 4H |
| 027B | q .FIXUP D |
| 027B | q(8D900027): LDR SB, MT, MOD9 [GraphicFrames] |
| 027C | q(41D80003): ADD R1, SB, VAR3 |
| 027D | q(01190000): SUB R1, R1, R0 |
| 027E | q(E9000189): BNE 393 [0408H] |
| x := obj.xr + M.x;s y := obj.yt + M.y;u w := obj.wv;w h := obj.hx;y f := M.f;z |
| 027F | r(80E00004): LDR R0, SP, 4H |
| 0280 | r(D10D044C): BLEQ MT [trap=4, pos=3332] |
| 0281 | s(80000000): LDR R0, R0, 0H |
| 0282 | s(81E00008): LDR R1, SP, 8H |
| 0283 | s(81100004): LDR R1, R1, 4H |
| 0284 | s(00080001): ADD R0, R0, R1 |
| 0285 | s(A0E00010): STR R0, SP, 10H |
| 0286 | t(80E00004): LDR R0, SP, 4H |
| 0287 | t(D10D164C): BLEQ MT [trap=4, pos=3350] |
| 0288 | u(80000004): LDR R0, R0, 4H |
| 0289 | u(81E00008): LDR R1, SP, 8H |
| 028A | u(81100008): LDR R1, R1, 8H |
| 028B | u(00080001): ADD R0, R0, R1 |
| 028C | u(A0E00014): STR R0, SP, 14H |
| 028D | v(80E00004): LDR R0, SP, 4H |
| 028E | v(D10D284C): BLEQ MT [trap=4, pos=3368] |
| 028F | w(80000008): LDR R0, R0, 8H |
| 0290 | w(A0E00018): STR R0, SP, 18H |
| 0291 | x(80E00004): LDR R0, SP, 4H |
| 0292 | x(D10D344C): BLEQ MT [trap=4, pos=3380] |
| 0293 | y(8000000C): LDR R0, R0, CH |
| 0294 | y(A0E0001C): STR R0, SP, 1CH |
| 0295 | z(80E00008): LDR R0, SP, 8H |
| 0296 | z(80000000): LDR R0, R0, 0H |
| 0297 | z(A0E00024): STR R0, SP, 24H |
| IF M.col = Display.black THENa col := obj.colb ELSEc cold := M.col ENDe ; |
| 0298 | a(80E00008): LDR R0, SP, 8H |
| 0299 | a(8000000C): LDR R0, R0, CH |
| 029A | a(E9000005): BNE 5 [02A0H] |
| 029B | b(80E00004): LDR R0, SP, 4H |
| 029C | b(D10D724C): BLEQ MT [trap=4, pos=3442] |
| 029D | c(90000010): LDR R0, R0, 10H |
| 029E | c(A0E00020): STR R0, SP, 20H |
| 029F | d(E7000003): B 3 [02A3H] |
| 02A0 | e(80E00008): LDR R0, SP, 8H |
| 02A1 | e(8000000C): LDR R0, R0, CH |
| 02A2 | e(A0E00020): STR R0, SP, 20H |
| IF (x < f.X1f)g & (hf.Xi <= x+w)j & (ky < f.Y1l)m & (nf.Yo <= y+h)p THENq |
| 02A3 | f(80E00024): LDR R0, SP, 24H |
| 02A4 | f(D10D9D4C): BLEQ MT [trap=4, pos=3485] |
| 02A5 | g(81E00010): LDR R1, SP, 10H |
| 02A6 | g(80000028): LDR R0, R0, 28H |
| 02A7 | g(01190000): SUB R1, R1, R0 |
| 02A8 | h(ED00015F): BGE 351 [0408H] |
| 02A9 | i(80E00024): LDR R0, SP, 24H |
| 02AA | i(D10DA54C): BLEQ MT [trap=4, pos=3493] |
| 02AB | j(81E00010): LDR R1, SP, 10H |
| 02AC | j(82E00018): LDR R2, SP, 18H |
| 02AD | j(01180002): ADD R1, R1, R2 |
| 02AE | j(80000008): LDR R0, R0, 8H |
| 02AF | j(00090001): SUB R0, R0, R1 |
| 02B0 | k(EE000157): BGT 343 [0408H] |
| 02B1 | l(80E00024): LDR R0, SP, 24H |
| 02B2 | l(D10DB94C): BLEQ MT [trap=4, pos=3513] |
| 02B3 | m(81E00014): LDR R1, SP, 14H |
| 02B4 | m(8000002C): LDR R0, R0, 2CH |
| 02B5 | m(01190000): SUB R1, R1, R0 |
| 02B6 | n(ED000151): BGE 337 [0408H] |
| 02B7 | o(80E00024): LDR R0, SP, 24H |
| 02B8 | o(D10DC14C): BLEQ MT [trap=4, pos=3521] |
| 02B9 | p(81E00014): LDR R1, SP, 14H |
| 02BA | p(82E0001C): LDR R2, SP, 1CH |
| 02BB | p(01180002): ADD R1, R1, R2 |
| 02BC | p(8000000C): LDR R0, R0, CH |
| 02BD | p(00090001): SUB R0, R0, R1 |
| 02BE | q(EE000149): BGT 329 [0408H] |
| IF obj(Curve)r.kind = 0 THENs (*up-line*) |
| 02BF | r(80E00004): LDR R0, SP, 4H |
| 02C0 | r(E1000005): BEQ 5 [02C6H] |
| 02C1 | r(810FFFF8): LDR R1, R0, FFFFFFF8H |
| 02C2 | r(81100004): LDR R1, R1, 4H |
| 02C3 | r .FIXUP D |
| 02C3 | r(8D000048): LDR SB, MT, MOD0 [Curves] |
| 02C4 | r(42D80000): ADD R2, SB, 0H [data] |
| 02C5 | r(02290001): SUB R2, R2, R1 |
| 02C6 | r(D90DE42C): BLNE MT [trap=2, pos=3556] |
| 02C7 | s(8000001C): LDR R0, R0, 1CH |
| 02C8 | s(E900003D): BNE 61 [0306H] |
| IF M.mode = 0 THENt |
| 02C9 | t(80E00008): LDR R0, SP, 8H |
| 02CA | t(80000010): LDR R0, R0, 10H |
| 02CB | t(E9000012): BNE 18 [02DEH] |
| IF obj.selectedu THENv mark(f,w Display.white,x x,y y)z ENDa ; |
| 02CC | u(80E00004): LDR R0, SP, 4H |
| 02CD | u(D10E384C): BLEQ MT [trap=4, pos=3640] |
| 02CE | v(90000011): LDR R0, R0, 11H |
| 02CF | v(E1000005): BEQ 5 [02D5H] |
| 02D0 | w(80E00024): LDR R0, SP, 24H |
| 02D1 | x(41000001): MOV R1, R0, 1H |
| 02D2 | y(82E00010): LDR R2, SP, 10H |
| 02D3 | z(83E00014): LDR R3, SP, 14H |
| 02D4 | a(F7FFFD53): BL -685 [0028H] |
| line(f,b col,c x,d y,e w,f h,g 1)h |
| 02D5 | b(80E00024): LDR R0, SP, 24H |
| 02D6 | c(81E00020): LDR R1, SP, 20H |
| 02D7 | d(82E00010): LDR R2, SP, 10H |
| 02D8 | e(83E00014): LDR R3, SP, 14H |
| 02D9 | f(84E00018): LDR R4, SP, 18H |
| 02DA | g(85E0001C): LDR R5, SP, 1CH |
| 02DB | h(46000001): MOV R6, R0, 1H |
| ELSIFi Mj.mode = 1 THENk mark(f,l Display.white,m x,n y)o |
| 02DC | i(F7FFFD85): BL -635 [0062H] |
| 02DD | j(E7000027): B 39 [0305H] |
| 02DE | k(80E00008): LDR R0, SP, 8H |
| 02DF | k(80000010): LDR R0, R0, 10H |
| 02E0 | k(40090001): SUB R0, R0, 1H |
| 02E1 | k(E9000006): BNE 6 [02E8H] |
| 02E2 | l(80E00024): LDR R0, SP, 24H |
| 02E3 | m(41000001): MOV R1, R0, 1H |
| 02E4 | n(82E00010): LDR R2, SP, 10H |
| 02E5 | o(83E00014): LDR R3, SP, 14H |
| ELSIFp Mq.mode = 2 THENr mark(f,s f.colt,u x,v y)w |
| 02E6 | p(F7FFFD41): BL -703 [0028H] |
| 02E7 | q(E700001D): B 29 [0305H] |
| 02E8 | r(80E00008): LDR R0, SP, 8H |
| 02E9 | r(80000010): LDR R0, R0, 10H |
| 02EA | r(40090002): SUB R0, R0, 2H |
| 02EB | r(E9000008): BNE 8 [02F4H] |
| 02EC | s(80E00024): LDR R0, SP, 24H |
| 02ED | t(81E00024): LDR R1, SP, 24H |
| 02EE | t(D10EF34C): BLEQ MT [trap=4, pos=3827] |
| 02EF | u(81100038): LDR R1, R1, 38H |
| 02F0 | v(82E00010): LDR R2, SP, 10H |
| 02F1 | w(83E00014): LDR R3, SP, 14H |
| ELSIFx My.mode = 3 THENz mark(f,a Display.black,b x,c y)d;e line(f,f Display.black,g x,h y,i w,j h,k 1)l |
| 02F2 | x(F7FFFD35): BL -715 [0028H] |
| 02F3 | y(E7000011): B 17 [0305H] |
| 02F4 | z(80E00008): LDR R0, SP, 8H |
| 02F5 | z(80000010): LDR R0, R0, 10H |
| 02F6 | z(40090003): SUB R0, R0, 3H |
| 02F7 | z(E900000D): BNE 13 [0305H] |
| 02F8 | a(80E00024): LDR R0, SP, 24H |
| 02F9 | b(41000000): MOV R1, R0, 0H |
| 02FA | c(82E00010): LDR R2, SP, 10H |
| 02FB | d(83E00014): LDR R3, SP, 14H |
| 02FC | e(F7FFFD2B): BL -725 [0028H] |
| 02FD | f(80E00024): LDR R0, SP, 24H |
| 02FE | g(41000000): MOV R1, R0, 0H |
| 02FF | h(82E00010): LDR R2, SP, 10H |
| 0300 | i(83E00014): LDR R3, SP, 14H |
| 0301 | j(84E00018): LDR R4, SP, 18H |
| 0302 | k(85E0001C): LDR R5, SP, 1CH |
| 0303 | l(46000001): MOV R6, R0, 1H |
| ENDm |
| 0304 | m(F7FFFD5D): BL -675 [0062H] |
| ELSIF objn(Curve)o.kind = 1 THENp (*down-line*) |
| 0305 | n(E7000102): B 258 [0408H] |
| 0306 | o(80E00004): LDR R0, SP, 4H |
| 0307 | o(E1000005): BEQ 5 [030DH] |
| 0308 | o(810FFFF8): LDR R1, R0, FFFFFFF8H |
| 0309 | o(81100004): LDR R1, R1, 4H |
| 030A | o .FIXUP D |
| 030A | o(8D000047): LDR SB, MT, MOD0 [Curves] |
| 030B | o(42D80000): ADD R2, SB, 0H [data] |
| 030C | o(02290001): SUB R2, R2, R1 |
| 030D | o(D90F852C): BLNE MT [trap=2, pos=3973] |
| 030E | p(8000001C): LDR R0, R0, 1CH |
| 030F | p(40090001): SUB R0, R0, 1H |
| 0310 | p(E9000045): BNE 69 [0356H] |
| IF M.mode = 0 THENq |
| 0311 | q(80E00008): LDR R0, SP, 8H |
| 0312 | q(80000010): LDR R0, R0, 10H |
| 0313 | q(E9000014): BNE 20 [0328H] |
| IF obj.selectedr THENs mark(f,t Display.white,u x,v y+h)w ENDx ; |
| 0314 | r(80E00004): LDR R0, SP, 4H |
| 0315 | r(D10FDB4C): BLEQ MT [trap=4, pos=4059] |
| 0316 | s(90000011): LDR R0, R0, 11H |
| 0317 | s(E1000007): BEQ 7 [031FH] |
| 0318 | t(80E00024): LDR R0, SP, 24H |
| 0319 | u(41000001): MOV R1, R0, 1H |
| 031A | v(82E00010): LDR R2, SP, 10H |
| 031B | w(83E00014): LDR R3, SP, 14H |
| 031C | w(84E0001C): LDR R4, SP, 1CH |
| 031D | w(03380004): ADD R3, R3, R4 |
| 031E | x(F7FFFD09): BL -759 [0028H] |
| line(f,y col,z x,a y,b w,c h,d -1)e |
| 031F | y(80E00024): LDR R0, SP, 24H |
| 0320 | z(81E00020): LDR R1, SP, 20H |
| 0321 | a(82E00010): LDR R2, SP, 10H |
| 0322 | b(83E00014): LDR R3, SP, 14H |
| 0323 | c(84E00018): LDR R4, SP, 18H |
| 0324 | d(85E0001C): LDR R5, SP, 1CH |
| 0325 | e(5600FFFF): MOV R6, R0, FFFFFFFFH |
| ELSIFf Mg.mode = 1 THENh mark(f,i Display.white,j x,k y+h)l |
| 0326 | f(F7FFFD3B): BL -709 [0062H] |
| 0327 | g(E700002D): B 45 [0355H] |
| 0328 | h(80E00008): LDR R0, SP, 8H |
| 0329 | h(80000010): LDR R0, R0, 10H |
| 032A | h(40090001): SUB R0, R0, 1H |
| 032B | h(E9000008): BNE 8 [0334H] |
| 032C | i(80E00024): LDR R0, SP, 24H |
| 032D | j(41000001): MOV R1, R0, 1H |
| 032E | k(82E00010): LDR R2, SP, 10H |
| 032F | l(83E00014): LDR R3, SP, 14H |
| 0330 | l(84E0001C): LDR R4, SP, 1CH |
| 0331 | l(03380004): ADD R3, R3, R4 |
| ELSIFm Mn.mode = 2 THENo mark(f,p f.colq,r x,s y+h)t |
| 0332 | m(F7FFFCF5): BL -779 [0028H] |
| 0333 | n(E7000021): B 33 [0355H] |
| 0334 | o(80E00008): LDR R0, SP, 8H |
| 0335 | o(80000010): LDR R0, R0, 10H |
| 0336 | o(40090002): SUB R0, R0, 2H |
| 0337 | o(E900000A): BNE 10 [0342H] |
| 0338 | p(80E00024): LDR R0, SP, 24H |
| 0339 | q(81E00024): LDR R1, SP, 24H |
| 033A | q(D1109B4C): BLEQ MT [trap=4, pos=4251] |
| 033B | r(81100038): LDR R1, R1, 38H |
| 033C | s(82E00010): LDR R2, SP, 10H |
| 033D | t(83E00014): LDR R3, SP, 14H |
| 033E | t(84E0001C): LDR R4, SP, 1CH |
| 033F | t(03380004): ADD R3, R3, R4 |
| ELSIFu Mv.mode = 3 THENw mark(f,x Display.black,y x,z y+h)a;b line(f,c Display.black,d x,e y,f w,g h,h -1)i |
| 0340 | u(F7FFFCE7): BL -793 [0028H] |
| 0341 | v(E7000013): B 19 [0355H] |
| 0342 | w(80E00008): LDR R0, SP, 8H |
| 0343 | w(80000010): LDR R0, R0, 10H |
| 0344 | w(40090003): SUB R0, R0, 3H |
| 0345 | w(E900000F): BNE 15 [0355H] |
| 0346 | x(80E00024): LDR R0, SP, 24H |
| 0347 | y(41000000): MOV R1, R0, 0H |
| 0348 | z(82E00010): LDR R2, SP, 10H |
| 0349 | a(83E00014): LDR R3, SP, 14H |
| 034A | a(84E0001C): LDR R4, SP, 1CH |
| 034B | a(03380004): ADD R3, R3, R4 |
| 034C | b(F7FFFCDB): BL -805 [0028H] |
| 034D | c(80E00024): LDR R0, SP, 24H |
| 034E | d(41000000): MOV R1, R0, 0H |
| 034F | e(82E00010): LDR R2, SP, 10H |
| 0350 | f(83E00014): LDR R3, SP, 14H |
| 0351 | g(84E00018): LDR R4, SP, 18H |
| 0352 | h(85E0001C): LDR R5, SP, 1CH |
| 0353 | i(5600FFFF): MOV R6, R0, FFFFFFFFH |
| ENDj |
| 0354 | j(F7FFFD0D): BL -755 [0062H] |
| ELSIF objk(Curve)l.kind = 2 THENm (*circle*) |
| 0355 | k(E70000B2): B 178 [0408H] |
| 0356 | l(80E00004): LDR R0, SP, 4H |
| 0357 | l(E1000005): BEQ 5 [035DH] |
| 0358 | l(810FFFF8): LDR R1, R0, FFFFFFF8H |
| 0359 | l(81100004): LDR R1, R1, 4H |
| 035A | l .FIXUP D |
| 035A | l(8D000050): LDR SB, MT, MOD0 [Curves] |
| 035B | l(42D80000): ADD R2, SB, 0H [data] |
| 035C | l(02290001): SUB R2, R2, R1 |
| 035D | l(D911322C): BLNE MT [trap=2, pos=4402] |
| 035E | m(8000001C): LDR R0, R0, 1CH |
| 035F | m(40090002): SUB R0, R0, 2H |
| 0360 | m(E900004C): BNE 76 [03ADH] |
| w := w DIV 2;n |
| 0361 | n(80E00018): LDR R0, SP, 18H |
| 0362 | n(40020001): ASR R0, R0, 1H |
| 0363 | n(A0E00018): STR R0, SP, 18H |
| IF M.mode = 0 THENo |
| 0364 | o(80E00008): LDR R0, SP, 8H |
| 0365 | o(80000010): LDR R0, R0, 10H |
| 0366 | o(E9000016): BNE 22 [037DH] |
| IF obj.selectedp THENq mark(f,r Display.white,s x+w,t y)u ENDv ; |
| 0367 | p(80E00004): LDR R0, SP, 4H |
| 0368 | p(D1119D4C): BLEQ MT [trap=4, pos=4509] |
| 0369 | q(90000011): LDR R0, R0, 11H |
| 036A | q(E1000007): BEQ 7 [0372H] |
| 036B | r(80E00024): LDR R0, SP, 24H |
| 036C | s(41000001): MOV R1, R0, 1H |
| 036D | t(82E00010): LDR R2, SP, 10H |
| 036E | t(83E00018): LDR R3, SP, 18H |
| 036F | t(02280003): ADD R2, R2, R3 |
| 0370 | u(83E00014): LDR R3, SP, 14H |
| 0371 | v(F7FFFCB6): BL -842 [0028H] |
| circle(f,w col,x x+w,y y+w,z w)a |
| 0372 | w(80E00024): LDR R0, SP, 24H |
| 0373 | x(81E00020): LDR R1, SP, 20H |
| 0374 | y(82E00010): LDR R2, SP, 10H |
| 0375 | y(83E00018): LDR R3, SP, 18H |
| 0376 | y(02280003): ADD R2, R2, R3 |
| 0377 | z(83E00014): LDR R3, SP, 14H |
| 0378 | z(84E00018): LDR R4, SP, 18H |
| 0379 | z(03380004): ADD R3, R3, R4 |
| 037A | a(84E00018): LDR R4, SP, 18H |
| ELSIFb Mc.mode = 1 THENd mark(f,e Display.white,f x+w,g y)h |
| 037B | b(F7FFFD55): BL -683 [00D1H] |
| 037C | c(E700002F): B 47 [03ACH] |
| 037D | d(80E00008): LDR R0, SP, 8H |
| 037E | d(80000010): LDR R0, R0, 10H |
| 037F | d(40090001): SUB R0, R0, 1H |
| 0380 | d(E9000008): BNE 8 [0389H] |
| 0381 | e(80E00024): LDR R0, SP, 24H |
| 0382 | f(41000001): MOV R1, R0, 1H |
| 0383 | g(82E00010): LDR R2, SP, 10H |
| 0384 | g(83E00018): LDR R3, SP, 18H |
| 0385 | g(02280003): ADD R2, R2, R3 |
| 0386 | h(83E00014): LDR R3, SP, 14H |
| ELSIFi Mj.mode = 2 THENk mark(f,l f.colm,n x+w,o y)p |
| 0387 | i(F7FFFCA0): BL -864 [0028H] |
| 0388 | j(E7000023): B 35 [03ACH] |
| 0389 | k(80E00008): LDR R0, SP, 8H |
| 038A | k(80000010): LDR R0, R0, 10H |
| 038B | k(40090002): SUB R0, R0, 2H |
| 038C | k(E900000A): BNE 10 [0397H] |
| 038D | l(80E00024): LDR R0, SP, 24H |
| 038E | m(81E00024): LDR R1, SP, 24H |
| 038F | m(D1125C4C): BLEQ MT [trap=4, pos=4700] |
| 0390 | n(81100038): LDR R1, R1, 38H |
| 0391 | o(82E00010): LDR R2, SP, 10H |
| 0392 | o(83E00018): LDR R3, SP, 18H |
| 0393 | o(02280003): ADD R2, R2, R3 |
| 0394 | p(83E00014): LDR R3, SP, 14H |
| ELSIFq Mr.mode = 3 THENs mark(f,t Display.black,u x+w,v y)w;x circle(f,y Display.black,z x+w,a y+w,b w)c |
| 0395 | q(F7FFFC92): BL -878 [0028H] |
| 0396 | r(E7000015): B 21 [03ACH] |
| 0397 | s(80E00008): LDR R0, SP, 8H |
| 0398 | s(80000010): LDR R0, R0, 10H |
| 0399 | s(40090003): SUB R0, R0, 3H |
| 039A | s(E9000011): BNE 17 [03ACH] |
| 039B | t(80E00024): LDR R0, SP, 24H |
| 039C | u(41000000): MOV R1, R0, 0H |
| 039D | v(82E00010): LDR R2, SP, 10H |
| 039E | v(83E00018): LDR R3, SP, 18H |
| 039F | v(02280003): ADD R2, R2, R3 |
| 03A0 | w(83E00014): LDR R3, SP, 14H |
| 03A1 | x(F7FFFC86): BL -890 [0028H] |
| 03A2 | y(80E00024): LDR R0, SP, 24H |
| 03A3 | z(41000000): MOV R1, R0, 0H |
| 03A4 | a(82E00010): LDR R2, SP, 10H |
| 03A5 | a(83E00018): LDR R3, SP, 18H |
| 03A6 | a(02280003): ADD R2, R2, R3 |
| 03A7 | b(83E00014): LDR R3, SP, 14H |
| 03A8 | b(84E00018): LDR R4, SP, 18H |
| 03A9 | b(03380004): ADD R3, R3, R4 |
| 03AA | c(84E00018): LDR R4, SP, 18H |
| ENDd |
| 03AB | d(F7FFFD25): BL -731 [00D1H] |
| ELSIF obje(Curve)f.kind = 3 THENg (*ellipse*) |
| 03AC | e(E700005B): B 91 [0408H] |
| 03AD | f(80E00004): LDR R0, SP, 4H |
| 03AE | f(E1000005): BEQ 5 [03B4H] |
| 03AF | f(810FFFF8): LDR R1, R0, FFFFFFF8H |
| 03B0 | f(81100004): LDR R1, R1, 4H |
| 03B1 | f .FIXUP D |
| 03B1 | f(8D000057): LDR SB, MT, MOD0 [Curves] |
| 03B2 | f(42D80000): ADD R2, SB, 0H [data] |
| 03B3 | f(02290001): SUB R2, R2, R1 |
| 03B4 | f(D912F22C): BLNE MT [trap=2, pos=4850] |
| 03B5 | g(8000001C): LDR R0, R0, 1CH |
| 03B6 | g(40090003): SUB R0, R0, 3H |
| 03B7 | g(E9000050): BNE 80 [0408H] |
| w := w DIV 2;h h := h DIV 2;i |
| 03B8 | h(80E00018): LDR R0, SP, 18H |
| 03B9 | h(40020001): ASR R0, R0, 1H |
| 03BA | h(A0E00018): STR R0, SP, 18H |
| 03BB | i(80E0001C): LDR R0, SP, 1CH |
| 03BC | i(40020001): ASR R0, R0, 1H |
| 03BD | i(A0E0001C): STR R0, SP, 1CH |
| IF M.mode = 0 THENj |
| 03BE | j(80E00008): LDR R0, SP, 8H |
| 03BF | j(80000010): LDR R0, R0, 10H |
| 03C0 | j(E9000017): BNE 23 [03D8H] |
| IF obj.selectedk THENl mark(f,m Display.white,n x+w,o y)p ENDq ; |
| 03C1 | k(80E00004): LDR R0, SP, 4H |
| 03C2 | k(D1136C4C): BLEQ MT [trap=4, pos=4972] |
| 03C3 | l(90000011): LDR R0, R0, 11H |
| 03C4 | l(E1000007): BEQ 7 [03CCH] |
| 03C5 | m(80E00024): LDR R0, SP, 24H |
| 03C6 | n(41000001): MOV R1, R0, 1H |
| 03C7 | o(82E00010): LDR R2, SP, 10H |
| 03C8 | o(83E00018): LDR R3, SP, 18H |
| 03C9 | o(02280003): ADD R2, R2, R3 |
| 03CA | p(83E00014): LDR R3, SP, 14H |
| 03CB | q(F7FFFC5C): BL -932 [0028H] |
| ellipse(f,r col,s x+w,t y+h,u w,v h)w |
| 03CC | r(80E00024): LDR R0, SP, 24H |
| 03CD | s(81E00020): LDR R1, SP, 20H |
| 03CE | t(82E00010): LDR R2, SP, 10H |
| 03CF | t(83E00018): LDR R3, SP, 18H |
| 03D0 | t(02280003): ADD R2, R2, R3 |
| 03D1 | u(83E00014): LDR R3, SP, 14H |
| 03D2 | u(84E0001C): LDR R4, SP, 1CH |
| 03D3 | u(03380004): ADD R3, R3, R4 |
| 03D4 | v(84E00018): LDR R4, SP, 18H |
| 03D5 | w(85E0001C): LDR R5, SP, 1CH |
| ELSIFx My.mode = 1 THENz mark(f,a Display.white,b x+w,c y)d |
| 03D6 | x(F7FFFD71): BL -655 [0148H] |
| 03D7 | y(E7000030): B 48 [0408H] |
| 03D8 | z(80E00008): LDR R0, SP, 8H |
| 03D9 | z(80000010): LDR R0, R0, 10H |
| 03DA | z(40090001): SUB R0, R0, 1H |
| 03DB | z(E9000008): BNE 8 [03E4H] |
| 03DC | a(80E00024): LDR R0, SP, 24H |
| 03DD | b(41000001): MOV R1, R0, 1H |
| 03DE | c(82E00010): LDR R2, SP, 10H |
| 03DF | c(83E00018): LDR R3, SP, 18H |
| 03E0 | c(02280003): ADD R2, R2, R3 |
| 03E1 | d(83E00014): LDR R3, SP, 14H |
| ELSIFe Mf.mode = 2 THENg mark(f,h f.coli,j x+w,k y)l |
| 03E2 | e(F7FFFC45): BL -955 [0028H] |
| 03E3 | f(E7000024): B 36 [0408H] |
| 03E4 | g(80E00008): LDR R0, SP, 8H |
| 03E5 | g(80000010): LDR R0, R0, 10H |
| 03E6 | g(40090002): SUB R0, R0, 2H |
| 03E7 | g(E900000A): BNE 10 [03F2H] |
| 03E8 | h(80E00024): LDR R0, SP, 24H |
| 03E9 | i(81E00024): LDR R1, SP, 24H |
| 03EA | i(D1142F4C): BLEQ MT [trap=4, pos=5167] |
| 03EB | j(81100038): LDR R1, R1, 38H |
| 03EC | k(82E00010): LDR R2, SP, 10H |
| 03ED | k(83E00018): LDR R3, SP, 18H |
| 03EE | k(02280003): ADD R2, R2, R3 |
| 03EF | l(83E00014): LDR R3, SP, 14H |
| ELSIFm Mn.mode = 3 THENo mark(f,p Display.black,q x+w,r y)s;t ellipse(f,u Display.black,v x+w,w y+h,x w,y h)z |
| 03F0 | m(F7FFFC37): BL -969 [0028H] |
| 03F1 | n(E7000016): B 22 [0408H] |
| 03F2 | o(80E00008): LDR R0, SP, 8H |
| 03F3 | o(80000010): LDR R0, R0, 10H |
| 03F4 | o(40090003): SUB R0, R0, 3H |
| 03F5 | o(E9000012): BNE 18 [0408H] |
| 03F6 | p(80E00024): LDR R0, SP, 24H |
| 03F7 | q(41000000): MOV R1, R0, 0H |
| 03F8 | r(82E00010): LDR R2, SP, 10H |
| 03F9 | r(83E00018): LDR R3, SP, 18H |
| 03FA | r(02280003): ADD R2, R2, R3 |
| 03FB | s(83E00014): LDR R3, SP, 14H |
| 03FC | t(F7FFFC2B): BL -981 [0028H] |
| 03FD | u(80E00024): LDR R0, SP, 24H |
| 03FE | v(41000000): MOV R1, R0, 0H |
| 03FF | w(82E00010): LDR R2, SP, 10H |
| 0400 | w(83E00018): LDR R3, SP, 18H |
| 0401 | w(02280003): ADD R2, R2, R3 |
| 0402 | x(83E00014): LDR R3, SP, 14H |
| 0403 | x(84E0001C): LDR R4, SP, 1CH |
| 0404 | x(03380004): ADD R3, R3, R4 |
| 0405 | y(84E00018): LDR R4, SP, 18H |
| 0406 | z(85E0001C): LDR R5, SP, 1CH |
| ENDa |
| 0407 | a(F7FFFD40): BL -704 [0148H] |
| END |
| END |
| END |
| ENDb Draw; |
| 0408 | b(8FE00000): LDR LNK, SP, 0H |
| 0409 | b(4EE80028): ADD SP, SP, 28H |
| 040A | b(C700000F): B LNK |
| |
| PROCEDURE Selectable(obj: Graphics.Object; x, y: INTEGER): BOOLEAN; |
| VAR xm, y0, w, h: INTEGER; res: BOOLEAN; |
| BEGINc |
| 040B | c(4EE90024): SUB SP, SP, 24H |
| 040C | c(AFE00000): STR LNK, SP, 0H |
| 040D | c(A0E00004): STR R0, SP, 4H |
| 040E | c(A1E00008): STR R1, SP, 8H |
| 040F | c(A2E0000C): STR R2, SP, CH |
| IF obj(Curve)d.kind <= 1 THENe (*line*) |
| 0410 | d(80E00004): LDR R0, SP, 4H |
| 0411 | d(E1000005): BEQ 5 [0417H] |
| 0412 | d(810FFFF8): LDR R1, R0, FFFFFFF8H |
| 0413 | d(81100004): LDR R1, R1, 4H |
| 0414 | d .FIXUP D |
| 0414 | d(8D000063): LDR SB, MT, MOD0 [Curves] |
| 0415 | d(42D80000): ADD R2, SB, 0H [data] |
| 0416 | d(02290001): SUB R2, R2, R1 |
| 0417 | d(D915682C): BLNE MT [trap=2, pos=5480] |
| 0418 | e(8000001C): LDR R0, R0, 1CH |
| 0419 | e(40090001): SUB R0, R0, 1H |
| 041A | e(EE00004A): BGT 74 [0465H] |
| w := obj.wf;g h := obj.hh;i |
| 041B | f(80E00004): LDR R0, SP, 4H |
| 041C | f(D115924C): BLEQ MT [trap=4, pos=5522] |
| 041D | g(80000008): LDR R0, R0, 8H |
| 041E | g(A0E00018): STR R0, SP, 18H |
| 041F | h(80E00004): LDR R0, SP, 4H |
| 0420 | h(D1159E4C): BLEQ MT [trap=4, pos=5534] |
| 0421 | i(8000000C): LDR R0, R0, CH |
| 0422 | i(A0E0001C): STR R0, SP, 1CH |
| IF obj(Curve)j.kind = 1 THENk y0 := obj.yl + h;m h := -h ELSEn y0o := obj.yp ENDq ; |
| 0423 | j(80E00004): LDR R0, SP, 4H |
| 0424 | j(E1000005): BEQ 5 [042AH] |
| 0425 | j(810FFFF8): LDR R1, R0, FFFFFFF8H |
| 0426 | j(81100004): LDR R1, R1, 4H |
| 0427 | j .FIXUP D |
| 0427 | j(8D000013): LDR SB, MT, MOD0 [Curves] |
| 0428 | j(42D80000): ADD R2, SB, 0H [data] |
| 0429 | j(02290001): SUB R2, R2, R1 |
| 042A | j(D915B32C): BLNE MT [trap=2, pos=5555] |
| 042B | k(8000001C): LDR R0, R0, 1CH |
| 042C | k(40090001): SUB R0, R0, 1H |
| 042D | k(E900000B): BNE 11 [0439H] |
| 042E | l(80E00004): LDR R0, SP, 4H |
| 042F | l(D115CD4C): BLEQ MT [trap=4, pos=5581] |
| 0430 | m(80000004): LDR R0, R0, 4H |
| 0431 | m(81E0001C): LDR R1, SP, 1CH |
| 0432 | m(00080001): ADD R0, R0, R1 |
| 0433 | m(A0E00014): STR R0, SP, 14H |
| 0434 | n(80E0001C): LDR R0, SP, 1CH |
| 0435 | n(41000000): MOV R1, R0, 0H |
| 0436 | n(00190000): SUB R0, R1, R0 |
| 0437 | n(A0E0001C): STR R0, SP, 1CH |
| 0438 | o(E7000004): B 4 [043DH] |
| 0439 | p(80E00004): LDR R0, SP, 4H |
| 043A | p(D115EB4C): BLEQ MT [trap=4, pos=5611] |
| 043B | q(80000004): LDR R0, R0, 4H |
| 043C | q(A0E00014): STR R0, SP, 14H |
| res := (obj.xr <= x)s & (tx < obj.xu + w)v & (wABS(y-y0)x*yw -z (x-obj.xa)b*h <c w*4)d |
| 043D | r(80E00004): LDR R0, SP, 4H |
| 043E | r(D116054C): BLEQ MT [trap=4, pos=5637] |
| 043F | s(80000000): LDR R0, R0, 0H |
| 0440 | s(81E00008): LDR R1, SP, 8H |
| 0441 | s(00090001): SUB R0, R0, R1 |
| 0442 | t(EE00001F): BGT 31 [0462H] |
| 0443 | u(80E00004): LDR R0, SP, 4H |
| 0444 | u(D116184C): BLEQ MT [trap=4, pos=5656] |
| 0445 | v(80000000): LDR R0, R0, 0H |
| 0446 | v(81E00018): LDR R1, SP, 18H |
| 0447 | v(00080001): ADD R0, R0, R1 |
| 0448 | v(81E00008): LDR R1, SP, 8H |
| 0449 | v(01190000): SUB R1, R1, R0 |
| 044A | w(ED000017): BGE 23 [0462H] |
| 044B | x(80E0000C): LDR R0, SP, CH |
| 044C | x(81E00014): LDR R1, SP, 14H |
| 044D | x(00090001): SUB R0, R0, R1 |
| 044E | y(40090000): SUB R0, R0, 0H |
| 044F | y(ED000002): BGE 2 [0452H] |
| 0450 | y(41000000): MOV R1, R0, 0H |
| 0451 | y(00190000): SUB R0, R1, R0 |
| 0452 | z(81E00018): LDR R1, SP, 18H |
| 0453 | z(000A0001): MUL R0, R0, R1 |
| 0454 | a(81E00004): LDR R1, SP, 4H |
| 0455 | a(D116374C): BLEQ MT [trap=4, pos=5687] |
| 0456 | b(82E00008): LDR R2, SP, 8H |
| 0457 | b(81100000): LDR R1, R1, 0H |
| 0458 | b(01290001): SUB R1, R2, R1 |
| 0459 | c(82E0001C): LDR R2, SP, 1CH |
| 045A | c(011A0002): MUL R1, R1, R2 |
| 045B | c(00090001): SUB R0, R0, R1 |
| 045C | d(81E00018): LDR R1, SP, 18H |
| 045D | d(41110002): LSL R1, R1, 2H |
| 045E | d(00090001): SUB R0, R0, R1 |
| ELSEe (*circle or ellipse*) |
| 045F | e(ED000002): BGE 2 [0462H] |
| 0460 | e(40000001): MOV R0, R0, 1H |
| 0461 | e(E7000001): B 1 [0463H] |
| 0462 | e(40000000): MOV R0, R0, 0H |
| 0463 | e(B0E00020): STR R0, SP, 20H |
| xmf := obj.wg DIV 2 +h obj.xi;j |
| 0464 | f(E7000025): B 37 [048AH] |
| 0465 | g(80E00004): LDR R0, SP, 4H |
| 0466 | g(D116724C): BLEQ MT [trap=4, pos=5746] |
| 0467 | h(80000008): LDR R0, R0, 8H |
| 0468 | h(40020001): ASR R0, R0, 1H |
| 0469 | i(81E00004): LDR R1, SP, 4H |
| 046A | i(D116804C): BLEQ MT [trap=4, pos=5760] |
| 046B | j(81100000): LDR R1, R1, 0H |
| 046C | j(00080001): ADD R0, R0, R1 |
| 046D | j(A0E00010): STR R0, SP, 10H |
| res := (xm - 4 <=k x)l & (mx <= xm + 4)n & (oobj.yp - 4 <=q y)r & (sy <= obj.yt + 4)u |
| 046E | k(80E00010): LDR R0, SP, 10H |
| 046F | k(40090004): SUB R0, R0, 4H |
| 0470 | l(81E00008): LDR R1, SP, 8H |
| 0471 | l(00090001): SUB R0, R0, R1 |
| 0472 | m(EE000015): BGT 21 [0488H] |
| 0473 | n(80E00010): LDR R0, SP, 10H |
| 0474 | n(40080004): ADD R0, R0, 4H |
| 0475 | n(81E00008): LDR R1, SP, 8H |
| 0476 | n(01190000): SUB R1, R1, R0 |
| 0477 | o(EE000010): BGT 16 [0488H] |
| 0478 | p(80E00004): LDR R0, SP, 4H |
| 0479 | p(D116B54C): BLEQ MT [trap=4, pos=5813] |
| 047A | q(80000004): LDR R0, R0, 4H |
| 047B | q(40090004): SUB R0, R0, 4H |
| 047C | r(81E0000C): LDR R1, SP, CH |
| 047D | r(00090001): SUB R0, R0, R1 |
| 047E | s(EE000009): BGT 9 [0488H] |
| 047F | t(80E00004): LDR R0, SP, 4H |
| 0480 | t(D116CD4C): BLEQ MT [trap=4, pos=5837] |
| 0481 | u(80000004): LDR R0, R0, 4H |
| 0482 | u(40080004): ADD R0, R0, 4H |
| 0483 | u(81E0000C): LDR R1, SP, CH |
| 0484 | u(01190000): SUB R1, R1, R0 |
| ENDv ; |
| 0485 | v(EE000002): BGT 2 [0488H] |
| 0486 | v(40000001): MOV R0, R0, 1H |
| 0487 | v(E7000001): B 1 [0489H] |
| 0488 | v(40000000): MOV R0, R0, 0H |
| 0489 | v(B0E00020): STR R0, SP, 20H |
| RETURN res |
| ENDw Selectable; |
| 048A | w(90E00020): LDR R0, SP, 20H |
| 048B | w(8FE00000): LDR LNK, SP, 0H |
| 048C | w(4EE80024): ADD SP, SP, 24H |
| 048D | w(C700000F): B LNK |
| |
| PROCEDURE Change(obj: Graphics.Object; VAR M: Graphics.Msg); |
| BEGINx |
| 048E | x(4EE90010): SUB SP, SP, 10H |
| 048F | x(AFE00000): STR LNK, SP, 0H |
| 0490 | x(A0E00004): STR R0, SP, 4H |
| 0491 | x(A1E00008): STR R1, SP, 8H |
| 0492 | x(A2E0000C): STR R2, SP, CH |
| IF M IS Graphics.ColorMsg THENy obj.colz := M(Graphics.ColorMsg)a.col ENDb |
| 0493 | y(80E0000C): LDR R0, SP, CH |
| 0494 | y(80000004): LDR R0, R0, 4H |
| 0495 | y .FIXUP D |
| 0495 | y(8D70006E): LDR SB, MT, MOD7 [Graphics] |
| 0496 | y(41D80004): ADD R1, SB, VAR4 |
| 0497 | y(01190000): SUB R1, R1, R0 |
| 0498 | y(E900000B): BNE 11 [04A4H] |
| 0499 | z(80E00004): LDR R0, SP, 4H |
| 049A | z(D117704C): BLEQ MT [trap=4, pos=6000] |
| 049B | a(81E0000C): LDR R1, SP, CH |
| 049C | a(81100004): LDR R1, R1, 4H |
| 049D | a .FIXUP D |
| 049D | a(8D700008): LDR SB, MT, MOD7 [Graphics] |
| 049E | a(42D80004): ADD R2, SB, VAR4 |
| 049F | a(02290001): SUB R2, R2, R1 |
| 04A0 | a(D917882C): BLNE MT [trap=2, pos=6024] |
| 04A1 | b(81E00008): LDR R1, SP, 8H |
| 04A2 | b(81100000): LDR R1, R1, 0H |
| 04A3 | b(B1000010): STR R1, R0, 10H |
| ENDc Change; |
| 04A4 | c(8FE00000): LDR LNK, SP, 0H |
| 04A5 | c(4EE80010): ADD SP, SP, 10H |
| 04A6 | c(C700000F): B LNK |
| |
| PROCEDURE Read(obj: Graphics.Object; VAR R: Files.Rider; VAR C: Graphics.Context); |
| VAR len: BYTE; |
| BEGINd Files.ReadByte(R,e len)f;g Files.ReadByte(R,h len)i;j obj(Curve)k.kind := len;l |
| 04A7 | d(4EE9001C): SUB SP, SP, 1CH |
| 04A8 | d(AFE00000): STR LNK, SP, 0H |
| 04A9 | d(A0E00004): STR R0, SP, 4H |
| 04AA | d(A1E00008): STR R1, SP, 8H |
| 04AB | d(A2E0000C): STR R2, SP, CH |
| 04AC | d(A3E00010): STR R3, SP, 10H |
| 04AD | d(A4E00014): STR R4, SP, 14H |
| 04AE | e(80E00008): LDR R0, SP, 8H |
| 04AF | e(81E0000C): LDR R1, SP, CH |
| 04B0 | f(42E80018): ADD R2, SP, 18H |
| 04B1 | g .FIXUP P |
| 04B1 | g(F720E287): BL MOD2 [Files] PROC14 |
| 04B2 | h(80E00008): LDR R0, SP, 8H |
| 04B3 | h(81E0000C): LDR R1, SP, CH |
| 04B4 | i(42E80018): ADD R2, SP, 18H |
| 04B5 | j .FIXUP P |
| 04B5 | j(F720E004): BL MOD2 [Files] PROC14 |
| 04B6 | k(80E00004): LDR R0, SP, 4H |
| 04B7 | k(E1000005): BEQ 5 [04BDH] |
| 04B8 | k(810FFFF8): LDR R1, R0, FFFFFFF8H |
| 04B9 | k(81100004): LDR R1, R1, 4H |
| 04BA | k .FIXUP D |
| 04BA | k(8D00001D): LDR SB, MT, MOD0 [Curves] |
| 04BB | k(42D80000): ADD R2, SB, 0H [data] |
| 04BC | k(02290001): SUB R2, R2, R1 |
| 04BD | k(D9184A2C): BLNE MT [trap=2, pos=6218] |
| 04BE | l(91E00018): LDR R1, SP, 18H |
| 04BF | l(A100001C): STR R1, R0, 1CH |
| Files.ReadByte(R,m len)n;o obj(Curve)p.lw := len |
| 04C0 | m(80E00008): LDR R0, SP, 8H |
| 04C1 | m(81E0000C): LDR R1, SP, CH |
| 04C2 | n(42E80018): ADD R2, SP, 18H |
| 04C3 | o .FIXUP P |
| 04C3 | o(F720E00E): BL MOD2 [Files] PROC14 |
| 04C4 | p(80E00004): LDR R0, SP, 4H |
| 04C5 | p(E1000005): BEQ 5 [04CBH] |
| 04C6 | p(810FFFF8): LDR R1, R0, FFFFFFF8H |
| 04C7 | p(81100004): LDR R1, R1, 4H |
| 04C8 | p .FIXUP D |
| 04C8 | p(8D00000E): LDR SB, MT, MOD0 [Curves] |
| 04C9 | p(42D80000): ADD R2, SB, 0H [data] |
| 04CA | p(02290001): SUB R2, R2, R1 |
| 04CB | p(D9187E2C): BLNE MT [trap=2, pos=6270] |
| ENDq Read; |
| 04CC | q(91E00018): LDR R1, SP, 18H |
| 04CD | q(A1000020): STR R1, R0, 20H |
| 04CE | q(8FE00000): LDR LNK, SP, 0H |
| 04CF | q(4EE8001C): ADD SP, SP, 1CH |
| 04D0 | q(C700000F): B LNK |
| |
| PROCEDURE Write(obj: Graphics.Object; cno: INTEGER; VAR W: Files.Rider; VAR C: Graphics.Context); |
| BEGINr Graphics.WriteObj(W,s cno,t obj)u;v |
| 04D1 | r(4EE9001C): SUB SP, SP, 1CH |
| 04D2 | r(AFE00000): STR LNK, SP, 0H |
| 04D3 | r(A0E00004): STR R0, SP, 4H |
| 04D4 | r(A1E00008): STR R1, SP, 8H |
| 04D5 | r(A2E0000C): STR R2, SP, CH |
| 04D6 | r(A3E00010): STR R3, SP, 10H |
| 04D7 | r(A4E00014): STR R4, SP, 14H |
| 04D8 | r(A5E00018): STR R5, SP, 18H |
| 04D9 | s(80E0000C): LDR R0, SP, CH |
| 04DA | s(81E00010): LDR R1, SP, 10H |
| 04DB | t(82E00008): LDR R2, SP, 8H |
| 04DC | u(83E00004): LDR R3, SP, 4H |
| 04DD | v .FIXUP P |
| 04DD | v(F772401A): BL MOD7 [Graphics] PROC36 |
| Files.WriteByte(W,w 2)x;y Files.WriteByte(W,z obj(Curve)a.kind)b;c Files.WriteByte(W,d obj(Curve)e.lw)f |
| 04DE | w(80E0000C): LDR R0, SP, CH |
| 04DF | w(81E00010): LDR R1, SP, 10H |
| 04E0 | x(42000002): MOV R2, R0, 2H |
| 04E1 | y .FIXUP P |
| 04E1 | y(F7216004): BL MOD2 [Files] PROC22 |
| 04E2 | z(80E0000C): LDR R0, SP, CH |
| 04E3 | z(81E00010): LDR R1, SP, 10H |
| 04E4 | a(82E00004): LDR R2, SP, 4H |
| 04E5 | a(E1000005): BEQ 5 [04EBH] |
| 04E6 | a(832FFFF8): LDR R3, R2, FFFFFFF8H |
| 04E7 | a(83300004): LDR R3, R3, 4H |
| 04E8 | a .FIXUP D |
| 04E8 | a(8D000020): LDR SB, MT, MOD0 [Curves] |
| 04E9 | a(44D80000): ADD R4, SB, 0H [data] |
| 04EA | a(04490003): SUB R4, R4, R3 |
| 04EB | a(D9195A2C): BLNE MT [trap=2, pos=6490] |
| 04EC | b(8220001C): LDR R2, R2, 1CH |
| 04ED | c .FIXUP P |
| 04ED | c(F721600C): BL MOD2 [Files] PROC22 |
| 04EE | d(80E0000C): LDR R0, SP, CH |
| 04EF | d(81E00010): LDR R1, SP, 10H |
| 04F0 | e(82E00004): LDR R2, SP, 4H |
| 04F1 | e(E1000005): BEQ 5 [04F7H] |
| 04F2 | e(832FFFF8): LDR R3, R2, FFFFFFF8H |
| 04F3 | e(83300004): LDR R3, R3, 4H |
| 04F4 | e .FIXUP D |
| 04F4 | e(8D00000C): LDR SB, MT, MOD0 [Curves] |
| 04F5 | e(44D80000): ADD R4, SB, 0H [data] |
| 04F6 | e(04490003): SUB R4, R4, R3 |
| 04F7 | e(D9197F2C): BLNE MT [trap=2, pos=6527] |
| 04F8 | f(82200020): LDR R2, R2, 20H |
| ENDg Write; |
| 04F9 | g .FIXUP P |
| 04F9 | g(F721600C): BL MOD2 [Files] PROC22 |
| 04FA | g(8FE00000): LDR LNK, SP, 0H |
| 04FB | g(4EE8001C): ADD SP, SP, 1CH |
| 04FC | g(C700000F): B LNK |
| |
| PROCEDURE MakeLine*; (*command*) |
| VAR x0, x1, y0, y1: INTEGER; |
| c: Curve; |
| G: GraphicFrames.Frame; |
| BEGINh G := GraphicFrames.Focus();i |
| 04FD | h .PROC 4 |
| 04FD | h .COMMAND MakeLine |
| 04FD | h(4EE9001C): SUB SP, SP, 1CH |
| 04FE | h(AFE00000): STR LNK, SP, 0H |
| 04FF | i .FIXUP P |
| 04FF | i(F7909006): BL MOD9 [GraphicFrames] PROC9 |
| 0500 | i(A0E00018): STR R0, SP, 18H |
| IF (G # NIL)j & (kG.markl.next # NIL)m THENn |
| 0501 | j(80E00018): LDR R0, SP, 18H |
| 0502 | k(E1000093): BEQ 147 [0596H] |
| 0503 | l(80E00018): LDR R0, SP, 18H |
| 0504 | l(D11A434C): BLEQ MT [trap=4, pos=6723] |
| 0505 | m(80000048): LDR R0, R0, 48H |
| 0506 | n(E100008F): BEQ 143 [0596H] |
| GraphicFrames.Deselect(G)o;p |
| 0507 | o(80E00018): LDR R0, SP, 18H |
| 0508 | p .FIXUP P |
| 0508 | p(F7912009): BL MOD9 [GraphicFrames] PROC18 |
| x0 := G.markq.x;r y0 := G.marks.y;t x1 := G.marku.next.xv;w y1 := G.markx.next.yy;z |
| 0509 | q(80E00018): LDR R0, SP, 18H |
| 050A | q(D11A884C): BLEQ MT [trap=4, pos=6792] |
| 050B | r(80000040): LDR R0, R0, 40H |
| 050C | r(A0E00004): STR R0, SP, 4H |
| 050D | s(80E00018): LDR R0, SP, 18H |
| 050E | s(D11A984C): BLEQ MT [trap=4, pos=6808] |
| 050F | t(80000044): LDR R0, R0, 44H |
| 0510 | t(A0E0000C): STR R0, SP, CH |
| 0511 | u(80E00018): LDR R0, SP, 18H |
| 0512 | u(D11AA84C): BLEQ MT [trap=4, pos=6824] |
| 0513 | v(80000048): LDR R0, R0, 48H |
| 0514 | v(D11AAF4C): BLEQ MT [trap=4, pos=6831] |
| 0515 | w(80000000): LDR R0, R0, 0H |
| 0516 | w(A0E00008): STR R0, SP, 8H |
| 0517 | x(80E00018): LDR R0, SP, 18H |
| 0518 | x(D11ABD4C): BLEQ MT [trap=4, pos=6845] |
| 0519 | y(80000048): LDR R0, R0, 48H |
| 051A | y(D11AC44C): BLEQ MT [trap=4, pos=6852] |
| 051B | z(80000004): LDR R0, R0, 4H |
| 051C | z(A0E00010): STR R0, SP, 10H |
| NEW(c);a c.colb := Oberon.CurCol;c |
| 051D | a(40E80014): ADD R0, SP, 14H |
| 051E | a .FIXUP D |
| 051E | a(8D00002A): LDR SB, MT, MOD0 [Curves] |
| 051F | a(41D80000): ADD R1, SB, 0H [data] |
| 0520 | a(D71AD30C): BL MT [trap=0, pos=6867] |
| 0521 | b(80E00014): LDR R0, SP, 14H |
| 0522 | b(D11AD94C): BLEQ MT [trap=4, pos=6873] |
| 0523 | c .FIXUP D |
| 0523 | c(8D300005): LDR SB, MT, MOD3 [Oberon] |
| 0524 | c(81D00010): LDR R1, SB, VAR16 |
| 0525 | c(B1000010): STR R1, R0, 10H |
| c.wd := ABS(x1-x0)e;f c.hg := ABS(y1-y0)h;i c.lwj := Graphics.width;k |
| 0526 | d(80E00014): LDR R0, SP, 14H |
| 0527 | d(D11AF54C): BLEQ MT [trap=4, pos=6901] |
| 0528 | e(81E00008): LDR R1, SP, 8H |
| 0529 | e(82E00004): LDR R2, SP, 4H |
| 052A | e(01190002): SUB R1, R1, R2 |
| 052B | f(41190000): SUB R1, R1, 0H |
| 052C | f(ED000002): BGE 2 [052FH] |
| 052D | f(42000000): MOV R2, R0, 0H |
| 052E | f(01290001): SUB R1, R2, R1 |
| 052F | f(A1000008): STR R1, R0, 8H |
| 0530 | g(80E00014): LDR R0, SP, 14H |
| 0531 | g(D11B084C): BLEQ MT [trap=4, pos=6920] |
| 0532 | h(81E00010): LDR R1, SP, 10H |
| 0533 | h(82E0000C): LDR R2, SP, CH |
| 0534 | h(01190002): SUB R1, R1, R2 |
| 0535 | i(41190000): SUB R1, R1, 0H |
| 0536 | i(ED000002): BGE 2 [0539H] |
| 0537 | i(42000000): MOV R2, R0, 0H |
| 0538 | i(01290001): SUB R1, R2, R1 |
| 0539 | i(A100000C): STR R1, R0, CH |
| 053A | j(80E00014): LDR R0, SP, 14H |
| 053B | j(D11B1C4C): BLEQ MT [trap=4, pos=6940] |
| 053C | k .FIXUP D |
| 053C | k(8D700019): LDR SB, MT, MOD7 [Graphics] |
| 053D | k(81D0000F): LDR R1, SB, VAR15 |
| 053E | k(A1000020): STR R1, R0, 20H |
| IF x0 <= x1 THENl c.xm := x0;n |
| 053F | l(80E00004): LDR R0, SP, 4H |
| 0540 | l(81E00008): LDR R1, SP, 8H |
| 0541 | l(00090001): SUB R0, R0, R1 |
| 0542 | l(EE00001A): BGT 26 [055DH] |
| 0543 | m(80E00014): LDR R0, SP, 14H |
| 0544 | m(D11B4A4C): BLEQ MT [trap=4, pos=6986] |
| 0545 | n(81E00004): LDR R1, SP, 4H |
| 0546 | n(A1000000): STR R1, R0, 0H |
| IF y0 <= y1 THENo c.kindp := 0;q c.yr := y0 ELSEs ct.kindu := 1;v c.yw := y1 ENDx |
| 0547 | o(80E0000C): LDR R0, SP, CH |
| 0548 | o(81E00010): LDR R1, SP, 10H |
| 0549 | o(00090001): SUB R0, R0, R1 |
| 054A | o(EE000009): BGT 9 [0554H] |
| 054B | p(80E00014): LDR R0, SP, 14H |
| 054C | p(D11B714C): BLEQ MT [trap=4, pos=7025] |
| 054D | q(41000000): MOV R1, R0, 0H |
| 054E | q(A100001C): STR R1, R0, 1CH |
| 054F | r(80E00014): LDR R0, SP, 14H |
| 0550 | r(D11B7B4C): BLEQ MT [trap=4, pos=7035] |
| 0551 | s(81E0000C): LDR R1, SP, CH |
| 0552 | s(A1000004): STR R1, R0, 4H |
| 0553 | t(E7000008): B 8 [055CH] |
| 0554 | u(80E00014): LDR R0, SP, 14H |
| 0555 | u(D11B8D4C): BLEQ MT [trap=4, pos=7053] |
| 0556 | v(41000001): MOV R1, R0, 1H |
| 0557 | v(A100001C): STR R1, R0, 1CH |
| 0558 | w(80E00014): LDR R0, SP, 14H |
| 0559 | w(D11B974C): BLEQ MT [trap=4, pos=7063] |
| 055A | x(81E00010): LDR R1, SP, 10H |
| 055B | x(A1000004): STR R1, R0, 4H |
| ELSE cy.xz := x1;a |
| 055C | y(E7000019): B 25 [0576H] |
| 055D | z(80E00014): LDR R0, SP, 14H |
| 055E | z(D11BB04C): BLEQ MT [trap=4, pos=7088] |
| 055F | a(81E00008): LDR R1, SP, 8H |
| 0560 | a(A1000000): STR R1, R0, 0H |
| IF y1 < y0 THENb c.kindc := 0;d c.ye := y1 ELSEf cg.kindh := 1;i c.yj := y0 ENDk |
| 0561 | b(80E00010): LDR R0, SP, 10H |
| 0562 | b(81E0000C): LDR R1, SP, CH |
| 0563 | b(00090001): SUB R0, R0, R1 |
| 0564 | b(ED000009): BGE 9 [056EH] |
| 0565 | c(80E00014): LDR R0, SP, 14H |
| 0566 | c(D11BD64C): BLEQ MT [trap=4, pos=7126] |
| 0567 | d(41000000): MOV R1, R0, 0H |
| 0568 | d(A100001C): STR R1, R0, 1CH |
| 0569 | e(80E00014): LDR R0, SP, 14H |
| 056A | e(D11BE04C): BLEQ MT [trap=4, pos=7136] |
| 056B | f(81E00010): LDR R1, SP, 10H |
| 056C | f(A1000004): STR R1, R0, 4H |
| 056D | g(E7000008): B 8 [0576H] |
| 056E | h(80E00014): LDR R0, SP, 14H |
| 056F | h(D11BF24C): BLEQ MT [trap=4, pos=7154] |
| 0570 | i(41000001): MOV R1, R0, 1H |
| 0571 | i(A100001C): STR R1, R0, 1CH |
| 0572 | j(80E00014): LDR R0, SP, 14H |
| 0573 | j(D11BFC4C): BLEQ MT [trap=4, pos=7164] |
| 0574 | k(81E0000C): LDR R1, SP, CH |
| 0575 | k(A1000004): STR R1, R0, 4H |
| END ; |
| DEC(c.xl, G.xm);n DEC(c.yo, G.yp);q c.dor := method;s |
| 0576 | l(80E00014): LDR R0, SP, 14H |
| 0577 | l(D11C204C): BLEQ MT [trap=4, pos=7200] |
| 0578 | m(81E00018): LDR R1, SP, 18H |
| 0579 | m(D11C254C): BLEQ MT [trap=4, pos=7205] |
| 057A | n(82000000): LDR R2, R0, 0H |
| 057B | n(81100030): LDR R1, R1, 30H |
| 057C | n(02290001): SUB R2, R2, R1 |
| 057D | n(A2000000): STR R2, R0, 0H |
| 057E | o(80E00014): LDR R0, SP, 14H |
| 057F | o(D11C2F4C): BLEQ MT [trap=4, pos=7215] |
| 0580 | p(81E00018): LDR R1, SP, 18H |
| 0581 | p(D11C344C): BLEQ MT [trap=4, pos=7220] |
| 0582 | q(40080004): ADD R0, R0, 4H |
| 0583 | q(82000000): LDR R2, R0, 0H |
| 0584 | q(81100034): LDR R1, R1, 34H |
| 0585 | q(02290001): SUB R2, R2, R1 |
| 0586 | q(A2000000): STR R2, R0, 0H |
| 0587 | r(80E00014): LDR R0, SP, 14H |
| 0588 | r(D11C3B4C): BLEQ MT [trap=4, pos=7227] |
| 0589 | s .FIXUP D |
| 0589 | s(8D00004D): LDR SB, MT, MOD0 [Curves] |
| 058A | s(81D0001C): LDR R1, SB, 1CH [data] |
| 058B | s(A1000014): STR R1, R0, 14H |
| Graphics.Add(G.grapht,u c)v;w |
| 058C | t(80E00018): LDR R0, SP, 18H |
| 058D | t(D11C614C): BLEQ MT [trap=4, pos=7265] |
| 058E | u(8000001C): LDR R0, R0, 1CH |
| 058F | v(81E00014): LDR R1, SP, 14H |
| 0590 | w .FIXUP P |
| 0590 | w(F7716088): BL MOD7 [Graphics] PROC22 |
| GraphicFrames.Defocus(G)x;y GraphicFrames.DrawObj(G,z c)a |
| 0591 | x(80E00018): LDR R0, SP, 18H |
| 0592 | y .FIXUP P |
| 0592 | y(F7911002): BL MOD9 [GraphicFrames] PROC17 |
| 0593 | z(80E00018): LDR R0, SP, 18H |
| 0594 | a(81E00014): LDR R1, SP, 14H |
| ENDb |
| 0595 | b .FIXUP P |
| 0595 | b(F790E003): BL MOD9 [GraphicFrames] PROC14 |
| ENDc MakeLine; |
| 0596 | c(8FE00000): LDR LNK, SP, 0H |
| 0597 | c(4EE8001C): ADD SP, SP, 1CH |
| 0598 | c(C700000F): B LNK |
| |
| PROCEDURE MakeCircle*; (*command*) |
| VAR x0, y0, r: INTEGER; |
| c: Curve; |
| G: GraphicFrames.Frame; |
| BEGINd G := GraphicFrames.Focus();e |
| 0599 | d .PROC 5 |
| 0599 | d .COMMAND MakeCircle |
| 0599 | d(4EE90018): SUB SP, SP, 18H |
| 059A | d(AFE00000): STR LNK, SP, 0H |
| 059B | e .FIXUP P |
| 059B | e(F7909006): BL MOD9 [GraphicFrames] PROC9 |
| 059C | e(A0E00014): STR R0, SP, 14H |
| IF (G # NIL)f & (gG.markh.next # NIL)i THENj |
| 059D | f(80E00014): LDR R0, SP, 14H |
| 059E | g(E100005E): BEQ 94 [05FDH] |
| 059F | h(80E00014): LDR R0, SP, 14H |
| 05A0 | h(D11D6A4C): BLEQ MT [trap=4, pos=7530] |
| 05A1 | i(80000048): LDR R0, R0, 48H |
| 05A2 | j(E100005A): BEQ 90 [05FDH] |
| GraphicFrames.Deselect(G)k;l |
| 05A3 | k(80E00014): LDR R0, SP, 14H |
| 05A4 | l .FIXUP P |
| 05A4 | l(F7912009): BL MOD9 [GraphicFrames] PROC18 |
| x0 := G.markm.x;n y0 := G.marko.y;p r := ABS(G.markq.next.xr-x0)s;t |
| 05A5 | m(80E00014): LDR R0, SP, 14H |
| 05A6 | m(D11DAF4C): BLEQ MT [trap=4, pos=7599] |
| 05A7 | n(80000040): LDR R0, R0, 40H |
| 05A8 | n(A0E00004): STR R0, SP, 4H |
| 05A9 | o(80E00014): LDR R0, SP, 14H |
| 05AA | o(D11DBF4C): BLEQ MT [trap=4, pos=7615] |
| 05AB | p(80000044): LDR R0, R0, 44H |
| 05AC | p(A0E00008): STR R0, SP, 8H |
| 05AD | q(80E00014): LDR R0, SP, 14H |
| 05AE | q(D11DD24C): BLEQ MT [trap=4, pos=7634] |
| 05AF | r(80000048): LDR R0, R0, 48H |
| 05B0 | r(D11DD94C): BLEQ MT [trap=4, pos=7641] |
| 05B1 | s(80000000): LDR R0, R0, 0H |
| 05B2 | s(81E00004): LDR R1, SP, 4H |
| 05B3 | s(00090001): SUB R0, R0, R1 |
| 05B4 | t(40090000): SUB R0, R0, 0H |
| 05B5 | t(ED000002): BGE 2 [05B8H] |
| 05B6 | t(41000000): MOV R1, R0, 0H |
| 05B7 | t(00190000): SUB R0, R1, R0 |
| 05B8 | t(A0E0000C): STR R0, SP, CH |
| IF r > 4 THENu |
| 05B9 | u(80E0000C): LDR R0, SP, CH |
| 05BA | u(40090004): SUB R0, R0, 4H |
| 05BB | u(E6000041): BLE 65 [05FDH] |
| NEW(c);v c.xw := x0 - r -x G.xy;z c.ya := y0 - r -b G.yc;d c.we := 2*r+f1;g c.hh := c.wi;j |
| 05BC | v(40E80010): ADD R0, SP, 10H |
| 05BD | v .FIXUP D |
| 05BD | v(8D000034): LDR SB, MT, MOD0 [Curves] |
| 05BE | v(41D80000): ADD R1, SB, 0H [data] |
| 05BF | v(D71E020C): BL MT [trap=0, pos=7682] |
| 05C0 | w(80E00010): LDR R0, SP, 10H |
| 05C1 | w(D11E064C): BLEQ MT [trap=4, pos=7686] |
| 05C2 | x(81E00004): LDR R1, SP, 4H |
| 05C3 | x(82E0000C): LDR R2, SP, CH |
| 05C4 | x(01190002): SUB R1, R1, R2 |
| 05C5 | y(82E00014): LDR R2, SP, 14H |
| 05C6 | y(D11E164C): BLEQ MT [trap=4, pos=7702] |
| 05C7 | z(82200030): LDR R2, R2, 30H |
| 05C8 | z(01190002): SUB R1, R1, R2 |
| 05C9 | z(A1000000): STR R1, R0, 0H |
| 05CA | a(80E00010): LDR R0, SP, 10H |
| 05CB | a(D11E1B4C): BLEQ MT [trap=4, pos=7707] |
| 05CC | b(81E00008): LDR R1, SP, 8H |
| 05CD | b(82E0000C): LDR R2, SP, CH |
| 05CE | b(01190002): SUB R1, R1, R2 |
| 05CF | c(82E00014): LDR R2, SP, 14H |
| 05D0 | c(D11E2B4C): BLEQ MT [trap=4, pos=7723] |
| 05D1 | d(82200034): LDR R2, R2, 34H |
| 05D2 | d(01190002): SUB R1, R1, R2 |
| 05D3 | d(A1000004): STR R1, R0, 4H |
| 05D4 | e(80E00010): LDR R0, SP, 10H |
| 05D5 | e(D11E304C): BLEQ MT [trap=4, pos=7728] |
| 05D6 | f(81E0000C): LDR R1, SP, CH |
| 05D7 | f(41110001): LSL R1, R1, 1H |
| 05D8 | g(41180001): ADD R1, R1, 1H |
| 05D9 | g(A1000008): STR R1, R0, 8H |
| 05DA | h(80E00010): LDR R0, SP, 10H |
| 05DB | h(D11E3E4C): BLEQ MT [trap=4, pos=7742] |
| 05DC | i(81E00010): LDR R1, SP, 10H |
| 05DD | i(D11E454C): BLEQ MT [trap=4, pos=7749] |
| 05DE | j(81100008): LDR R1, R1, 8H |
| 05DF | j(A100000C): STR R1, R0, CH |
| c.kindk := 2;l c.colm := Oberon.CurCol;n |
| 05E0 | k(80E00010): LDR R0, SP, 10H |
| 05E1 | k(D11E554C): BLEQ MT [trap=4, pos=7765] |
| 05E2 | l(41000002): MOV R1, R0, 2H |
| 05E3 | l(A100001C): STR R1, R0, 1CH |
| 05E4 | m(80E00010): LDR R0, SP, 10H |
| 05E5 | m(D11E614C): BLEQ MT [trap=4, pos=7777] |
| 05E6 | n .FIXUP D |
| 05E6 | n(8D300029): LDR SB, MT, MOD3 [Oberon] |
| 05E7 | n(81D00010): LDR R1, SB, VAR16 |
| 05E8 | n(B1000010): STR R1, R0, 10H |
| c.lwo := Graphics.width;p c.doq := method;r |
| 05E9 | o(80E00010): LDR R0, SP, 10H |
| 05EA | o(D11E804C): BLEQ MT [trap=4, pos=7808] |
| 05EB | p .FIXUP D |
| 05EB | p(8D700005): LDR SB, MT, MOD7 [Graphics] |
| 05EC | p(81D0000F): LDR R1, SB, VAR15 |
| 05ED | p(A1000020): STR R1, R0, 20H |
| 05EE | q(80E00010): LDR R0, SP, 10H |
| 05EF | q(D11E984C): BLEQ MT [trap=4, pos=7832] |
| 05F0 | r .FIXUP D |
| 05F0 | r(8D000005): LDR SB, MT, MOD0 [Curves] |
| 05F1 | r(81D0001C): LDR R1, SB, 1CH [data] |
| 05F2 | r(A1000014): STR R1, R0, 14H |
| Graphics.Add(G.graphs,t c)u;v |
| 05F3 | s(80E00014): LDR R0, SP, 14H |
| 05F4 | s(D11EC04C): BLEQ MT [trap=4, pos=7872] |
| 05F5 | t(8000001C): LDR R0, R0, 1CH |
| 05F6 | u(81E00010): LDR R1, SP, 10H |
| 05F7 | v .FIXUP P |
| 05F7 | v(F7716053): BL MOD7 [Graphics] PROC22 |
| GraphicFrames.Defocus(G)w;x GraphicFrames.DrawObj(G,y c)z |
| 05F8 | w(80E00014): LDR R0, SP, 14H |
| 05F9 | x .FIXUP P |
| 05F9 | x(F7911002): BL MOD9 [GraphicFrames] PROC17 |
| 05FA | y(80E00014): LDR R0, SP, 14H |
| 05FB | z(81E00010): LDR R1, SP, 10H |
| ENDa |
| 05FC | a .FIXUP P |
| 05FC | a(F790E003): BL MOD9 [GraphicFrames] PROC14 |
| END |
| ENDb MakeCircle; |
| 05FD | b(8FE00000): LDR LNK, SP, 0H |
| 05FE | b(4EE80018): ADD SP, SP, 18H |
| 05FF | b(C700000F): B LNK |
| |
| PROCEDURE MakeEllipse*; (*command*) |
| VAR x0, y0, a, b: INTEGER; |
| c: Curve; |
| G: GraphicFrames.Frame; |
| BEGINc G := GraphicFrames.Focus();d |
| 0600 | c .PROC 6 |
| 0600 | c .COMMAND MakeEllipse |
| 0600 | c(4EE9001C): SUB SP, SP, 1CH |
| 0601 | c(AFE00000): STR LNK, SP, 0H |
| 0602 | d .FIXUP P |
| 0602 | d(F7909006): BL MOD9 [GraphicFrames] PROC9 |
| 0603 | d(A0E00018): STR R0, SP, 18H |
| IF (G # NIL)e & (fG.markg.next # NIL)h & (iG.markj.next.nextk # NIL)l THENm |
| 0604 | e(80E00018): LDR R0, SP, 18H |
| 0605 | f(E1000075): BEQ 117 [067BH] |
| 0606 | g(80E00018): LDR R0, SP, 18H |
| 0607 | g(D11FDB4C): BLEQ MT [trap=4, pos=8155] |
| 0608 | h(80000048): LDR R0, R0, 48H |
| 0609 | i(E1000071): BEQ 113 [067BH] |
| 060A | j(80E00018): LDR R0, SP, 18H |
| 060B | j(D11FF14C): BLEQ MT [trap=4, pos=8177] |
| 060C | k(80000048): LDR R0, R0, 48H |
| 060D | k(D11FFB4C): BLEQ MT [trap=4, pos=8187] |
| 060E | l(80000008): LDR R0, R0, 8H |
| 060F | m(E100006B): BEQ 107 [067BH] |
| GraphicFrames.Deselect(G)n;o |
| 0610 | n(80E00018): LDR R0, SP, 18H |
| 0611 | o .FIXUP P |
| 0611 | o(F791200F): BL MOD9 [GraphicFrames] PROC18 |
| x0 := G.markp.x;q y0 := G.markr.y;s |
| 0612 | p(80E00018): LDR R0, SP, 18H |
| 0613 | p(D1203B4C): BLEQ MT [trap=4, pos=8251] |
| 0614 | q(80000040): LDR R0, R0, 40H |
| 0615 | q(A0E00004): STR R0, SP, 4H |
| 0616 | r(80E00018): LDR R0, SP, 18H |
| 0617 | r(D1204B4C): BLEQ MT [trap=4, pos=8267] |
| 0618 | s(80000044): LDR R0, R0, 44H |
| 0619 | s(A0E00008): STR R0, SP, 8H |
| a := ABS(G.markt.next.xu-x0)v;w b := ABS(G.markx.next.nexty.yz - y0)a;b |
| 061A | t(80E00018): LDR R0, SP, 18H |
| 061B | t(D120644C): BLEQ MT [trap=4, pos=8292] |
| 061C | u(80000048): LDR R0, R0, 48H |
| 061D | u(D1206B4C): BLEQ MT [trap=4, pos=8299] |
| 061E | v(80000000): LDR R0, R0, 0H |
| 061F | v(81E00004): LDR R1, SP, 4H |
| 0620 | v(00090001): SUB R0, R0, R1 |
| 0621 | w(40090000): SUB R0, R0, 0H |
| 0622 | w(ED000002): BGE 2 [0625H] |
| 0623 | w(41000000): MOV R1, R0, 0H |
| 0624 | w(00190000): SUB R0, R1, R0 |
| 0625 | w(A0E0000C): STR R0, SP, CH |
| 0626 | x(80E00018): LDR R0, SP, 18H |
| 0627 | x(D120804C): BLEQ MT [trap=4, pos=8320] |
| 0628 | y(80000048): LDR R0, R0, 48H |
| 0629 | y(D1208A4C): BLEQ MT [trap=4, pos=8330] |
| 062A | z(80000008): LDR R0, R0, 8H |
| 062B | z(D1208C4C): BLEQ MT [trap=4, pos=8332] |
| 062C | a(80000004): LDR R0, R0, 4H |
| 062D | a(81E00008): LDR R1, SP, 8H |
| 062E | a(00090001): SUB R0, R0, R1 |
| 062F | b(40090000): SUB R0, R0, 0H |
| 0630 | b(ED000002): BGE 2 [0633H] |
| 0631 | b(41000000): MOV R1, R0, 0H |
| 0632 | b(00190000): SUB R0, R1, R0 |
| 0633 | b(A0E00010): STR R0, SP, 10H |
| IF (a > 4)c & (db > 4)e THENf |
| 0634 | c(80E0000C): LDR R0, SP, CH |
| 0635 | c(40090004): SUB R0, R0, 4H |
| 0636 | d(E6000044): BLE 68 [067BH] |
| 0637 | e(80E00010): LDR R0, SP, 10H |
| 0638 | e(40090004): SUB R0, R0, 4H |
| 0639 | f(E6000041): BLE 65 [067BH] |
| NEW(c);g c.xh := x0 - a -i G.xj;k c.yl := y0 - b -m G.yn;o c.wp := 2*a+q1;r c.hs := 2*b+t1;u |
| 063A | g(40E80014): ADD R0, SP, 14H |
| 063B | g .FIXUP D |
| 063B | g(8D00004B): LDR SB, MT, MOD0 [Curves] |
| 063C | g(41D80000): ADD R1, SB, 0H [data] |
| 063D | g(D720C30C): BL MT [trap=0, pos=8387] |
| 063E | h(80E00014): LDR R0, SP, 14H |
| 063F | h(D120C74C): BLEQ MT [trap=4, pos=8391] |
| 0640 | i(81E00004): LDR R1, SP, 4H |
| 0641 | i(82E0000C): LDR R2, SP, CH |
| 0642 | i(01190002): SUB R1, R1, R2 |
| 0643 | j(82E00018): LDR R2, SP, 18H |
| 0644 | j(D120D74C): BLEQ MT [trap=4, pos=8407] |
| 0645 | k(82200030): LDR R2, R2, 30H |
| 0646 | k(01190002): SUB R1, R1, R2 |
| 0647 | k(A1000000): STR R1, R0, 0H |
| 0648 | l(80E00014): LDR R0, SP, 14H |
| 0649 | l(D120DC4C): BLEQ MT [trap=4, pos=8412] |
| 064A | m(81E00008): LDR R1, SP, 8H |
| 064B | m(82E00010): LDR R2, SP, 10H |
| 064C | m(01190002): SUB R1, R1, R2 |
| 064D | n(82E00018): LDR R2, SP, 18H |
| 064E | n(D120EC4C): BLEQ MT [trap=4, pos=8428] |
| 064F | o(82200034): LDR R2, R2, 34H |
| 0650 | o(01190002): SUB R1, R1, R2 |
| 0651 | o(A1000004): STR R1, R0, 4H |
| 0652 | p(80E00014): LDR R0, SP, 14H |
| 0653 | p(D120F14C): BLEQ MT [trap=4, pos=8433] |
| 0654 | q(81E0000C): LDR R1, SP, CH |
| 0655 | q(41110001): LSL R1, R1, 1H |
| 0656 | r(41180001): ADD R1, R1, 1H |
| 0657 | r(A1000008): STR R1, R0, 8H |
| 0658 | s(80E00014): LDR R0, SP, 14H |
| 0659 | s(D120FF4C): BLEQ MT [trap=4, pos=8447] |
| 065A | t(81E00010): LDR R1, SP, 10H |
| 065B | t(41110001): LSL R1, R1, 1H |
| 065C | u(41180001): ADD R1, R1, 1H |
| 065D | u(A100000C): STR R1, R0, CH |
| c.kindv := 3;w c.colx := Oberon.CurCol;y |
| 065E | v(80E00014): LDR R0, SP, 14H |
| 065F | v(D121184C): BLEQ MT [trap=4, pos=8472] |
| 0660 | w(41000003): MOV R1, R0, 3H |
| 0661 | w(A100001C): STR R1, R0, 1CH |
| 0662 | x(80E00014): LDR R0, SP, 14H |
| 0663 | x(D121244C): BLEQ MT [trap=4, pos=8484] |
| 0664 | y .FIXUP D |
| 0664 | y(8D300029): LDR SB, MT, MOD3 [Oberon] |
| 0665 | y(81D00010): LDR R1, SB, VAR16 |
| 0666 | y(B1000010): STR R1, R0, 10H |
| c.lwz := Graphics.width;a c.dob := method;c |
| 0667 | z(80E00014): LDR R0, SP, 14H |
| 0668 | z(D121434C): BLEQ MT [trap=4, pos=8515] |
| 0669 | a .FIXUP D |
| 0669 | a(8D700005): LDR SB, MT, MOD7 [Graphics] |
| 066A | a(81D0000F): LDR R1, SB, VAR15 |
| 066B | a(A1000020): STR R1, R0, 20H |
| 066C | b(80E00014): LDR R0, SP, 14H |
| 066D | b(D1215B4C): BLEQ MT [trap=4, pos=8539] |
| 066E | c .FIXUP D |
| 066E | c(8D000005): LDR SB, MT, MOD0 [Curves] |
| 066F | c(81D0001C): LDR R1, SB, 1CH [data] |
| 0670 | c(A1000014): STR R1, R0, 14H |
| Graphics.Add(G.graphd,e c)f;g |
| 0671 | d(80E00018): LDR R0, SP, 18H |
| 0672 | d(D121834C): BLEQ MT [trap=4, pos=8579] |
| 0673 | e(8000001C): LDR R0, R0, 1CH |
| 0674 | f(81E00014): LDR R1, SP, 14H |
| 0675 | g .FIXUP P |
| 0675 | g(F7716064): BL MOD7 [Graphics] PROC22 |
| GraphicFrames.Defocus(G)h;i GraphicFrames.DrawObj(G,j c)k |
| 0676 | h(80E00018): LDR R0, SP, 18H |
| 0677 | i .FIXUP P |
| 0677 | i(F7911002): BL MOD9 [GraphicFrames] PROC17 |
| 0678 | j(80E00018): LDR R0, SP, 18H |
| 0679 | k(81E00014): LDR R1, SP, 14H |
| ENDl |
| 067A | l .FIXUP P |
| 067A | l(F790E003): BL MOD9 [GraphicFrames] PROC14 |
| END |
| ENDm MakeEllipse; |
| 067B | m(8FE00000): LDR LNK, SP, 0H |
| 067C | m(4EE8001C): ADD SP, SP, 1CH |
| 067D | m(C700000F): B LNK |
| |
| BEGINn NEW(method);o method.modulep := "Curves";q method.allocatorr := "New";s |
| 067E | n .PROC 0 |
| 067E | n .ENTRYPOINT |
| 067E | n(4EE90004): SUB SP, SP, 4H |
| 067F | n(AFE00000): STR LNK, SP, 0H |
| 0680 | o .FIXUP D |
| 0680 | o(8D000012): LDR SB, MT, MOD0 [Curves] |
| 0681 | o(40D8001C): ADD R0, SB, 1CH [data] |
| 0682 | o .FIXUP D |
| 0682 | o(8D700002): LDR SB, MT, MOD7 [Graphics] |
| 0683 | o(41D8000B): ADD R1, SB, VAR11 |
| 0684 | o(D721FF0C): BL MT [trap=0, pos=8703] |
| 0685 | p .FIXUP D |
| 0685 | p(8D000003): LDR SB, MT, MOD0 [Curves] |
| 0686 | p(80D0001C): LDR R0, SB, 1CH [data] |
| 0687 | p(D1220D4C): BLEQ MT [trap=4, pos=8717] |
| 0688 | q(41D80020): ADD R1, SB, 20H |
| 0689 | q(82100000): LDR R2, R1, 0H |
| 068A | q(41180004): ADD R1, R1, 4H |
| 068B | q(A2000000): STR R2, R0, 0H |
| 068C | q(40080004): ADD R0, R0, 4H |
| 068D | q(42220018): ASR R2, R2, 18H |
| 068E | q(E9FFFFFA): BNE -6 [0689H] |
| 068F | r(80D0001C): LDR R0, SB, 1CH |
| 0690 | r(D1222B4C): BLEQ MT [trap=4, pos=8747] |
| 0691 | s(40080020): ADD R0, R0, 20H |
| 0692 | s(41D80028): ADD R1, SB, 28H |
| 0693 | s(82100000): LDR R2, R1, 0H |
| 0694 | s(41180004): ADD R1, R1, 4H |
| 0695 | s(A2000000): STR R2, R0, 0H |
| 0696 | s(40080004): ADD R0, R0, 4H |
| 0697 | s(42220018): ASR R2, R2, 18H |
| 0698 | s(E9FFFFFA): BNE -6 [0693H] |
| method.newt := New;u method.copyv := Copy;w method.drawx := Draw;y |
| 0699 | t(80D0001C): LDR R0, SB, 1CH |
| 069A | t(D122424C): BLEQ MT [trap=4, pos=8770] |
| 069B | u(F7000000): BL 0 [069CH] |
| 069C | u(41F911F8): SUB R1, LNK, 11F8H |
| 069D | u(A1000040): STR R1, R0, 40H |
| 069E | v(80D0001C): LDR R0, SB, 1CH |
| 069F | v(D122564C): BLEQ MT [trap=4, pos=8790] |
| 06A0 | w(F7000000): BL 0 [06A1H] |
| 06A1 | w(41F911CC): SUB R1, LNK, 11CCH |
| 06A2 | w(A1000044): STR R1, R0, 44H |
| 06A3 | x(80D0001C): LDR R0, SB, 1CH |
| 06A4 | x(D1226B4C): BLEQ MT [trap=4, pos=8811] |
| 06A5 | y(F7000000): BL 0 [06A6H] |
| 06A6 | y(41F910C8): SUB R1, LNK, 10C8H |
| 06A7 | y(A1000048): STR R1, R0, 48H |
| method.selectablez := Selectable;a method.changeb := Change;c |
| 06A8 | z(80D0001C): LDR R0, SB, 1CH |
| 06A9 | z(D122884C): BLEQ MT [trap=4, pos=8840] |
| 06AA | a(F7000000): BL 0 [06ABH] |
| 06AB | a(41F90A80): SUB R1, LNK, A80H |
| 06AC | a(A1000050): STR R1, R0, 50H |
| 06AD | b(80D0001C): LDR R0, SB, 1CH |
| 06AE | b(D122A54C): BLEQ MT [trap=4, pos=8869] |
| 06AF | c(F7000000): BL 0 [06B0H] |
| 06B0 | c(41F90888): SUB R1, LNK, 888H |
| 06B1 | c(A100004C): STR R1, R0, 4CH |
| method.readd := Read;e method.writef := Write |
| 06B2 | d(80D0001C): LDR R0, SB, 1CH |
| 06B3 | d(D122BE4C): BLEQ MT [trap=4, pos=8894] |
| 06B4 | e(F7000000): BL 0 [06B5H] |
| 06B5 | e(41F90838): SUB R1, LNK, 838H |
| 06B6 | e(A1000054): STR R1, R0, 54H |
| 06B7 | f(80D0001C): LDR R0, SB, 1CH |
| 06B8 | f(D122D44C): BLEQ MT [trap=4, pos=8916] |
| ENDg Curves.h |
| 06B9 | g(F7000000): BL 0 [06BAH] |
| 06BA | g(41F907A4): SUB R1, LNK, 7A4H |
| 06BB | g(A1000058): STR R1, R0, 58H |
| 06BC | h(8FE00000): LDR LNK, SP, 0H |
| 06BD | h(4EE80004): ADD SP, SP, 4H |
| 06BE | h(C700000F): B LNK |