| MODULE Stars; (*NW 15.1.2013, 15.11.2013*) |
| .MODULE Stars (KEY 0873A1AD, VERSION 1, SIZE 00000B50) |
| .IMPORT Display (KEY 4C08D3EA) |
| .IMPORT Viewers (KEY 25ABF199) |
| .IMPORT Texts (KEY 0B9E9984) |
| .IMPORT Fonts (KEY F4C9F557) |
| .IMPORT Files (KEY 73F5D686) |
| .IMPORT Oberon (KEY A89CCEE2) |
| .IMPORT MenuViewers (KEY 245ACC30) |
| .IMPORT TextFrames (KEY 650813D5) |
| .TYPEDESC 00000020 FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF 00000100 00014006 FFFFFFFF FFFFFFFF 00000000 00000004 FFFFFFFF 00000020 00030007 FFFFFFFF FFFFFFFF FFFFFFFF 00000020 00044005 FFFFFFFF FFFFFFFF FFFFFFFF |
| .DATA 2CH |
| .STRING 84H "Stars" |
| .STRING 8CH "Stars.Close System.Grow System.Copy Stars.Step Stars.Run Stars.Stop" |
| .POINTER_REFERENCES 58H 5CH 60H 80H 74H |
| .FIXUP T 12H |
| IMPORT SYSTEM, Display, Viewers, Texts, Oberon, MenuViewers, TextFrames; |
| |
| CONST N = 6; (*nof stars*) |
| w = 16; (*width of star*) |
| interval = 200; (*millisec*) |
| |
| TYPE Frame = POINTER TO FrameDesc; |
| Pos = RECORD x, y, dx, dy: INTEGER END ; |
| FrameDesc = RECORD (Display.FrameDesc) s: ARRAY N OF Pos END ; |
| RestoreMsg = RECORD (Display.FrameMsg) END ; |
| StepMsg = RECORD (Display.FrameMsg) END ; |
| |
| VAR T: Oberon.Task; |
| W: Texts.Writer; |
| |
| PROCEDURE Draw(x, y: INTEGER); |
| BEGINa Display.CopyPattern(Display.white,b Display.star,c x,d y,e Display.invert)f |
0000 | a(4EE9000C): SUB SP, SP, CH |
0001 | a(AFE00000): STR LNK, SP, 0H |
0002 | a(A0E00004): STR R0, SP, 4H |
0003 | a(A1E00008): STR R1, SP, 8H |
0004 | b(40000001): MOV R0, R0, 1H |
0005 | c .FIXUP D |
0005 | c(8D100005): LDR SB, MT, MOD1 [Display] |
0006 | c(81D00007): LDR R1, SB, VAR7 |
0007 | d(82E00004): LDR R2, SP, 4H |
0008 | e(83E00008): LDR R3, SP, 8H |
0009 | f(44000002): MOV R4, R0, 2H |
| ENDg Draw; |
000A | g .FIXUP P |
000A | g(F711000A): BL MOD1 [Display] PROC16 |
000B | g(8FE00000): LDR LNK, SP, 0H |
000C | g(4EE8000C): ADD SP, SP, CH |
000D | g(C700000F): B LNK |
| |
| PROCEDURE Restore(F: Frame); |
| VAR x0, y0: INTEGER; |
| BEGINh Oberon.RemoveMarks(F.Xi,j F.Yk,l F.Wm,n F.Ho)p;q |
000E | h(4EE90010): SUB SP, SP, 10H |
000F | h(AFE00000): STR LNK, SP, 0H |
0010 | h(A0E00004): STR R0, SP, 4H |
0011 | i(80E00004): LDR R0, SP, 4H |
0012 | i(D102CE4C): BLEQ MT [trap=4, pos=718] |
0013 | j(80000008): LDR R0, R0, 8H |
0014 | k(81E00004): LDR R1, SP, 4H |
0015 | k(D102D34C): BLEQ MT [trap=4, pos=723] |
0016 | l(8110000C): LDR R1, R1, CH |
0017 | m(82E00004): LDR R2, SP, 4H |
0018 | m(D102D84C): BLEQ MT [trap=4, pos=728] |
0019 | n(82200010): LDR R2, R2, 10H |
001A | o(83E00004): LDR R3, SP, 4H |
001B | o(D102DD4C): BLEQ MT [trap=4, pos=733] |
001C | p(83300014): LDR R3, R3, 14H |
001D | q .FIXUP P |
001D | q(F761B013): BL MOD6 [Oberon] PROC27 |
| Display.ReplConst(0,r F.Xs+1,t F.Yu,v F.Ww-1,x F.Hy,z 0)a;b |
001E | r(40000000): MOV R0, R0, 0H |
001F | s(81E00004): LDR R1, SP, 4H |
0020 | s(D102FC4C): BLEQ MT [trap=4, pos=764] |
0021 | t(81100008): LDR R1, R1, 8H |
0022 | t(41180001): ADD R1, R1, 1H |
0023 | u(82E00004): LDR R2, SP, 4H |
0024 | u(D103034C): BLEQ MT [trap=4, pos=771] |
0025 | v(8220000C): LDR R2, R2, CH |
0026 | w(83E00004): LDR R3, SP, 4H |
0027 | w(D103084C): BLEQ MT [trap=4, pos=776] |
0028 | x(83300010): LDR R3, R3, 10H |
0029 | x(43390001): SUB R3, R3, 1H |
002A | y(84E00004): LDR R4, SP, 4H |
002B | y(D1030F4C): BLEQ MT [trap=4, pos=783] |
002C | z(84400014): LDR R4, R4, 14H |
002D | a(45000000): MOV R5, R0, 0H |
002E | b .FIXUP P |
002E | b(F710F011): BL MOD1 [Display] PROC15 |
| x0 := F.Wc DIV 2 +d F.Xe;f y0 := F.Hg DIV 2 +h F.Yi;j |
002F | c(80E00004): LDR R0, SP, 4H |
0030 | c(D103224C): BLEQ MT [trap=4, pos=802] |
0031 | d(80000010): LDR R0, R0, 10H |
0032 | d(40020001): ASR R0, R0, 1H |
0033 | e(81E00004): LDR R1, SP, 4H |
0034 | e(D1032E4C): BLEQ MT [trap=4, pos=814] |
0035 | f(81100008): LDR R1, R1, 8H |
0036 | f(00080001): ADD R0, R0, R1 |
0037 | f(A0E00008): STR R0, SP, 8H |
0038 | g(80E00004): LDR R0, SP, 4H |
0039 | g(D103394C): BLEQ MT [trap=4, pos=825] |
003A | h(80000014): LDR R0, R0, 14H |
003B | h(40020001): ASR R0, R0, 1H |
003C | i(81E00004): LDR R1, SP, 4H |
003D | i(D103454C): BLEQ MT [trap=4, pos=837] |
003E | j(8110000C): LDR R1, R1, CH |
003F | j(00080001): ADD R0, R0, R1 |
0040 | j(A0E0000C): STR R0, SP, CH |
| F.sk[0].x := x0;l F.sm[0].y := y0;n F.so[0].dx := 2;p F.sq[0].dy := 4;r Draw(F.ss[0].x,t F.su[0].y)v;w |
0041 | k(80E00004): LDR R0, SP, 4H |
0042 | k(D1034E4C): BLEQ MT [trap=4, pos=846] |
0043 | l(81E00008): LDR R1, SP, 8H |
0044 | l(A100001C): STR R1, R0, 1CH |
0045 | m(80E00004): LDR R0, SP, 4H |
0046 | m(D1035E4C): BLEQ MT [trap=4, pos=862] |
0047 | n(81E0000C): LDR R1, SP, CH |
0048 | n(A1000020): STR R1, R0, 20H |
0049 | o(80E00004): LDR R0, SP, 4H |
004A | o(D1036E4C): BLEQ MT [trap=4, pos=878] |
004B | p(41000002): MOV R1, R0, 2H |
004C | p(A1000024): STR R1, R0, 24H |
004D | q(80E00004): LDR R0, SP, 4H |
004E | q(D1037E4C): BLEQ MT [trap=4, pos=894] |
004F | r(41000004): MOV R1, R0, 4H |
0050 | r(A1000028): STR R1, R0, 28H |
0051 | s(80E00004): LDR R0, SP, 4H |
0052 | s(D103934C): BLEQ MT [trap=4, pos=915] |
0053 | t(8000001C): LDR R0, R0, 1CH |
0054 | u(81E00004): LDR R1, SP, 4H |
0055 | u(D1039D4C): BLEQ MT [trap=4, pos=925] |
0056 | v(81100020): LDR R1, R1, 20H |
0057 | w(F7FFFFA8): BL -88 [0000H] |
| F.sx[1].x := x0;y F.sz[1].y := y0;a F.sb[1].dx := 3;c F.sd[1].dy := 9;e Draw(F.sf[1].x,g F.sh[1].y)i;j |
0058 | x(80E00004): LDR R0, SP, 4H |
0059 | x(D103AC4C): BLEQ MT [trap=4, pos=940] |
005A | y(81E00008): LDR R1, SP, 8H |
005B | y(A100002C): STR R1, R0, 2CH |
005C | z(80E00004): LDR R0, SP, 4H |
005D | z(D103BC4C): BLEQ MT [trap=4, pos=956] |
005E | a(81E0000C): LDR R1, SP, CH |
005F | a(A1000030): STR R1, R0, 30H |
0060 | b(80E00004): LDR R0, SP, 4H |
0061 | b(D103CC4C): BLEQ MT [trap=4, pos=972] |
0062 | c(41000003): MOV R1, R0, 3H |
0063 | c(A1000034): STR R1, R0, 34H |
0064 | d(80E00004): LDR R0, SP, 4H |
0065 | d(D103DC4C): BLEQ MT [trap=4, pos=988] |
0066 | e(41000009): MOV R1, R0, 9H |
0067 | e(A1000038): STR R1, R0, 38H |
0068 | f(80E00004): LDR R0, SP, 4H |
0069 | f(D103F14C): BLEQ MT [trap=4, pos=1009] |
006A | g(8000002C): LDR R0, R0, 2CH |
006B | h(81E00004): LDR R1, SP, 4H |
006C | h(D103FB4C): BLEQ MT [trap=4, pos=1019] |
006D | i(81100030): LDR R1, R1, 30H |
006E | j(F7FFFF91): BL -111 [0000H] |
| F.sk[2].x := x0;l F.sm[2].y := y0;n F.so[2].dx := -5;p F.sq[2].dy := -2;r Draw(F.ss[2].x,t F.su[2].y)v;w |
006F | k(80E00004): LDR R0, SP, 4H |
0070 | k(D1040A4C): BLEQ MT [trap=4, pos=1034] |
0071 | l(81E00008): LDR R1, SP, 8H |
0072 | l(A100003C): STR R1, R0, 3CH |
0073 | m(80E00004): LDR R0, SP, 4H |
0074 | m(D1041A4C): BLEQ MT [trap=4, pos=1050] |
0075 | n(81E0000C): LDR R1, SP, CH |
0076 | n(A1000040): STR R1, R0, 40H |
0077 | o(80E00004): LDR R0, SP, 4H |
0078 | o(D1042A4C): BLEQ MT [trap=4, pos=1066] |
0079 | p(5100FFFB): MOV R1, R0, FFFFFFFBH |
007A | p(A1000044): STR R1, R0, 44H |
007B | q(80E00004): LDR R0, SP, 4H |
007C | q(D1043B4C): BLEQ MT [trap=4, pos=1083] |
007D | r(5100FFFE): MOV R1, R0, FFFFFFFEH |
007E | r(A1000048): STR R1, R0, 48H |
007F | s(80E00004): LDR R0, SP, 4H |
0080 | s(D104514C): BLEQ MT [trap=4, pos=1105] |
0081 | t(8000003C): LDR R0, R0, 3CH |
0082 | u(81E00004): LDR R1, SP, 4H |
0083 | u(D1045B4C): BLEQ MT [trap=4, pos=1115] |
0084 | v(81100040): LDR R1, R1, 40H |
0085 | w(F7FFFF7A): BL -134 [0000H] |
| F.sx[3].x := x0;y F.sz[3].y := y0;a F.sb[3].dx := -10;c F.sd[3].dy := 8;e Draw(F.sf[3].x,g F.sh[3].y)i;j |
0086 | x(80E00004): LDR R0, SP, 4H |
0087 | x(D1046A4C): BLEQ MT [trap=4, pos=1130] |
0088 | y(81E00008): LDR R1, SP, 8H |
0089 | y(A100004C): STR R1, R0, 4CH |
008A | z(80E00004): LDR R0, SP, 4H |
008B | z(D1047A4C): BLEQ MT [trap=4, pos=1146] |
008C | a(81E0000C): LDR R1, SP, CH |
008D | a(A1000050): STR R1, R0, 50H |
008E | b(80E00004): LDR R0, SP, 4H |
008F | b(D1048A4C): BLEQ MT [trap=4, pos=1162] |
0090 | c(5100FFF6): MOV R1, R0, FFFFFFF6H |
0091 | c(A1000054): STR R1, R0, 54H |
0092 | d(80E00004): LDR R0, SP, 4H |
0093 | d(D1049C4C): BLEQ MT [trap=4, pos=1180] |
0094 | e(41000008): MOV R1, R0, 8H |
0095 | e(A1000058): STR R1, R0, 58H |
0096 | f(80E00004): LDR R0, SP, 4H |
0097 | f(D104B14C): BLEQ MT [trap=4, pos=1201] |
0098 | g(8000004C): LDR R0, R0, 4CH |
0099 | h(81E00004): LDR R1, SP, 4H |
009A | h(D104BB4C): BLEQ MT [trap=4, pos=1211] |
009B | i(81100050): LDR R1, R1, 50H |
009C | j(F7FFFF63): BL -157 [0000H] |
| F.sk[4].x := x0;l F.sm[4].y := y0;n F.so[4].dx := -7;p F.sq[4].dy := -4;r Draw(F.ss[4].x,t F.su[4].y)v;w |
009D | k(80E00004): LDR R0, SP, 4H |
009E | k(D104CA4C): BLEQ MT [trap=4, pos=1226] |
009F | l(81E00008): LDR R1, SP, 8H |
00A0 | l(A100005C): STR R1, R0, 5CH |
00A1 | m(80E00004): LDR R0, SP, 4H |
00A2 | m(D104DA4C): BLEQ MT [trap=4, pos=1242] |
00A3 | n(81E0000C): LDR R1, SP, CH |
00A4 | n(A1000060): STR R1, R0, 60H |
00A5 | o(80E00004): LDR R0, SP, 4H |
00A6 | o(D104EA4C): BLEQ MT [trap=4, pos=1258] |
00A7 | p(5100FFF9): MOV R1, R0, FFFFFFF9H |
00A8 | p(A1000064): STR R1, R0, 64H |
00A9 | q(80E00004): LDR R0, SP, 4H |
00AA | q(D104FB4C): BLEQ MT [trap=4, pos=1275] |
00AB | r(5100FFFC): MOV R1, R0, FFFFFFFCH |
00AC | r(A1000068): STR R1, R0, 68H |
00AD | s(80E00004): LDR R0, SP, 4H |
00AE | s(D105114C): BLEQ MT [trap=4, pos=1297] |
00AF | t(8000005C): LDR R0, R0, 5CH |
00B0 | u(81E00004): LDR R1, SP, 4H |
00B1 | u(D1051B4C): BLEQ MT [trap=4, pos=1307] |
00B2 | v(81100060): LDR R1, R1, 60H |
00B3 | w(F7FFFF4C): BL -180 [0000H] |
| F.sx[5].x := x0;y F.sz[5].y := y0;a F.sb[5].dx := 8;c F.sd[5].dy := -10;e Draw(F.sf[5].x,g F.sh[5].y)i |
00B4 | x(80E00004): LDR R0, SP, 4H |
00B5 | x(D1052A4C): BLEQ MT [trap=4, pos=1322] |
00B6 | y(81E00008): LDR R1, SP, 8H |
00B7 | y(A100006C): STR R1, R0, 6CH |
00B8 | z(80E00004): LDR R0, SP, 4H |
00B9 | z(D1053A4C): BLEQ MT [trap=4, pos=1338] |
00BA | a(81E0000C): LDR R1, SP, CH |
00BB | a(A1000070): STR R1, R0, 70H |
00BC | b(80E00004): LDR R0, SP, 4H |
00BD | b(D1054A4C): BLEQ MT [trap=4, pos=1354] |
00BE | c(41000008): MOV R1, R0, 8H |
00BF | c(A1000074): STR R1, R0, 74H |
00C0 | d(80E00004): LDR R0, SP, 4H |
00C1 | d(D1055A4C): BLEQ MT [trap=4, pos=1370] |
00C2 | e(5100FFF6): MOV R1, R0, FFFFFFF6H |
00C3 | e(A1000078): STR R1, R0, 78H |
00C4 | f(80E00004): LDR R0, SP, 4H |
00C5 | f(D105714C): BLEQ MT [trap=4, pos=1393] |
00C6 | g(8000006C): LDR R0, R0, 6CH |
00C7 | h(81E00004): LDR R1, SP, 4H |
00C8 | h(D1057B4C): BLEQ MT [trap=4, pos=1403] |
00C9 | i(81100070): LDR R1, R1, 70H |
| ENDj Restore; |
00CA | j(F7FFFF35): BL -203 [0000H] |
00CB | j(8FE00000): LDR LNK, SP, 0H |
00CC | j(4EE80010): ADD SP, SP, 10H |
00CD | j(C700000F): B LNK |
| |
| PROCEDURE Move(F: Frame; VAR p: Pos); |
| VAR X1, Y1: INTEGER; |
| BEGINk X1 := F.Xl + F.Wm -n w;o Y1 := F.Yp + F.Hq -r w;s |
00CE | k(4EE90018): SUB SP, SP, 18H |
00CF | k(AFE00000): STR LNK, SP, 0H |
00D0 | k(A0E00004): STR R0, SP, 4H |
00D1 | k(A1E00008): STR R1, SP, 8H |
00D2 | k(A2E0000C): STR R2, SP, CH |
00D3 | l(80E00004): LDR R0, SP, 4H |
00D4 | l(D105E44C): BLEQ MT [trap=4, pos=1508] |
00D5 | m(81E00004): LDR R1, SP, 4H |
00D6 | m(D105EA4C): BLEQ MT [trap=4, pos=1514] |
00D7 | n(80000008): LDR R0, R0, 8H |
00D8 | n(81100010): LDR R1, R1, 10H |
00D9 | n(00080001): ADD R0, R0, R1 |
00DA | o(40090010): SUB R0, R0, 10H |
00DB | o(A0E00010): STR R0, SP, 10H |
00DC | p(80E00004): LDR R0, SP, 4H |
00DD | p(D105F94C): BLEQ MT [trap=4, pos=1529] |
00DE | q(81E00004): LDR R1, SP, 4H |
00DF | q(D105FF4C): BLEQ MT [trap=4, pos=1535] |
00E0 | r(8000000C): LDR R0, R0, CH |
00E1 | r(81100014): LDR R1, R1, 14H |
00E2 | r(00080001): ADD R0, R0, R1 |
00E3 | s(40090010): SUB R0, R0, 10H |
00E4 | s(A0E00014): STR R0, SP, 14H |
| Draw(p.x,t p.y)u;v INC(p.x, p.dx);w INC(p.y, p.dy);x |
00E5 | t(80E00008): LDR R0, SP, 8H |
00E6 | t(80000000): LDR R0, R0, 0H |
00E7 | u(81E00008): LDR R1, SP, 8H |
00E8 | u(81100004): LDR R1, R1, 4H |
00E9 | v(F7FFFF16): BL -234 [0000H] |
00EA | w(80E00008): LDR R0, SP, 8H |
00EB | w(81000000): LDR R1, R0, 0H |
00EC | w(82E00008): LDR R2, SP, 8H |
00ED | w(82200008): LDR R2, R2, 8H |
00EE | w(01180002): ADD R1, R1, R2 |
00EF | w(A1000000): STR R1, R0, 0H |
00F0 | x(80E00008): LDR R0, SP, 8H |
00F1 | x(40080004): ADD R0, R0, 4H |
00F2 | x(81000000): LDR R1, R0, 0H |
00F3 | x(82E00008): LDR R2, SP, 8H |
00F4 | x(8220000C): LDR R2, R2, CH |
00F5 | x(01180002): ADD R1, R1, R2 |
00F6 | x(A1000000): STR R1, R0, 0H |
| IF p.x < F.Xy THENz p.x := 2*F.Xa -b p.x;c p.dx := -p.dx ELSIFd pe.x >= X1 THENf p.x := 2*X1 -g p.x;h p.dx := -p.dx ENDi ; |
00F7 | y(80E00004): LDR R0, SP, 4H |
00F8 | y(D106494C): BLEQ MT [trap=4, pos=1609] |
00F9 | z(81E00008): LDR R1, SP, 8H |
00FA | z(81100000): LDR R1, R1, 0H |
00FB | z(80000008): LDR R0, R0, 8H |
00FC | z(01190000): SUB R1, R1, R0 |
00FD | z(ED000010): BGE 16 [010EH] |
00FE | a(80E00004): LDR R0, SP, 4H |
00FF | a(D1065B4C): BLEQ MT [trap=4, pos=1627] |
0100 | b(80000008): LDR R0, R0, 8H |
0101 | b(40010001): LSL R0, R0, 1H |
0102 | c(81E00008): LDR R1, SP, 8H |
0103 | c(81100000): LDR R1, R1, 0H |
0104 | c(00090001): SUB R0, R0, R1 |
0105 | c(81E00008): LDR R1, SP, 8H |
0106 | c(A0100000): STR R0, R1, 0H |
0107 | d(80E00008): LDR R0, SP, 8H |
0108 | d(80000008): LDR R0, R0, 8H |
0109 | d(41000000): MOV R1, R0, 0H |
010A | d(00190000): SUB R0, R1, R0 |
010B | d(81E00008): LDR R1, SP, 8H |
010C | d(A0100008): STR R0, R1, 8H |
010D | e(E7000012): B 18 [0120H] |
010E | f(80E00008): LDR R0, SP, 8H |
010F | f(80000000): LDR R0, R0, 0H |
0110 | f(81E00010): LDR R1, SP, 10H |
0111 | f(00090001): SUB R0, R0, R1 |
0112 | f(E500000D): BLT 13 [0120H] |
0113 | g(80E00010): LDR R0, SP, 10H |
0114 | g(40010001): LSL R0, R0, 1H |
0115 | h(81E00008): LDR R1, SP, 8H |
0116 | h(81100000): LDR R1, R1, 0H |
0117 | h(00090001): SUB R0, R0, R1 |
0118 | h(81E00008): LDR R1, SP, 8H |
0119 | h(A0100000): STR R0, R1, 0H |
011A | i(80E00008): LDR R0, SP, 8H |
011B | i(80000008): LDR R0, R0, 8H |
011C | i(41000000): MOV R1, R0, 0H |
011D | i(00190000): SUB R0, R1, R0 |
011E | i(81E00008): LDR R1, SP, 8H |
011F | i(A0100008): STR R0, R1, 8H |
| IF p.y < F.Yj THENk p.y := 2*F.Yl -m p.y;n p.dy := -p.dy ELSIFo pp.y >= Y1 THENq p.y := 2*Y1 -r p.y;s p.dy := -p.dy ENDt ; |
0120 | j(80E00004): LDR R0, SP, 4H |
0121 | j(D106BD4C): BLEQ MT [trap=4, pos=1725] |
0122 | k(81E00008): LDR R1, SP, 8H |
0123 | k(81100004): LDR R1, R1, 4H |
0124 | k(8000000C): LDR R0, R0, CH |
0125 | k(01190000): SUB R1, R1, R0 |
0126 | k(ED000010): BGE 16 [0137H] |
0127 | l(80E00004): LDR R0, SP, 4H |
0128 | l(D106CF4C): BLEQ MT [trap=4, pos=1743] |
0129 | m(8000000C): LDR R0, R0, CH |
012A | m(40010001): LSL R0, R0, 1H |
012B | n(81E00008): LDR R1, SP, 8H |
012C | n(81100004): LDR R1, R1, 4H |
012D | n(00090001): SUB R0, R0, R1 |
012E | n(81E00008): LDR R1, SP, 8H |
012F | n(A0100004): STR R0, R1, 4H |
0130 | o(80E00008): LDR R0, SP, 8H |
0131 | o(8000000C): LDR R0, R0, CH |
0132 | o(41000000): MOV R1, R0, 0H |
0133 | o(00190000): SUB R0, R1, R0 |
0134 | o(81E00008): LDR R1, SP, 8H |
0135 | o(A010000C): STR R0, R1, CH |
0136 | p(E7000012): B 18 [0149H] |
0137 | q(80E00008): LDR R0, SP, 8H |
0138 | q(80000004): LDR R0, R0, 4H |
0139 | q(81E00014): LDR R1, SP, 14H |
013A | q(00090001): SUB R0, R0, R1 |
013B | q(E500000D): BLT 13 [0149H] |
013C | r(80E00014): LDR R0, SP, 14H |
013D | r(40010001): LSL R0, R0, 1H |
013E | s(81E00008): LDR R1, SP, 8H |
013F | s(81100004): LDR R1, R1, 4H |
0140 | s(00090001): SUB R0, R0, R1 |
0141 | s(81E00008): LDR R1, SP, 8H |
0142 | s(A0100004): STR R0, R1, 4H |
0143 | t(80E00008): LDR R0, SP, 8H |
0144 | t(8000000C): LDR R0, R0, CH |
0145 | t(41000000): MOV R1, R0, 0H |
0146 | t(00190000): SUB R0, R1, R0 |
0147 | t(81E00008): LDR R1, SP, 8H |
0148 | t(A010000C): STR R0, R1, CH |
| Draw(p.x,u p.y)v |
0149 | u(80E00008): LDR R0, SP, 8H |
014A | u(80000000): LDR R0, R0, 0H |
014B | v(81E00008): LDR R1, SP, 8H |
014C | v(81100004): LDR R1, R1, 4H |
| ENDw Move; |
014D | w(F7FFFEB2): BL -334 [0000H] |
014E | w(8FE00000): LDR LNK, SP, 0H |
014F | w(4EE80018): ADD SP, SP, 18H |
0150 | w(C700000F): B LNK |
| |
| PROCEDURE Steps(F: Frame); |
| VAR i: INTEGER; |
| BEGINx i := 0;y |
0151 | x(4EE9000C): SUB SP, SP, CH |
0152 | x(AFE00000): STR LNK, SP, 0H |
0153 | x(A0E00004): STR R0, SP, 4H |
0154 | y(40000000): MOV R0, R0, 0H |
0155 | y(A0E00008): STR R0, SP, 8H |
| WHILE i < N DOz Move(F,a F.sb[i]c)d;e INC(i) ENDf |
0156 | z(80E00008): LDR R0, SP, 8H |
0157 | z(40090006): SUB R0, R0, 6H |
0158 | z(ED000010): BGE 16 [0169H] |
0159 | a(80E00004): LDR R0, SP, 4H |
015A | b(81E00004): LDR R1, SP, 4H |
015B | b(D107A24C): BLEQ MT [trap=4, pos=1954] |
015C | c(82E00008): LDR R2, SP, 8H |
015D | c(43290006): SUB R3, R2, 6H |
015E | c(DA07A51C): BLCC MT [trap=1, pos=1957] |
015F | c(422A0010): MUL R2, R2, 10H |
0160 | c(01180002): ADD R1, R1, R2 |
0161 | d(4118001C): ADD R1, R1, 1CH |
0162 | d .FIXUP D |
0162 | d(8D00015D): LDR SB, MT, MOD0 [Stars] |
0163 | d(42D80000): ADD R2, SB, 0H [data] |
0164 | e(F7FFFF69): BL -151 [00CEH] |
0165 | f(80E00008): LDR R0, SP, 8H |
0166 | f(40080001): ADD R0, R0, 1H |
0167 | f(A0E00008): STR R0, SP, 8H |
0168 | f(E7FFFFED): B -19 [0156H] |
| ENDg Steps; |
0169 | g(8FE00000): LDR LNK, SP, 0H |
016A | g(4EE8000C): ADD SP, SP, CH |
016B | g(C700000F): B LNK |
| |
| PROCEDURE Handle(F: Display.Frame; VAR M: Display.FrameMsg); |
| VAR F1: Frame; |
| BEGINh |
016C | h(4EE90014): SUB SP, SP, 14H |
016D | h(AFE00000): STR LNK, SP, 0H |
016E | h(A0E00004): STR R0, SP, 4H |
016F | h(A1E00008): STR R1, SP, 8H |
0170 | h(A2E0000C): STR R2, SP, CH |
| CASE F OF Frame:i |
0171 | i(80E00004): LDR R0, SP, 4H |
0172 | i(E1000005): BEQ 5 [0178H] |
0173 | i(810FFFF8): LDR R1, R0, FFFFFFF8H |
0174 | i(81100004): LDR R1, R1, 4H |
0175 | i .FIXUP D |
0175 | i(8D000013): LDR SB, MT, MOD0 [Stars] |
0176 | i(42D80014): ADD R2, SB, 14H [data] |
0177 | i(02290001): SUB R2, R2, R1 |
0178 | i(E900005E): BNE 94 [01D7H] |
| CASE M OF |
| Oberon.InputMsg:j |
0179 | j(80E0000C): LDR R0, SP, CH |
017A | j(80000004): LDR R0, R0, 4H |
017B | j .FIXUP D |
017B | j(8D600006): LDR SB, MT, MOD6 [Oberon] |
017C | j(41D80003): ADD R1, SB, VAR3 |
017D | j(01190000): SUB R1, R1, R0 |
017E | j(E900000A): BNE 10 [0189H] |
| IF M(Oberon.InputMsg).id = Oberon.track THENk |
017F | k(80E00008): LDR R0, SP, 8H |
0180 | k(80000000): LDR R0, R0, 0H |
0181 | k(40090001): SUB R0, R0, 1H |
0182 | k(E9000005): BNE 5 [0188H] |
| Oberon.DrawMouseArrow(M(Oberon.InputMsg).X,l M(Oberon.InputMsg).Y)m |
0183 | l(80E00008): LDR R0, SP, 8H |
0184 | l(80000008): LDR R0, R0, 8H |
0185 | m(81E00008): LDR R1, SP, 8H |
0186 | m(8110000C): LDR R1, R1, CH |
| ENDn |
0187 | n .FIXUP P |
0187 | n(F7618159): BL MOD6 [Oberon] PROC24 |
| | StepMsgo:p Steps(F)q |
0188 | o(E700004E): B 78 [01D7H] |
0189 | p(80E0000C): LDR R0, SP, CH |
018A | p(80000004): LDR R0, R0, 4H |
018B | p .FIXUP D |
018B | p(8D000010): LDR SB, MT, MOD0 [Stars] |
018C | p(41D80044): ADD R1, SB, 44H [data] |
018D | p(01190000): SUB R1, R1, R0 |
018E | p(E9000003): BNE 3 [0192H] |
018F | q(80E00004): LDR R0, SP, 4H |
| |r RestoreMsgs:t Restore(F)u |
0190 | r(F7FFFFC0): BL -64 [0151H] |
0191 | s(E7000045): B 69 [01D7H] |
0192 | t(80E0000C): LDR R0, SP, CH |
0193 | t(80000004): LDR R0, R0, 4H |
0194 | t .FIXUP D |
0194 | t(8D000009): LDR SB, MT, MOD0 [Stars] |
0195 | t(41D80030): ADD R1, SB, 30H [data] |
0196 | t(01190000): SUB R1, R1, R0 |
0197 | t(E9000003): BNE 3 [019BH] |
0198 | u(80E00004): LDR R0, SP, 4H |
| |v Oberonw.CopyMsg:x Oberon.Remove(T)y;z NEW(F1);a F1^ :=b F^;c M.F := F1 |
0199 | v(F7FFFE74): BL -396 [000EH] |
019A | w(E700003C): B 60 [01D7H] |
019B | x(80E0000C): LDR R0, SP, CH |
019C | x(80000004): LDR R0, R0, 4H |
019D | x .FIXUP D |
019D | x(8D600009): LDR SB, MT, MOD6 [Oberon] |
019E | x(41D80006): ADD R1, SB, VAR6 |
019F | x(01190000): SUB R1, R1, R0 |
01A0 | x(E9000016): BNE 22 [01B7H] |
01A1 | y .FIXUP D |
01A1 | y(8D000004): LDR SB, MT, MOD0 [Stars] |
01A2 | y(80D00058): LDR R0, SB, 58H [data] |
01A3 | z .FIXUP P |
01A3 | z(F762C01C): BL MOD6 [Oberon] PROC44 |
01A4 | a(40E80010): ADD R0, SP, 10H |
01A5 | a .FIXUP D |
01A5 | a(8D000004): LDR SB, MT, MOD0 [Stars] |
01A6 | a(41D80014): ADD R1, SB, 14H [data] |
01A7 | a(D709570C): BL MT [trap=0, pos=2391] |
01A8 | b(80E00010): LDR R0, SP, 10H |
01A9 | b(D1095E4C): BLEQ MT [trap=4, pos=2398] |
01AA | c(81E00004): LDR R1, SP, 4H |
01AB | c(D109624C): BLEQ MT [trap=4, pos=2402] |
01AC | c(4200001F): MOV R2, R0, 1FH |
01AD | c(83100000): LDR R3, R1, 0H |
01AE | c(41180004): ADD R1, R1, 4H |
01AF | c(A3000000): STR R3, R0, 0H |
01B0 | c(40080004): ADD R0, R0, 4H |
01B1 | c(42290001): SUB R2, R2, 1H |
01B2 | c(E9FFFFFA): BNE -6 [01ADH] |
| |d MenuViewerse.ModifyMsg:f |
01B3 | d(80E00010): LDR R0, SP, 10H |
01B4 | d(81E00008): LDR R1, SP, 8H |
01B5 | d(A0100000): STR R0, R1, 0H |
01B6 | e(E7000020): B 32 [01D7H] |
01B7 | f(80E0000C): LDR R0, SP, CH |
01B8 | f(80000004): LDR R0, R0, 4H |
01B9 | f .FIXUP D |
01B9 | f(8D700014): LDR SB, MT, MOD7 [MenuViewers] |
01BA | f(41D80002): ADD R1, SB, VAR2 |
01BB | f(01190000): SUB R1, R1, R0 |
01BC | f(E900001A): BNE 26 [01D7H] |
| IF (M.Y # F.Yg)h OR (iM.H # F.Hj)k THENl F.Ym := M.Y;n F.Ho := M.H;p Restore(F)q ENDr |
01BD | g(80E00004): LDR R0, SP, 4H |
01BE | g(D109A14C): BLEQ MT [trap=4, pos=2465] |
01BF | h(81E00008): LDR R1, SP, 8H |
01C0 | h(81100008): LDR R1, R1, 8H |
01C1 | h(8000000C): LDR R0, R0, CH |
01C2 | h(01190000): SUB R1, R1, R0 |
01C3 | i(E9000007): BNE 7 [01CBH] |
01C4 | j(80E00004): LDR R0, SP, 4H |
01C5 | j(D109B04C): BLEQ MT [trap=4, pos=2480] |
01C6 | k(81E00008): LDR R1, SP, 8H |
01C7 | k(8110000C): LDR R1, R1, CH |
01C8 | k(80000014): LDR R0, R0, 14H |
01C9 | k(01190000): SUB R1, R1, R0 |
01CA | l(E100000C): BEQ 12 [01D7H] |
01CB | m(80E00004): LDR R0, SP, 4H |
01CC | m(D109BA4C): BLEQ MT [trap=4, pos=2490] |
01CD | n(81E00008): LDR R1, SP, 8H |
01CE | n(81100008): LDR R1, R1, 8H |
01CF | n(A100000C): STR R1, R0, CH |
01D0 | o(80E00004): LDR R0, SP, 4H |
01D1 | o(D109C64C): BLEQ MT [trap=4, pos=2502] |
01D2 | p(81E00008): LDR R1, SP, 8H |
01D3 | p(8110000C): LDR R1, R1, CH |
01D4 | p(A1000014): STR R1, R0, 14H |
01D5 | q(80E00004): LDR R0, SP, 4H |
01D6 | r(F7FFFE37): BL -457 [000EH] |
| END |
| END |
| ENDs Handle; |
01D7 | s(8FE00000): LDR LNK, SP, 0H |
01D8 | s(4EE80014): ADD SP, SP, 14H |
01D9 | s(C700000F): B LNK |
| |
| PROCEDURE Step*; |
| VAR k: INTEGER; M: StepMsg; |
| BEGINt |
01DA | t .PROC 1 |
01DA | t .COMMAND Step |
01DA | t(4EE90008): SUB SP, SP, 8H |
01DB | t(AFE00000): STR LNK, SP, 0H |
| IF Oberon.Par.vwr.udscv = Oberon.Par.frame THENw Steps(Oberon.Par.frame.xnexty(Frame)z) |
01DC | u .FIXUP D |
01DC | u(8D600023): LDR SB, MT, MOD6 [Oberon] |
01DD | u(40D8000E): ADD R0, SB, VAR14 |
01DE | v(80000000): LDR R0, R0, 0H |
01DF | v(D10A534C): BLEQ MT [trap=4, pos=2643] |
01E0 | w .FIXUP D |
01E0 | w(8D600004): LDR SB, MT, MOD6 [Oberon] |
01E1 | w(41D8000E): ADD R1, SB, VAR14 |
01E2 | w(80000004): LDR R0, R0, 4H |
01E3 | w(81100004): LDR R1, R1, 4H |
01E4 | w(00090001): SUB R0, R0, R1 |
01E5 | w(E900000E): BNE 14 [01F4H] |
01E6 | x .FIXUP D |
01E6 | x(8D600006): LDR SB, MT, MOD6 [Oberon] |
01E7 | x(40D8000E): ADD R0, SB, VAR14 |
01E8 | y(80000004): LDR R0, R0, 4H |
01E9 | y(D10A874C): BLEQ MT [trap=4, pos=2695] |
01EA | z(80000000): LDR R0, R0, 0H |
01EB | z(E1000005): BEQ 5 [01F1H] |
01EC | z(810FFFF8): LDR R1, R0, FFFFFFF8H |
01ED | z(81100004): LDR R1, R1, 4H |
01EE | z .FIXUP D |
01EE | z(8D000008): LDR SB, MT, MOD0 [Stars] |
01EF | z(42D80014): ADD R2, SB, 14H [data] |
01F0 | z(02290001): SUB R2, R2, R1 |
01F1 | z(D90A8E2C): BLNE MT [trap=2, pos=2702] |
| ELSEa Viewersb.Broadcast(M)c |
01F2 | a(F7FFFF5E): BL -162 [0151H] |
01F3 | b(E7000004): B 4 [01F8H] |
01F4 | c(40E80008): ADD R0, SP, 8H |
01F5 | c .FIXUP D |
01F5 | c(8D000007): LDR SB, MT, MOD0 [Stars] |
01F6 | c(41D80044): ADD R1, SB, 44H [data] |
| ENDd |
01F7 | d .FIXUP P |
01F7 | d(F720F054): BL MOD2 [Viewers] PROC15 |
| ENDe Step; |
01F8 | e(8FE00000): LDR LNK, SP, 0H |
01F9 | e(4EE80008): ADD SP, SP, 8H |
01FA | e(C700000F): B LNK |
| |
| PROCEDURE Open*; |
| VAR F: Frame; V: Viewers.Viewer; X, Y: INTEGER; |
| BEGINf NEW(F);g F.handleh := Handle;i |
01FB | f .PROC 2 |
01FB | f .COMMAND Open |
01FB | f(4EE90014): SUB SP, SP, 14H |
01FC | f(AFE00000): STR LNK, SP, 0H |
01FD | g(40E80004): ADD R0, SP, 4H |
01FE | g .FIXUP D |
01FE | g(8D000009): LDR SB, MT, MOD0 [Stars] |
01FF | g(41D80014): ADD R1, SB, 14H [data] |
0200 | g(D70B190C): BL MT [trap=0, pos=2841] |
0201 | h(80E00004): LDR R0, SP, 4H |
0202 | h(D10B224C): BLEQ MT [trap=4, pos=2850] |
0203 | i(F7000000): BL 0 [0204H] |
0204 | i(41F90260): SUB R1, LNK, 260H |
0205 | i(A1000018): STR R1, R0, 18H |
| Oberon.AllocateUserViewer(Oberon.Par.vwr.jXk,l X,m Y)n;o |
0206 | j .FIXUP D |
0206 | j(8D600008): LDR SB, MT, MOD6 [Oberon] |
0207 | j(40D8000E): ADD R0, SB, VAR14 |
0208 | k(80000000): LDR R0, R0, 0H |
0209 | k(D10B5C4C): BLEQ MT [trap=4, pos=2908] |
020A | l(80000008): LDR R0, R0, 8H |
020B | m(41E8000C): ADD R1, SP, CH |
020C | n(42E80010): ADD R2, SP, 10H |
020D | o .FIXUP P |
020D | o(F7622016): BL MOD6 [Oberon] PROC34 |
| V := MenuViewers.New( |
| TextFrames.NewMenu("Stars",p "Stars.Close System.Grow System.Copy Stars.Step Stars.Run Stars.Stop")q,r |
020E | p .FIXUP D |
020E | p(8D000008): LDR SB, MT, MOD0 [Stars] |
020F | p(40D80084): ADD R0, SB, 84H ["Stars"] |
0210 | p(41000006): MOV R1, R0, 6H |
0211 | q(42D8008C): ADD R2, SB, 8CH |
0212 | q(43000049): MOV R3, R0, 49H |
0213 | r .FIXUP P |
0213 | r(F782C006): BL MOD8 [TextFrames] PROC44 |
| F,s TextFrames.menuH,t X,u Y)v |
0214 | s(81E00004): LDR R1, SP, 4H |
0215 | t .FIXUP D |
0215 | t(8D800007): LDR SB, MT, MOD8 [TextFrames] |
0216 | t(82D00005): LDR R2, SB, VAR5 |
0217 | u(83E0000C): LDR R3, SP, CH |
0218 | v(84E00010): LDR R4, SP, 10H |
| ENDw Open; |
0219 | w .FIXUP P |
0219 | w(F7704006): BL MOD7 [MenuViewers] PROC4 |
021A | w(A0E00008): STR R0, SP, 8H |
021B | w(8FE00000): LDR LNK, SP, 0H |
021C | w(4EE80014): ADD SP, SP, 14H |
021D | w(C700000F): B LNK |
| |
| PROCEDURE Run*; |
| BEGINx Oberon.Install(T)y |
021E | x .PROC 3 |
021E | x .COMMAND Run |
021E | x(4EE90004): SUB SP, SP, 4H |
021F | x(AFE00000): STR LNK, SP, 0H |
0220 | y .FIXUP D |
0220 | y(8D00000B): LDR SB, MT, MOD0 [Stars] |
0221 | y(80D00058): LDR R0, SB, 58H [data] |
| ENDz Run; |
0222 | z .FIXUP P |
0222 | z(F762B009): BL MOD6 [Oberon] PROC43 |
0223 | z(8FE00000): LDR LNK, SP, 0H |
0224 | z(4EE80004): ADD SP, SP, 4H |
0225 | z(C700000F): B LNK |
| |
| PROCEDURE Stop*; |
| BEGINa Oberon.Remove(T)b |
0226 | a .PROC 4 |
0226 | a .COMMAND Stop |
0226 | a(4EE90004): SUB SP, SP, 4H |
0227 | a(AFE00000): STR LNK, SP, 0H |
0228 | b .FIXUP D |
0228 | b(8D000008): LDR SB, MT, MOD0 [Stars] |
0229 | b(80D00058): LDR R0, SB, 58H [data] |
| ENDc Stop; |
022A | c .FIXUP P |
022A | c(F762C008): BL MOD6 [Oberon] PROC44 |
022B | c(8FE00000): LDR LNK, SP, 0H |
022C | c(4EE80004): ADD SP, SP, 4H |
022D | c(C700000F): B LNK |
| |
| PROCEDURE Close*; |
| BEGINd |
022E | d .PROC 5 |
022E | d .COMMAND Close |
022E | d(4EE90004): SUB SP, SP, 4H |
022F | d(AFE00000): STR LNK, SP, 0H |
| IF Oberon.Par.vwr.edscf = Oberon.Par.frame THENg Stop;h Viewers.Close(Oberon.Par.vwr)i ENDj |
0230 | e .FIXUP D |
0230 | e(8D600008): LDR SB, MT, MOD6 [Oberon] |
0231 | e(40D8000E): ADD R0, SB, VAR14 |
0232 | f(80000000): LDR R0, R0, 0H |
0233 | f(D10CC24C): BLEQ MT [trap=4, pos=3266] |
0234 | g .FIXUP D |
0234 | g(8D600004): LDR SB, MT, MOD6 [Oberon] |
0235 | g(41D8000E): ADD R1, SB, VAR14 |
0236 | g(80000004): LDR R0, R0, 4H |
0237 | g(81100004): LDR R1, R1, 4H |
0238 | g(00090001): SUB R0, R0, R1 |
0239 | g(E9000005): BNE 5 [023FH] |
023A | h(F7FFFFEB): BL -21 [0226H] |
023B | i .FIXUP D |
023B | i(8D600007): LDR SB, MT, MOD6 [Oberon] |
023C | i(40D8000E): ADD R0, SB, VAR14 |
023D | i(80000000): LDR R0, R0, 0H |
023E | j .FIXUP P |
023E | j(F7207014): BL MOD2 [Viewers] PROC7 |
| ENDk Close; |
023F | k(8FE00000): LDR LNK, SP, 0H |
0240 | k(4EE80004): ADD SP, SP, 4H |
0241 | k(C700000F): B LNK |
| |
| PROCEDURE Step1; |
| VAR M: StepMsg; |
| BEGINl Viewers.Broadcast(M)m |
0242 | l(4EE90004): SUB SP, SP, 4H |
0243 | l(AFE00000): STR LNK, SP, 0H |
0244 | m(40E80004): ADD R0, SP, 4H |
0245 | m .FIXUP D |
0245 | m(8D00000A): LDR SB, MT, MOD0 [Stars] |
0246 | m(41D80044): ADD R1, SB, 44H [data] |
| ENDn Step1; |
0247 | n .FIXUP P |
0247 | n(F720F009): BL MOD2 [Viewers] PROC15 |
0248 | n(8FE00000): LDR LNK, SP, 0H |
0249 | n(4EE80004): ADD SP, SP, 4H |
024A | n(C700000F): B LNK |
| |
| PROCEDURE SetPeriod*; |
| VAR S: Texts.Scanner; |
| BEGINo Texts.OpenScanner(S,p Oberon.Par.text,q Oberon.Par.pos)r;s Texts.Scan(S)t;u |
024B | o .PROC 6 |
024B | o .COMMAND SetPeriod |
024B | o(4EE90078): SUB SP, SP, 78H |
024C | o(AFE00000): STR LNK, SP, 0H |
024D | p(40E80004): ADD R0, SP, 4H |
024E | p .FIXUP D |
024E | p(8D300009): LDR SB, MT, MOD3 [Texts] |
024F | p(41D80003): ADD R1, SB, VAR3 |
0250 | q .FIXUP D |
0250 | q(8D600002): LDR SB, MT, MOD6 [Oberon] |
0251 | q(42D8000E): ADD R2, SB, VAR14 |
0252 | q(82200008): LDR R2, R2, 8H |
0253 | r .FIXUP D |
0253 | r(8D600003): LDR SB, MT, MOD6 [Oberon] |
0254 | r(43D8000E): ADD R3, SB, VAR14 |
0255 | r(8330000C): LDR R3, R3, CH |
0256 | s .FIXUP P |
0256 | s(F731500F): BL MOD3 [Texts] PROC21 |
0257 | t(40E80004): ADD R0, SP, 4H |
0258 | t .FIXUP D |
0258 | t(8D300005): LDR SB, MT, MOD3 [Texts] |
0259 | t(41D80003): ADD R1, SB, VAR3 |
025A | u .FIXUP P |
025A | u(F7316004): BL MOD3 [Texts] PROC22 |
| IF S.class = Texts.Int THENv T.periodw := S.i ENDx |
025B | v(80E00040): LDR R0, SP, 40H |
025C | v(40090003): SUB R0, R0, 3H |
025D | v(E9000005): BNE 5 [0263H] |
025E | w .FIXUP D |
025E | w(8D000006): LDR SB, MT, MOD0 [Stars] |
025F | w(80D00058): LDR R0, SB, 58H [data] |
0260 | w(D10E0B4C): BLEQ MT [trap=4, pos=3595] |
0261 | x(81E00044): LDR R1, SP, 44H |
0262 | x(A1000008): STR R1, R0, 8H |
| ENDy SetPeriod; |
0263 | y(8FE00000): LDR LNK, SP, 0H |
0264 | y(4EE80078): ADD SP, SP, 78H |
0265 | y(C700000F): B LNK |
| |
| BEGINz Texts.OpenWriter(W)a;b T := Oberon.NewTask(Step1,c interval)d;e |
0266 | z .PROC 0 |
0266 | z .ENTRYPOINT |
0266 | z(4EE90004): SUB SP, SP, 4H |
0267 | z(AFE00000): STR LNK, SP, 0H |
0268 | a .FIXUP D |
0268 | a(8D00000A): LDR SB, MT, MOD0 [Stars] |
0269 | a(40D8005C): ADD R0, SB, 5CH [data] |
026A | a .FIXUP D |
026A | a(8D300002): LDR SB, MT, MOD3 [Texts] |
026B | a(41D80005): ADD R1, SB, VAR5 |
026C | b .FIXUP P |
026C | b(F7317012): BL MOD3 [Texts] PROC23 |
026D | c(F7000000): BL 0 [026EH] |
026E | c(40F900B0): SUB R0, LNK, B0H |
026F | d(410000C8): MOV R1, R0, C8H |
0270 | e .FIXUP P |
0270 | e(F762A004): BL MOD6 [Oberon] PROC42 |
0271 | e .FIXUP D |
0271 | e(8D000007): LDR SB, MT, MOD0 [Stars] |
0272 | e(A0D00058): STR R0, SB, 58H [data] |
| END Stars.f |
0273 | f(8FE00000): LDR LNK, SP, 0H |
0274 | f(4EE80004): ADD SP, SP, 4H |
0275 | f(C700000F): B LNK |