| 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 |