summaryrefslogtreecommitdiff
path: root/Debug/Snow.lst
blob: f6cf5c6088efeac49f13e08a107486e9bdd451c8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
SH SERIES C/C++ Compiler (Ver. 6.0C)                                                                 29-Dec-2012 11:39:59  PAGE    1

************ OBJECT LISTING ************

FILE NAME: G:\Casio SDK\Projekte\Firework\Snow.c

SCT OFFSET   CODE       C LABEL     INSTRUCTION OPERAND    COMMENT

          Snow.c     1    #include "mathf.h"
          Snow.c     2    
          Snow.c     3    char *Disp_GetVRAMPtr(void);
          Snow.c     4    int Timer_Install(int TimerID, void (*handler)(void), int delay);
          Snow.c     5    int Timer_Start(int TimerID);
          Snow.c     6    void App_PROG();
          Snow.c     7    int RTC_GetTicks();
          Snow.c     8    void AllClear_VRAM();
          Snow.c     9    
          Snow.c    10    typedef struct{
          Snow.c    11        unsigned int x1;
          Snow.c    12        unsigned int y1;
          Snow.c    13        unsigned int x2;
          Snow.c    14        unsigned int y2;
          Snow.c    15        unsigned char f[4];
          Snow.c    16        unsigned int on_bits;
          Snow.c    17        unsigned int off_bits;
          Snow.c    18    } TShape;
          Snow.c    19    
          Snow.c    20    void ShapeToVRAM( TShape* x ); 
          Snow.c    21    
          Snow.c    22    char *vram;
          Snow.c    23    
          Snow.c    24    const int SysCallWrapper[] = {0xD201422B,0x60F20000,0x80010070};
          Snow.c    25    const int (*iSysCallFuncPtr)( int R4, int R5, int R6, int R7, int FNo ) = (void*)&SysCallWrapper;
          Snow.c    26    #define Alpha_GetData(VarName,Dest) (void)(*iSysCallFuncPtr)( VarName,(int)Dest, 0, 0, 0x04DF)
          Snow.c    27    #define Alpha_ClearAll() (void)(*iSysCallFuncPtr)( 0,0, 0, 0, 0x004E1)
          Snow.c    28    
          Snow.c    29    int InputString( unsigned char*buff, unsigned char *heading, int maxlen );
          Snow.c    30    
          Snow.c    31    static unsigned int lastrandom=0x12345678;
          Snow.c    32    
          Snow.c    33    unsigned int random( int seed){
P   00000000              _random:                         ; function: random
                                                           ; frame size=4
    00000000 4F12                   STS.L       MACL,@-R15
          Snow.c    34        if (seed) lastrandom=seed;
    00000002 2448                   TST         R4,R4
    00000004 D53C                   MOV.L       L413+4,R5  ; __$lastrandom
    00000006 8900                   BT          L366
    00000008 2542                   MOV.L       R4,@R5
    0000000A              L366:                             
          Snow.c    35        lastrandom = ( 0x41C64E6D*lastrandom ) + 0x3039;
    0000000A D33C                   MOV.L       L413+8,R3  ; H'41C64E6D
    0000000C 6252                   MOV.L       @R5,R2
    0000000E 0237                   MUL.L       R3,R2
    00000010 9170                   MOV.W       L413,R1    ; H'3039
    00000012 031A                   STS         MACL,R3
    00000014 331C                   ADD         R1,R3
          Snow.c    36        return ( lastrandom >> 16 );
    00000016 6033                   MOV         R3,R0
    00000018 2532                   MOV.L       R3,@R5
    0000001A 4029                   SHLR16      R0
          Snow.c    37    }




SH SERIES C/C++ Compiler (Ver. 6.0C)                                                                 29-Dec-2012 11:39:59  PAGE    2


SCT OFFSET   CODE       C LABEL     INSTRUCTION OPERAND    COMMENT

    0000001C 000B                   RTS
    0000001E 4F16                   LDS.L       @R15+,MACL
          Snow.c    38    
          Snow.c    39    const char sprite[9][3] = {
          Snow.c    40    { 0 , 1 , 0 },
          Snow.c    41    { 1 , 1 , 1 },
          Snow.c    42    { 1 , 0 , 1 },
          Snow.c    43    { 1 , 0 , 1 },
          Snow.c    44    { 1 , 0 , 1 },
          Snow.c    45    { 1 , 1 , 1 },
          Snow.c    46    { 0 , 0 , 1 },
          Snow.c    47    { 0 , 0 , 1 },
          Snow.c    48    { 0 , 0 , 1 }
          Snow.c    49    };
          Snow.c    50    
          Snow.c    51    #define abs(x) (x < 0)?-x:x
          Snow.c    52    #define sgn(x) (x < 0)?-1:(x == 0)?0:1
          Snow.c    53    
          Snow.c    54    void setpixel(unsigned char x, char y)
    00000020              _setpixel:                       ; function: setpixel
                                                           ; frame size=32
    00000020 4F22                   STS.L       PR,@-R15
          Snow.c    55    {
          Snow.c    56            TShape t;
          Snow.c    57            if(x&~127 || y&~63) return;
    00000022 624C                   EXTU.B      R4,R2
    00000024 7FE4                   ADD         #-28,R15
    00000026 E380                   MOV         #-128,R3
    00000028 2238                   TST         R3,R2
    0000002A 8B14                   BF          L370
    0000002C 605E                   EXTS.B      R5,R0
    0000002E E2C0                   MOV         #-64,R2
    00000030 2028                   TST         R2,R0
    00000032 8B10                   BF          L370
          Snow.c    58            t.x1 = x;
    00000034 644C                   EXTU.B      R4,R4
          Snow.c    59            t.y1 = y;
    00000036 655E                   EXTS.B      R5,R5
    00000038 2F42                   MOV.L       R4,@R15
          Snow.c    60            t.f[0] = 2;
    0000003A E302                   MOV         #2,R3
    0000003C 1F51                   MOV.L       R5,@(4,R15)
    0000003E E010                   MOV         #16,R0
    00000040 0F34                   MOV.B       R3,@(R0,R15)
          Snow.c    61            t.f[1] = 1;
    00000042 E401                   MOV         #1,R4
          Snow.c    62            t.f[2] = 1;
          Snow.c    63            t.f[3] = 1;
          Snow.c    64            
          Snow.c    65            ShapeToDD(&t);
    00000044 D32E                   MOV.L       L413+12,R3 ; _ShapeToDD
    00000046 E011                   MOV         #17,R0
    00000048 0F44                   MOV.B       R4,@(R0,R15)
    0000004A E012                   MOV         #18,R0
    0000004C 0F44                   MOV.B       R4,@(R0,R15)
    0000004E E013                   MOV         #19,R0
    00000050 0F44                   MOV.B       R4,@(R0,R15)




SH SERIES C/C++ Compiler (Ver. 6.0C)                                                                 29-Dec-2012 11:39:59  PAGE    3


SCT OFFSET   CODE       C LABEL     INSTRUCTION OPERAND    COMMENT

    00000052 430B                   JSR         @R3
    00000054 64F3                   MOV         R15,R4
          Snow.c    66    }
    00000056              L370:                             
    00000056 7F1C                   ADD         #28,R15
    00000058 4F26                   LDS.L       @R15+,PR
    0000005A 000B                   RTS
    0000005C 0009                   NOP
          Snow.c    67    
          Snow.c    68    void line(int x1, int y1, int x2, int y2)
    0000005E              _line:                           ; function: line
                                                           ; frame size=36
          Snow.c    69    {
          Snow.c    70            int i, x, y, dx, dy, sx, sy, cumul;
          Snow.c    71            x = x1;
          Snow.c    72            y = y1;
          Snow.c    73            dx = x2 - x1;
    0000005E 6363                   MOV         R6,R3
    00000060 2FE6                   MOV.L       R14,@-R15
          Snow.c    74            dy = y2 - y1;
    00000062 6273                   MOV         R7,R2
    00000064 2FD6                   MOV.L       R13,@-R15
    00000066 3348                   SUB         R4,R3
    00000068 2FC6                   MOV.L       R12,@-R15
    0000006A 6D43                   MOV         R4,R13
    0000006C 2FB6                   MOV.L       R11,@-R15
    0000006E 6C53                   MOV         R5,R12
    00000070 2FA6                   MOV.L       R10,@-R15
    00000072 6433                   MOV         R3,R4
    00000074 2F96                   MOV.L       R9,@-R15
    00000076 3258                   SUB         R5,R2
    00000078 2F86                   MOV.L       R8,@-R15
          Snow.c    75            sx = sgn(dx);
    0000007A 4411                   CMP/PZ      R4
    0000007C 4F22                   STS.L       PR,@-R15
    0000007E 7FFC                   ADD         #-4,R15
    00000080 8D02                   BT/S        L371
    00000082 6523                   MOV         R2,R5
    00000084 A005                   BRA         L373
    00000086 E8FF                   MOV         #-1,R8
    00000088              L371:                             
    00000088 2448                   TST         R4,R4
    0000008A 8B01                   BF          L372
    0000008C A001                   BRA         L373
    0000008E E800                   MOV         #0,R8
    00000090              L372:                             
    00000090 E801                   MOV         #1,R8
    00000092              L373:                             
          Snow.c    76            sy = sgn(dy);
    00000092 4511                   CMP/PZ      R5
    00000094 8901                   BT          L375
    00000096 A005                   BRA         L377
    00000098 E2FF                   MOV         #-1,R2
    0000009A              L375:                             
    0000009A 2558                   TST         R5,R5
    0000009C 8B01                   BF          L376
    0000009E A001                   BRA         L377




SH SERIES C/C++ Compiler (Ver. 6.0C)                                                                 29-Dec-2012 11:39:59  PAGE    4


SCT OFFSET   CODE       C LABEL     INSTRUCTION OPERAND    COMMENT

    000000A0 E200                   MOV         #0,R2
    000000A2              L376:                             
    000000A2 E201                   MOV         #1,R2
    000000A4              L377:                             
          Snow.c    77            dx = abs(dx);
    000000A4 4411                   CMP/PZ      R4
    000000A6 8D02                   BT/S        L379
    000000A8 2F22                   MOV.L       R2,@R15
    000000AA A001                   BRA         L380
    000000AC 6E4B                   NEG         R4,R14
    000000AE              L379:                             
    000000AE 6E43                   MOV         R4,R14
    000000B0              L380:                             
          Snow.c    78            dy = abs(dy);
    000000B0 4511                   CMP/PZ      R5
    000000B2 8901                   BT          L381
    000000B4 A001                   BRA         L382
    000000B6 6B5B                   NEG         R5,R11
    000000B8              L381:                             
    000000B8 6B53                   MOV         R5,R11
    000000BA              L382:                             
          Snow.c    79            setpixel(x, y);
    000000BA 65C3                   MOV         R12,R5
    000000BC BFB0                   BSR         _setpixel
    000000BE 64D3                   MOV         R13,R4
          Snow.c    80            if(dx > dy)
    000000C0 3EB7                   CMP/GT      R11,R14
    000000C2 8F1F                   BF/S        L383
    000000C4 E401                   MOV         #1,R4
          Snow.c    81            {
          Snow.c    82                    cumul = dx / 2;
    000000C6 6AE3                   MOV         R14,R10
    000000C8 E300                   MOV         #0,R3
    000000CA 33A7                   CMP/GT      R10,R3
    000000CC 3A3E                   ADDC        R3,R10
    000000CE 4A21                   SHAR        R10
          Snow.c    83                    for(i=1 ; i<dx ; i++)
    000000D0 6943                   MOV         R4,R9
    000000D2 39E3                   CMP/GE      R14,R9
    000000D4 892B                   BT          L387
    000000D6              L385:                             
          Snow.c    84                    {
          Snow.c    85                            x += sx;
          Snow.c    86                            cumul += dy;
    000000D6 3ABC                   ADD         R11,R10
          Snow.c    87                            if(cumul > dx)
    000000D8 3AE7                   CMP/GT      R14,R10
    000000DA 8F03                   BF/S        L386
    000000DC 3D8C                   ADD         R8,R13
          Snow.c    88                            {
          Snow.c    89                                    cumul -= dx;
    000000DE 3AE8                   SUB         R14,R10
          Snow.c    90                                    y += sy;
    000000E0 62F2                   MOV.L       @R15,R2
    000000E2 3C2C                   ADD         R2,R12
    000000E4              L386:                             
          Snow.c    91                            }




SH SERIES C/C++ Compiler (Ver. 6.0C)                                                                 29-Dec-2012 11:39:59  PAGE    5


SCT OFFSET   CODE       C LABEL     INSTRUCTION OPERAND    COMMENT

          Snow.c    92                            setpixel(x, y);
    000000E4 65C3                   MOV         R12,R5
    000000E6 BF9B                   BSR         _setpixel
    000000E8 64D3                   MOV         R13,R4
    000000EA 7901                   ADD         #1,R9
    000000EC 39E3                   CMP/GE      R14,R9
    000000EE 8BF2                   BF          L385
    000000F0 A01D                   BRA         L387
    000000F2 0009                   NOP
    000000F4              L413:                             
    000000F4 3039                   .DATA.W     H'3039
    000000F6 0000                   .DATA.W     0
    000000F8 <00000000>             .DATA.L     __$lastrandom
    000000FC 41C64E6D               .DATA.L     H'41C64E6D
    00000100 <00000000>             .DATA.L     _ShapeToDD
    00000104              L383:                             
          Snow.c    93                    }
          Snow.c    94            }
          Snow.c    95            else
          Snow.c    96            {
          Snow.c    97                    cumul = dy / 2;
    00000104 6AB3                   MOV         R11,R10
    00000106 E300                   MOV         #0,R3
    00000108 33A7                   CMP/GT      R10,R3
    0000010A 3A3E                   ADDC        R3,R10
    0000010C 4A21                   SHAR        R10
          Snow.c    98                    for(i=1 ; i<dy ; i++)
    0000010E 6943                   MOV         R4,R9
    00000110 39B3                   CMP/GE      R11,R9
    00000112 890C                   BT          L387
    00000114              L389:                             
          Snow.c    99                    {
          Snow.c   100                            y += sy;
    00000114 63F2                   MOV.L       @R15,R3
          Snow.c   101                            cumul += dx;
    00000116 3AEC                   ADD         R14,R10
          Snow.c   102                            if(cumul > dy)
    00000118 3AB7                   CMP/GT      R11,R10
    0000011A 8F02                   BF/S        L390
    0000011C 3C3C                   ADD         R3,R12
          Snow.c   103                            {
          Snow.c   104                                    cumul -= dy;
    0000011E 3AB8                   SUB         R11,R10
          Snow.c   105                                    x += sx;
    00000120 3D8C                   ADD         R8,R13
    00000122              L390:                             
          Snow.c   106                            }
          Snow.c   107                            setpixel(x, y);
    00000122 65C3                   MOV         R12,R5
    00000124 BF7C                   BSR         _setpixel
    00000126 64D3                   MOV         R13,R4
    00000128 7901                   ADD         #1,R9
    0000012A 39B3                   CMP/GE      R11,R9
    0000012C 8BF2                   BF          L389
    0000012E              L387:                             
          Snow.c   108                    }
          Snow.c   109            }




SH SERIES C/C++ Compiler (Ver. 6.0C)                                                                 29-Dec-2012 11:39:59  PAGE    6


SCT OFFSET   CODE       C LABEL     INSTRUCTION OPERAND    COMMENT

          Snow.c   110    }
    0000012E 7F04                   ADD         #4,R15
    00000130 4F26                   LDS.L       @R15+,PR
    00000132 68F6                   MOV.L       @R15+,R8
    00000134 69F6                   MOV.L       @R15+,R9
    00000136 6AF6                   MOV.L       @R15+,R10
    00000138 6BF6                   MOV.L       @R15+,R11
    0000013A 6CF6                   MOV.L       @R15+,R12
    0000013C 6DF6                   MOV.L       @R15+,R13
    0000013E 000B                   RTS
    00000140 6EF6                   MOV.L       @R15+,R14
          Snow.c   111    
          Snow.c   112    void drawsprite(unsigned char px, char py, float dirx)
    00000142              _drawsprite:                     ; function: drawsprite
                                                           ; frame size=44
                                                           ; used runtime library name:
                                                           ; __adds, __muls, __stoi, __stou, __itos, __lts
    00000142 6043                   MOV         R4,R0
    00000144 2FE6                   MOV.L       R14,@-R15
    00000146 2FD6                   MOV.L       R13,@-R15
    00000148 2FC6                   MOV.L       R12,@-R15
    0000014A 2FB6                   MOV.L       R11,@-R15
    0000014C 2FA6                   MOV.L       R10,@-R15
    0000014E 2F96                   MOV.L       R9,@-R15
    00000150 2F86                   MOV.L       R8,@-R15
          Snow.c   113    {
          Snow.c   114            char x;
          Snow.c   115            float y;
          Snow.c   116            for(y = 0; y < 9; y += 1)
    00000152 E903                   MOV         #3,R9
    00000154 4F22                   STS.L       PR,@-R15
    00000156 E809                   MOV         #9,R8
    00000158 7FF4                   ADD         #-12,R15
    0000015A 80F8                   MOV.B       R0,@(8,R15)
    0000015C 6053                   MOV         R5,R0
    0000015E 80F4                   MOV.B       R0,@(4,R15)
    00000160 2F62                   MOV.L       R6,@R15
    00000162 A030                   BRA         L391
    00000164 EA00                   MOV         #0,R10
    00000166              L392:                             
          Snow.c   117            for(x = 0; x < 3; x++)
    00000166 EB00                   MOV         #0,R11
    00000168 84F8                   MOV.B       @(8,R15),R0
    0000016A 6D0C                   EXTU.B      R0,R13
    0000016C D357                   MOV.L       L414+2,R3  ; __stoi
    0000016E 430B                   JSR         @R3
    00000170 60A3                   MOV         R10,R0
    00000172 6C03                   MOV         R0,R12
    00000174 DE56                   MOV.L       L414+6,R14 ; _sprite
    00000176 6303                   MOV         R0,R3
    00000178 4000                   SHLL        R0
    0000017A 303C                   ADD         R3,R0
    0000017C 3E0C                   ADD         R0,R14
    0000017E              L393:                             
          Snow.c   118                    if(sprite[(int)y][x] == 1)
    0000017E 60E0                   MOV.B       @R14,R0
    00000180 8801                   CMP/EQ      #1,R0




SH SERIES C/C++ Compiler (Ver. 6.0C)                                                                 29-Dec-2012 11:39:59  PAGE    7


SCT OFFSET   CODE       C LABEL     INSTRUCTION OPERAND    COMMENT

    00000182 8B15                   BF          L394
          Snow.c   119                            setpixel(px + x + ((9 - (int)y) * dirx), py + (int)y);
    00000184 84F4                   MOV.B       @(4,R15),R0
    00000186 6503                   MOV         R0,R5
    00000188 D352                   MOV.L       L414+10,R3 ; __itos
    0000018A 35CC                   ADD         R12,R5
    0000018C 6083                   MOV         R8,R0
    0000018E 430B                   JSR         @R3
    00000190 30C8                   SUB         R12,R0
    00000192 D251                   MOV.L       L414+14,R2 ; __muls
    00000194 420B                   JSR         @R2
    00000196 61F2                   MOV.L       @R15,R1
    00000198 D34E                   MOV.L       L414+10,R3 ; __itos
    0000019A 6103                   MOV         R0,R1
    0000019C 430B                   JSR         @R3
    0000019E 60D3                   MOV         R13,R0
    000001A0 D34E                   MOV.L       L414+18,R3 ; __adds
    000001A2 430B                   JSR         @R3
    000001A4 0009                   NOP
    000001A6 D44E                   MOV.L       L414+22,R4 ; __stou
    000001A8 440B                   JSR         @R4
    000001AA 0009                   NOP
    000001AC BF38                   BSR         _setpixel
    000001AE 640C                   EXTU.B      R0,R4
    000001B0              L394:                             
    000001B0 7B01                   ADD         #1,R11
    000001B2 7D01                   ADD         #1,R13
    000001B4 63BE                   EXTS.B      R11,R3
    000001B6 3393                   CMP/GE      R9,R3
    000001B8 8FE1                   BF/S        L393
    000001BA 7E01                   ADD         #1,R14
    000001BC D049                   MOV.L       L414+26,R0 ; H'3F800000
    000001BE D347                   MOV.L       L414+18,R3 ; __adds
    000001C0 430B                   JSR         @R3
    000001C2 61A3                   MOV         R10,R1
    000001C4 6A03                   MOV         R0,R10
    000001C6              L391:                             
    000001C6 D048                   MOV.L       L414+30,R0 ; H'41100000
    000001C8 D248                   MOV.L       L414+34,R2 ; __lts
    000001CA 420B                   JSR         @R2
    000001CC 61A3                   MOV         R10,R1
    000001CE 8800                   CMP/EQ      #0,R0
    000001D0 8BC9                   BF          L392
          Snow.c   120    }
    000001D2 7F0C                   ADD         #12,R15
    000001D4 4F26                   LDS.L       @R15+,PR
    000001D6 68F6                   MOV.L       @R15+,R8
    000001D8 69F6                   MOV.L       @R15+,R9
    000001DA 6AF6                   MOV.L       @R15+,R10
    000001DC 6BF6                   MOV.L       @R15+,R11
    000001DE 6CF6                   MOV.L       @R15+,R12
    000001E0 6DF6                   MOV.L       @R15+,R13
    000001E2 000B                   RTS
    000001E4 6EF6                   MOV.L       @R15+,R14
          Snow.c   121    
          Snow.c   122    #define P2I  6.28318531
          Snow.c   123    




SH SERIES C/C++ Compiler (Ver. 6.0C)                                                                 29-Dec-2012 11:39:59  PAGE    8


SCT OFFSET   CODE       C LABEL     INSTRUCTION OPERAND    COMMENT

          Snow.c   124    void drawboom(unsigned char px, char py, char boom, float radius)
    000001E6              _drawboom:                       ; function: drawboom
                                                           ; frame size=60
                                                           ; used runtime library name:
                                                           ; __adds, __muls, __stod, __stoi, __itos, __ltd
    000001E6 6043                   MOV         R4,R0
    000001E8 2FE6                   MOV.L       R14,@-R15
    000001EA 2FD6                   MOV.L       R13,@-R15
    000001EC 2FC6                   MOV.L       R12,@-R15
    000001EE 2FB6                   MOV.L       R11,@-R15
    000001F0 2FA6                   MOV.L       R10,@-R15
    000001F2 2F96                   MOV.L       R9,@-R15
    000001F4 4F22                   STS.L       PR,@-R15
    000001F6 7FF0                   ADD         #-16,R15
          Snow.c   125    {
          Snow.c   126            float cnt;
          Snow.c   127            
          Snow.c   128            for(cnt = 0; cnt < P2I; cnt += radius)
    000001F8 D93D                   MOV.L       L414+38,R9 ; _sinf
    000001FA 80F4                   MOV.B       R0,@(4,R15)
    000001FC DA3D                   MOV.L       L414+42,R10; _cosf
    000001FE 6053                   MOV         R5,R0
    00000200 80FC                   MOV.B       R0,@(12,R15)
    00000202 2F60                   MOV.B       R6,@R15
    00000204 1F72                   MOV.L       R7,@(8,R15)
    00000206 A028                   BRA         L395
    00000208 EE00                   MOV         #0,R14
    0000020A              L396:                             
          Snow.c   129                    line(px, py, px + (int)(cosf(cnt) * boom), py + (int)(sinf(cnt) * boom));
    0000020A 84FC                   MOV.B       @(12,R15),R0
    0000020C 6B03                   MOV         R0,R11
    0000020E 490B                   JSR         @R9
    00000210 64E3                   MOV         R14,R4
    00000212 6203                   MOV         R0,R2
    00000214 D32F                   MOV.L       L414+10,R3 ; __itos
    00000216 430B                   JSR         @R3
    00000218 60F0                   MOV.B       @R15,R0
    0000021A 6C03                   MOV         R0,R12
    0000021C D32E                   MOV.L       L414+14,R3 ; __muls
    0000021E 430B                   JSR         @R3
    00000220 6123                   MOV         R2,R1
    00000222 D22A                   MOV.L       L414+2,R2  ; __stoi
    00000224 420B                   JSR         @R2
    00000226 0009                   NOP
    00000228 67B3                   MOV         R11,R7
    0000022A 370C                   ADD         R0,R7
    0000022C 2F76                   MOV.L       R7,@-R15
    0000022E 84F8                   MOV.B       @(8,R15),R0
    00000230 6D03                   MOV         R0,R13
    00000232 6DDC                   EXTU.B      R13,R13
    00000234 4A0B                   JSR         @R10
    00000236 64E3                   MOV         R14,R4
    00000238 D327                   MOV.L       L414+14,R3 ; __muls
    0000023A 430B                   JSR         @R3
    0000023C 61C3                   MOV         R12,R1
    0000023E D223                   MOV.L       L414+2,R2  ; __stoi
    00000240 420B                   JSR         @R2




SH SERIES C/C++ Compiler (Ver. 6.0C)                                                                 29-Dec-2012 11:39:59  PAGE    9


SCT OFFSET   CODE       C LABEL     INSTRUCTION OPERAND    COMMENT

    00000242 0009                   NOP
    00000244 66D3                   MOV         R13,R6
    00000246 360C                   ADD         R0,R6
    00000248 65B3                   MOV         R11,R5
    0000024A 64D3                   MOV         R13,R4
    0000024C BF07                   BSR         _line
    0000024E 67F6                   MOV.L       @R15+,R7
    00000250 50F2                   MOV.L       @(8,R15),R0
    00000252 D222                   MOV.L       L414+18,R2 ; __adds
    00000254 420B                   JSR         @R2
    00000256 61E3                   MOV         R14,R1
    00000258 6E03                   MOV         R0,R14
    0000025A              L395:                             
    0000025A 60E3                   MOV         R14,R0
    0000025C D326                   MOV.L       L414+46,R3 ; __stod
    0000025E 7FF8                   ADD         #-8,R15
    00000260 430B                   JSR         @R3
    00000262 2FF6                   MOV.L       R15,@-R15
    00000264 D225                   MOV.L       L414+50,R2 ; H'5474A168
    00000266 2F26                   MOV.L       R2,@-R15
    00000268 D225                   MOV.L       L414+54,R2 ; H'401921FB
    0000026A D326                   MOV.L       L414+58,R3 ; __ltd
    0000026C 430B                   JSR         @R3
    0000026E 2F26                   MOV.L       R2,@-R15
    00000270 8800                   CMP/EQ      #0,R0
    00000272 8BCA                   BF          L396
          Snow.c   130    }
    00000274 7F10                   ADD         #16,R15
    00000276 4F26                   LDS.L       @R15+,PR
    00000278 69F6                   MOV.L       @R15+,R9
    0000027A 6AF6                   MOV.L       @R15+,R10
    0000027C 6BF6                   MOV.L       @R15+,R11
    0000027E 6CF6                   MOV.L       @R15+,R12
    00000280 6DF6                   MOV.L       @R15+,R13
    00000282 000B                   RTS
    00000284 6EF6                   MOV.L       @R15+,R14
          Snow.c   131    
          Snow.c   132    #define CNT 15
          Snow.c   133    
          Snow.c   134    struct {unsigned char active;char boom;float dirx, y, x, radius;} fire[CNT];
          Snow.c   135    
          Snow.c   136    void display_vram()
    00000286              _display_vram:                   ; function: display_vram
                                                           ; frame size=16
          Snow.c   137    {
          Snow.c   138            char *LCD_register_selector = (char*)0xB4000000, *LCD_data_register = (char*)0xB4010000, *mvram;
          Snow.c   139            int i, j;
          Snow.c   140            mvram = vram;
          Snow.c   141            for(i=0 ; i<64 ; i++)
    00000286 E100                   MOV         #0,R1
    00000288 D520                   MOV.L       L414+66,R5 ; H'B4000000
    0000028A E704                   MOV         #4,R7
    0000028C D420                   MOV.L       L414+70,R4 ; H'B4010000
    0000028E 6013                   MOV         R1,R0
    00000290 2FC6                   MOV.L       R12,@-R15
    00000292 2FB6                   MOV.L       R11,@-R15
    00000294 2FA6                   MOV.L       R10,@-R15




SH SERIES C/C++ Compiler (Ver. 6.0C)                                                                 29-Dec-2012 11:39:59  PAGE   10


SCT OFFSET   CODE       C LABEL     INSTRUCTION OPERAND    COMMENT

    00000296 EB07                   MOV         #7,R11
    00000298 D21B                   MOV.L       L414+62,R2 ; _vram
    0000029A EA10                   MOV         #16,R10
    0000029C 2F96                   MOV.L       R9,@-R15
    0000029E E940                   MOV         #64,R9
    000002A0 6C22                   MOV.L       @R2,R12
    000002A2              L397:                             
          Snow.c   142            {
          Snow.c   143                    *LCD_register_selector = 4;
          Snow.c   144                    *LCD_data_register = i|192;
    000002A2 E3C0                   MOV         #-64,R3
    000002A4 2570                   MOV.B       R7,@R5
          Snow.c   145                    *LCD_register_selector = 4;
          Snow.c   146                    *LCD_data_register = 0;
          Snow.c   147                    *LCD_register_selector = 7;
          Snow.c   148                    for(j=0 ; j<16 ; j++) *LCD_data_register = *mvram++;
    000002A6 66A3                   MOV         R10,R6
    000002A8 230B                   OR          R0,R3
    000002AA 2430                   MOV.B       R3,@R4
    000002AC 2570                   MOV.B       R7,@R5
    000002AE 2410                   MOV.B       R1,@R4
    000002B0 25B0                   MOV.B       R11,@R5
    000002B2              L398:                             
    000002B2 4610                   DT          R6
    000002B4 63C4                   MOV.B       @R12+,R3
    000002B6 8FFC                   BF/S        L398
    000002B8 2430                   MOV.B       R3,@R4
    000002BA 7001                   ADD         #1,R0
    000002BC 3093                   CMP/GE      R9,R0
    000002BE 8BF0                   BF          L397
          Snow.c   149            }
          Snow.c   150    }
    000002C0 69F6                   MOV.L       @R15+,R9
    000002C2 6AF6                   MOV.L       @R15+,R10
    000002C4 6BF6                   MOV.L       @R15+,R11
    000002C6 000B                   RTS
    000002C8 6CF6                   MOV.L       @R15+,R12
    000002CA              L414:                             
    000002CA 0000                   .DATA.W     0
    000002CC <00000000>             .DATA.L     __stoi
    000002D0 <00000000>             .DATA.L     _sprite
    000002D4 <00000000>             .DATA.L     __itos
    000002D8 <00000000>             .DATA.L     __muls
    000002DC <00000000>             .DATA.L     __adds
    000002E0 <00000000>             .DATA.L     __stou
    000002E4 3F800000               .DATA.L     H'3F800000
    000002E8 41100000               .DATA.L     H'41100000
    000002EC <00000000>             .DATA.L     __lts
    000002F0 <00000000>             .DATA.L     _sinf
    000002F4 <00000000>             .DATA.L     _cosf
    000002F8 <00000000>             .DATA.L     __stod
    000002FC 5474A168               .DATA.L     H'5474A168
    00000300 401921FB               .DATA.L     H'401921FB
    00000304 <00000000>             .DATA.L     __ltd
    00000308 <00000000>             .DATA.L     _vram
    0000030C B4000000               .DATA.L     H'B4000000
    00000310 B4010000               .DATA.L     H'B4010000




SH SERIES C/C++ Compiler (Ver. 6.0C)                                                                 29-Dec-2012 11:39:59  PAGE   11


SCT OFFSET   CODE       C LABEL     INSTRUCTION OPERAND    COMMENT

          Snow.c   151    
          Snow.c   152    char isMainMenu()
    00000314              _isMainMenu:                     ; function: isMainMenu
                                                           ; frame size=0
          Snow.c   153    {
          Snow.c   154            unsigned int ea;
          Snow.c   155            unsigned int j;
          Snow.c   156            ea = *(unsigned int*)0x8001007C;
    00000314 D342                   MOV.L       L415+4,R3  ; H'8001007C
          Snow.c   157            ea += 0x0490*4;
          Snow.c   158            ea = *(unsigned int*)( ea );
          Snow.c   159            j = *(unsigned char*)( ea + 1 );
          Snow.c   160            j *= 4;
          Snow.c   161            j = ( ea + j + 4 ) & 0xFFFFFFFC;
    00000316 E1FC                   MOV         #-4,R1
    00000318 9280                   MOV.W       L415,R2    ; H'1240
    0000031A 6432                   MOV.L       @R3,R4
    0000031C 342C                   ADD         R2,R4
    0000031E 6442                   MOV.L       @R4,R4
    00000320 8441                   MOV.B       @(1,R4),R0
    00000322 650C                   EXTU.B      R0,R5
    00000324 4508                   SHLL2       R5
    00000326 345C                   ADD         R5,R4
    00000328 7404                   ADD         #4,R4
    0000032A 2419                   AND         R1,R4
          Snow.c   162            j = *(unsigned int*)( j ) + 1;
    0000032C 6442                   MOV.L       @R4,R4
          Snow.c   163            
          Snow.c   164            return *(unsigned char*)j;
          Snow.c   165    }
    0000032E 000B                   RTS
    00000330 8441                   MOV.B       @(1,R4),R0
          Snow.c   166    
          Snow.c   167    char variable[24]={0};
          Snow.c   168    
          Snow.c   169    void snowtimer(void)
    00000332              _snowtimer:                      ; function: snowtimer
                                                           ; frame size=76
                                                           ; used runtime library name:
                                                           ; __modlu, __adds, __addd, __subs, __divs, __divdr, __dtos, __stoi, __sto
                        +                                  u, __utos, __utod, __eqs, __gts, __lts
    00000332 2FE6                   MOV.L       R14,@-R15
    00000334 2FD6                   MOV.L       R13,@-R15
    00000336 2FC6                   MOV.L       R12,@-R15
    00000338 2FB6                   MOV.L       R11,@-R15
    0000033A 2FA6                   MOV.L       R10,@-R15
    0000033C 2F96                   MOV.L       R9,@-R15
    0000033E 2F86                   MOV.L       R8,@-R15
    00000340 4F22                   STS.L       PR,@-R15
    00000342 7FF8                   ADD         #-8,R15
          Snow.c   170    {
          Snow.c   171            unsigned char x;
          Snow.c   172            
          Snow.c   173            if(!isMainMenu())
    00000344 BFE6                   BSR         _isMainMenu
    00000346 0009                   NOP
    00000348 600E                   EXTS.B      R0,R0




SH SERIES C/C++ Compiler (Ver. 6.0C)                                                                 29-Dec-2012 11:39:59  PAGE   12


SCT OFFSET   CODE       C LABEL     INSTRUCTION OPERAND    COMMENT

    0000034A 2008                   TST         R0,R0
    0000034C 8901                   BT          L416
    0000034E A0F0                   BRA         L400
    00000350 0009                   NOP
    00000352              L416:                             
          Snow.c   174            {
          Snow.c   175                    display_vram();
    00000352 BF98                   BSR         _display_vram
    00000354 0009                   NOP
          Snow.c   176                    
          Snow.c   177                    for(x =CNT - 1; x > 0 ; x--)
    00000356 E20E                   MOV         #14,R2
    00000358 DE32                   MOV.L       L415+8,R14 ; _fire
    0000035A E80F                   MOV         #15,R8
    0000035C 945F                   MOV.W       L415+2,R4  ; H'0118
    0000035E E900                   MOV         #0,R9
    00000360 2F20                   MOV.B       R2,@R15
    00000362 34EC                   ADD         R14,R4
    00000364 1F41                   MOV.L       R4,@(4,R15)
    00000366 6C43                   MOV         R4,R12
    00000368 6BC3                   MOV         R12,R11
    0000036A              L401:                             
    0000036A 6AF0                   MOV.B       @R15,R10
    0000036C 6AAC                   EXTU.B      R10,R10
    0000036E 63A3                   MOV         R10,R3
    00000370 4A08                   SHLL2       R10
    00000372 3A3C                   ADD         R3,R10
    00000374 4A08                   SHLL2       R10
    00000376 60A3                   MOV         R10,R0
    00000378 00EC                   MOV.B       @(R0,R14),R0
    0000037A 600C                   EXTU.B      R0,R0
    0000037C 8801                   CMP/EQ      #1,R0
    0000037E 8901                   BT          L417
    00000380 A083                   BRA         L402
    00000382 0009                   NOP
    00000384              L417:                             
          Snow.c   178                    {
          Snow.c   179                            if(fire[x].active == 1)
          Snow.c   180                            {
          Snow.c   181                                    if(fire[x].boom == 0)
    00000384 62A3                   MOV         R10,R2
    00000386 32EC                   ADD         R14,R2
    00000388 8421                   MOV.B       @(1,R2),R0
    0000038A 2008                   TST         R0,R0
    0000038C 8B62                   BF          L403
          Snow.c   182                                    {
          Snow.c   183                                            drawsprite(fire[x].x, fire[x].y, fire[x].dirx);
    0000038E 6DA3                   MOV         R10,R13
    00000390 D525                   MOV.L       L415+12,R5 ; __stoi
    00000392 3DEC                   ADD         R14,R13
    00000394 56D1                   MOV.L       @(4,R13),R6
    00000396 450B                   JSR         @R5
    00000398 50D2                   MOV.L       @(8,R13),R0
    0000039A 650E                   EXTS.B      R0,R5
    0000039C D423                   MOV.L       L415+16,R4 ; __stou
    0000039E 440B                   JSR         @R4
    000003A0 50D3                   MOV.L       @(12,R13),R0




SH SERIES C/C++ Compiler (Ver. 6.0C)                                                                 29-Dec-2012 11:39:59  PAGE   13


SCT OFFSET   CODE       C LABEL     INSTRUCTION OPERAND    COMMENT

    000003A2 BECE                   BSR         _drawsprite
    000003A4 640C                   EXTU.B      R0,R4
          Snow.c   184                                            fire[x].y -= fire[x].y / 64;
    000003A6 D022                   MOV.L       L415+20,R0 ; H'42800000
    000003A8 D322                   MOV.L       L415+24,R3 ; __divs
    000003AA 430B                   JSR         @R3
    000003AC 51D2                   MOV.L       @(8,R13),R1
    000003AE D222                   MOV.L       L415+28,R2 ; __subs
    000003B0 420B                   JSR         @R2
    000003B2 51D2                   MOV.L       @(8,R13),R1
    000003B4 1D02                   MOV.L       R0,@(8,R13)
          Snow.c   185                                            fire[x].x += fire[x].dirx;
    000003B6 50D1                   MOV.L       @(4,R13),R0
    000003B8 D320                   MOV.L       L415+32,R3 ; __adds
    000003BA 430B                   JSR         @R3
    000003BC 51D3                   MOV.L       @(12,R13),R1
    000003BE 1D03                   MOV.L       R0,@(12,R13)
          Snow.c   186                                            if(fire[x].y == 0 || fire[x].x > 127 || fire[x].x < 0)
    000003C0 51D2                   MOV.L       @(8,R13),R1
    000003C2 D21F                   MOV.L       L415+36,R2 ; __eqs
    000003C4 420B                   JSR         @R2
    000003C6 E000                   MOV         #0,R0
    000003C8 8800                   CMP/EQ      #0,R0
    000003CA 8B0B                   BF          L405
    000003CC D01D                   MOV.L       L415+40,R0 ; H'42FE0000
    000003CE D31E                   MOV.L       L415+44,R3 ; __gts
    000003D0 430B                   JSR         @R3
    000003D2 51D3                   MOV.L       @(12,R13),R1
    000003D4 8800                   CMP/EQ      #0,R0
    000003D6 8B05                   BF          L405
    000003D8 51D3                   MOV.L       @(12,R13),R1
    000003DA D21C                   MOV.L       L415+48,R2 ; __lts
    000003DC 420B                   JSR         @R2
    000003DE E000                   MOV         #0,R0
    000003E0 8800                   CMP/EQ      #0,R0
    000003E2 8902                   BT          L404
    000003E4              L405:                             
          Snow.c   187                                                    fire[x].active = 0;
    000003E4 63A3                   MOV         R10,R3
    000003E6 33EC                   ADD         R14,R3
    000003E8 2390                   MOV.B       R9,@R3
    000003EA              L404:                             
          Snow.c   188                                            if(random(0) % (int)fire[x].y == 0 && fire[x].boom == 0)
    000003EA BE09                   BSR         _random
    000003EC E400                   MOV         #0,R4
    000003EE 6103                   MOV         R0,R1
    000003F0 D30D                   MOV.L       L415+12,R3 ; __stoi
    000003F2 64A3                   MOV         R10,R4
    000003F4 34EC                   ADD         R14,R4
    000003F6 430B                   JSR         @R3
    000003F8 5042                   MOV.L       @(8,R4),R0
    000003FA D315                   MOV.L       L415+52,R3 ; __modlu
    000003FC 430B                   JSR         @R3
    000003FE 0009                   NOP
    00000400 8800                   CMP/EQ      #0,R0
    00000402 8901                   BT          L418
    00000404 A088                   BRA         L409




SH SERIES C/C++ Compiler (Ver. 6.0C)                                                                 29-Dec-2012 11:39:59  PAGE   14


SCT OFFSET   CODE       C LABEL     INSTRUCTION OPERAND    COMMENT

    00000406 0009                   NOP
    00000408              L418:                             
    00000408 8441                   MOV.B       @(1,R4),R0
    0000040A 2008                   TST         R0,R0
    0000040C 8901                   BT          L419
    0000040E A083                   BRA         L409
    00000410 0009                   NOP
    00000412              L419:                             
          Snow.c   189                                                    fire[x].boom++;
    00000412 3AEC                   ADD         R14,R10
    00000414 84A1                   MOV.B       @(1,R10),R0
    00000416 7001                   ADD         #1,R0
    00000418 A07E                   BRA         L409
    0000041A 80A1                   MOV.B       R0,@(1,R10)
    0000041C              L415:                             
    0000041C 1240                   .DATA.W     H'1240
    0000041E 0118                   .DATA.W     H'0118
    00000420 8001007C               .DATA.L     H'8001007C
    00000424 <00000000>             .DATA.L     _fire
    00000428 <00000000>             .DATA.L     __stoi
    0000042C <00000000>             .DATA.L     __stou
    00000430 42800000               .DATA.L     H'42800000
    00000434 <00000000>             .DATA.L     __divs
    00000438 <00000000>             .DATA.L     __subs
    0000043C <00000000>             .DATA.L     __adds
    00000440 <00000000>             .DATA.L     __eqs
    00000444 42FE0000               .DATA.L     H'42FE0000
    00000448 <00000000>             .DATA.L     __gts
    0000044C <00000000>             .DATA.L     __lts
    00000450 <00000000>             .DATA.L     __modlu
    00000454              L403:                             
          Snow.c   190                                    }
          Snow.c   191                                    else
          Snow.c   192                                    {
          Snow.c   193                                            drawboom(fire[x].x, fire[x].y, fire[x].boom++, fire[x].radius);
    00000454 57B4                   MOV.L       @(16,R11),R7
    00000456 84B1                   MOV.B       @(1,R11),R0
    00000458 D548                   MOV.L       L420+2,R5  ; __stoi
    0000045A 7001                   ADD         #1,R0
    0000045C 80B1                   MOV.B       R0,@(1,R11)
    0000045E 70FF                   ADD         #-1,R0
    00000460 6603                   MOV         R0,R6
    00000462 450B                   JSR         @R5
    00000464 50B2                   MOV.L       @(8,R11),R0
    00000466 650E                   EXTS.B      R0,R5
    00000468 D445                   MOV.L       L420+6,R4  ; __stou
    0000046A 440B                   JSR         @R4
    0000046C 50B3                   MOV.L       @(12,R11),R0
    0000046E BEBA                   BSR         _drawboom
    00000470 640C                   EXTU.B      R0,R4
          Snow.c   194                                            if(fire[x].boom >= (random(0) % 16) + 16)
    00000472 84B1                   MOV.B       @(1,R11),R0
    00000474 2F06                   MOV.L       R0,@-R15
    00000476 BDC3                   BSR         _random
    00000478 E400                   MOV         #0,R4
    0000047A 2089                   AND         R8,R0
    0000047C 62F6                   MOV.L       @R15+,R2




SH SERIES C/C++ Compiler (Ver. 6.0C)                                                                 29-Dec-2012 11:39:59  PAGE   15


SCT OFFSET   CODE       C LABEL     INSTRUCTION OPERAND    COMMENT

    0000047E 7010                   ADD         #16,R0
    00000480 3202                   CMP/HS      R0,R2
    00000482 8B49                   BF          L409
          Snow.c   195                                                    fire[x].active = 0;
    00000484 51F1                   MOV.L       @(4,R15),R1
    00000486 A047                   BRA         L409
    00000488 2190                   MOV.B       R9,@R1
    0000048A              L402:                             
          Snow.c   196                                    }
          Snow.c   197                            }
          Snow.c   198                            else
          Snow.c   199                            {
          Snow.c   200                                    if(random(0) % 32 == 0)
    0000048A BDB9                   BSR         _random
    0000048C E400                   MOV         #0,R4
    0000048E C81F                   TST         #31,R0
    00000490 8B42                   BF          L409
          Snow.c   201                                    {
          Snow.c   202                                            fire[x].active = 1;
    00000492 E201                   MOV         #1,R2
    00000494 2C20                   MOV.B       R2,@R12
          Snow.c   203                                            fire[x].x = random(0) % 128;
    00000496 BDB3                   BSR         _random
    00000498 E400                   MOV         #0,R4
    0000049A D23A                   MOV.L       L420+10,R2 ; __utos
    0000049C 420B                   JSR         @R2
    0000049E C97F                   AND         #127,R0
    000004A0 1C03                   MOV.L       R0,@(12,R12)
          Snow.c   204                                            fire[x].dirx = (random(0) % 20) / 10.0 - 1.0;
    000004A2 7FF0                   ADD         #-16,R15
    000004A4 BDAC                   BSR         _random
    000004A6 E400                   MOV         #0,R4
    000004A8 D237                   MOV.L       L420+14,R2 ; __modlu
    000004AA 6103                   MOV         R0,R1
    000004AC 420B                   JSR         @R2
    000004AE E014                   MOV         #20,R0
    000004B0 D336                   MOV.L       L420+18,R3 ; __utod
    000004B2 7FF8                   ADD         #-8,R15
    000004B4 430B                   JSR         @R3
    000004B6 2FF6                   MOV.L       R15,@-R15
    000004B8 D136                   MOV.L       L420+26,R1 ; __divdr
    000004BA E200                   MOV         #0,R2
    000004BC 2F26                   MOV.L       R2,@-R15
    000004BE D234                   MOV.L       L420+22,R2 ; H'40240000
    000004C0 2F26                   MOV.L       R2,@-R15
    000004C2 63F3                   MOV         R15,R3
    000004C4 7310                   ADD         #16,R3
    000004C6 410B                   JSR         @R1
    000004C8 2F36                   MOV.L       R3,@-R15
    000004CA E200                   MOV         #0,R2
    000004CC D133                   MOV.L       L420+34,R1 ; __addd
    000004CE 2F26                   MOV.L       R2,@-R15
    000004D0 D231                   MOV.L       L420+30,R2 ; H'BFF00000
    000004D2 2F26                   MOV.L       R2,@-R15
    000004D4 63F3                   MOV         R15,R3
    000004D6 7310                   ADD         #16,R3
    000004D8 410B                   JSR         @R1




SH SERIES C/C++ Compiler (Ver. 6.0C)                                                                 29-Dec-2012 11:39:59  PAGE   16


SCT OFFSET   CODE       C LABEL     INSTRUCTION OPERAND    COMMENT

    000004DA 2F36                   MOV.L       R3,@-R15
    000004DC D230                   MOV.L       L420+38,R2 ; __dtos
    000004DE 420B                   JSR         @R2
    000004E0 0009                   NOP
    000004E2 1C01                   MOV.L       R0,@(4,R12)
          Snow.c   205                                            fire[x].y = 64;
    000004E4 D32F                   MOV.L       L420+42,R3 ; H'42800000
          Snow.c   206                                            fire[x].boom = 0;
    000004E6 6093                   MOV         R9,R0
    000004E8 1C32                   MOV.L       R3,@(8,R12)
    000004EA 80C1                   MOV.B       R0,@(1,R12)
          Snow.c   207                                            fire[x].radius = P2I / ((random(0) % 16) + 8);
    000004EC D32E                   MOV.L       L420+46,R3 ; H'5474A168
    000004EE 7FF8                   ADD         #-8,R15
    000004F0 2F36                   MOV.L       R3,@-R15
    000004F2 D32E                   MOV.L       L420+50,R3 ; H'401921FB
    000004F4 2F36                   MOV.L       R3,@-R15
    000004F6 BD83                   BSR         _random
    000004F8 E400                   MOV         #0,R4
    000004FA 2089                   AND         R8,R0
    000004FC D323                   MOV.L       L420+18,R3 ; __utod
    000004FE 7FF8                   ADD         #-8,R15
    00000500 7008                   ADD         #8,R0
    00000502 430B                   JSR         @R3
    00000504 2FF6                   MOV.L       R15,@-R15
    00000506 62F3                   MOV         R15,R2
    00000508 D122                   MOV.L       L420+26,R1 ; __divdr
    0000050A 7210                   ADD         #16,R2
    0000050C 410B                   JSR         @R1
    0000050E 2F26                   MOV.L       R2,@-R15
    00000510 D323                   MOV.L       L420+38,R3 ; __dtos
    00000512 430B                   JSR         @R3
    00000514 0009                   NOP
    00000516 1C04                   MOV.L       R0,@(16,R12)
    00000518              L409:                             
    00000518 62F0                   MOV.B       @R15,R2
    0000051A 7CEC                   ADD         #-20,R12
    0000051C 72FF                   ADD         #-1,R2
    0000051E 2F20                   MOV.B       R2,@R15
    00000520 53F1                   MOV.L       @(4,R15),R3
    00000522 622C                   EXTU.B      R2,R2
    00000524 73EC                   ADD         #-20,R3
    00000526 4215                   CMP/PL      R2
    00000528 1F31                   MOV.L       R3,@(4,R15)
    0000052A 8F02                   BF/S        L421
    0000052C 7BEC                   ADD         #-20,R11
    0000052E AF1C                   BRA         L401
    00000530 0009                   NOP
    00000532              L421:                             
    00000532              L400:                             
          Snow.c   208                                    }
          Snow.c   209                            }
          Snow.c   210                    }       
          Snow.c   211            }
          Snow.c   212            
          Snow.c   213            Alpha_GetData('A',variable);
    00000532 E700                   MOV         #0,R7




SH SERIES C/C++ Compiler (Ver. 6.0C)                                                                 29-Dec-2012 11:39:59  PAGE   17


SCT OFFSET   CODE       C LABEL     INSTRUCTION OPERAND    COMMENT

    00000534 D51F                   MOV.L       L420+58,R5 ; _variable
    00000536 6673                   MOV         R7,R6
    00000538 D21D                   MOV.L       L420+54,R2 ; _iSysCallFuncPtr
    0000053A 6322                   MOV.L       @R2,R3
    0000053C 911D                   MOV.W       L420,R1    ; H'04DF
    0000053E 2F16                   MOV.L       R1,@-R15
    00000540 430B                   JSR         @R3
    00000542 E441                   MOV         #65,R4
          Snow.c   214            if(variable[0])
    00000544 D31B                   MOV.L       L420+58,R3 ; _variable
    00000546 6230                   MOV.B       @R3,R2
    00000548 2228                   TST         R2,R2
    0000054A 8D0C                   BT/S        L411
    0000054C 7F04                   ADD         #4,R15
          Snow.c   215            {
          Snow.c   216                    KillTimer(1);
    0000054E E401                   MOV         #1,R4
    00000550 D219                   MOV.L       L420+62,R2 ; _KillTimer
    00000552 7F08                   ADD         #8,R15
    00000554 4F26                   LDS.L       @R15+,PR
    00000556 68F6                   MOV.L       @R15+,R8
    00000558 69F6                   MOV.L       @R15+,R9
    0000055A 6AF6                   MOV.L       @R15+,R10
    0000055C 6BF6                   MOV.L       @R15+,R11
    0000055E 6CF6                   MOV.L       @R15+,R12
    00000560 6DF6                   MOV.L       @R15+,R13
    00000562 422B                   JMP         @R2
    00000564 6EF6                   MOV.L       @R15+,R14
    00000566              L411:                             
          Snow.c   217            }
          Snow.c   218    }
    00000566 7F08                   ADD         #8,R15
    00000568 4F26                   LDS.L       @R15+,PR
    0000056A 68F6                   MOV.L       @R15+,R8
    0000056C 69F6                   MOV.L       @R15+,R9
    0000056E 6AF6                   MOV.L       @R15+,R10
    00000570 6BF6                   MOV.L       @R15+,R11
    00000572 6CF6                   MOV.L       @R15+,R12
    00000574 6DF6                   MOV.L       @R15+,R13
    00000576 000B                   RTS
    00000578 6EF6                   MOV.L       @R15+,R14
    0000057A              L420:                             
    0000057A 04DF                   .DATA.W     H'04DF
    0000057C <00000000>             .DATA.L     __stoi
    00000580 <00000000>             .DATA.L     __stou
    00000584 <00000000>             .DATA.L     __utos
    00000588 <00000000>             .DATA.L     __modlu
    0000058C <00000000>             .DATA.L     __utod
    00000590 40240000               .DATA.L     H'40240000
    00000594 <00000000>             .DATA.L     __divdr
    00000598 BFF00000               .DATA.L     H'BFF00000
    0000059C <00000000>             .DATA.L     __addd
    000005A0 <00000000>             .DATA.L     __dtos
    000005A4 42800000               .DATA.L     H'42800000
    000005A8 5474A168               .DATA.L     H'5474A168
    000005AC 401921FB               .DATA.L     H'401921FB
    000005B0 <00000000>             .DATA.L     _iSysCallFuncPtr




SH SERIES C/C++ Compiler (Ver. 6.0C)                                                                 29-Dec-2012 11:39:59  PAGE   18


SCT OFFSET   CODE       C LABEL     INSTRUCTION OPERAND    COMMENT

    000005B4 <00000000>             .DATA.L     _variable
    000005B8 <00000000>             .DATA.L     _KillTimer
          Snow.c   219    
          Snow.c   220    int AddIn_main(int isAppli, unsigned short OptionNum)
    000005BC              _AddIn_main:                     ; function: AddIn_main
                                                           ; frame size=24
                                                           ; used runtime library name:
                                                           ; __slow_mvn
    000005BC 2FE6                   MOV.L       R14,@-R15
    000005BE 2FD6                   MOV.L       R13,@-R15
    000005C0 4F22                   STS.L       PR,@-R15
    000005C2 7FF8                   ADD         #-8,R15
          Snow.c   221    {
          Snow.c   222            unsigned int key;
          Snow.c   223            unsigned char text[3] = {0xE6, 0x91, 0};
    000005C4 D22C                   MOV.L       L422+4,R2  ; L343
    000005C6 61F3                   MOV         R15,R1
    000005C8 D32C                   MOV.L       L422+8,R3  ; __slow_mvn
    000005CA 7104                   ADD         #4,R1
    000005CC 430B                   JSR         @R3
    000005CE E003                   MOV         #3,R0
          Snow.c   224            random(RTC_GetTicks());
    000005D0 D12B                   MOV.L       L422+12,R1 ; _RTC_GetTicks
    000005D2 410B                   JSR         @R1
    000005D4 0009                   NOP
    000005D6 BD13                   BSR         _random
    000005D8 6403                   MOV         R0,R4
          Snow.c   225            vram = Disp_GetVRAMPtr();
    000005DA D22A                   MOV.L       L422+16,R2 ; _Disp_GetVRAMPtr
    000005DC 420B                   JSR         @R2
    000005DE 0009                   NOP
    000005E0 D329                   MOV.L       L422+20,R3 ; _vram
          Snow.c   226            Alpha_ClearAll();
    000005E2 E700                   MOV         #0,R7
    000005E4 D129                   MOV.L       L422+24,R1 ; _iSysCallFuncPtr
    000005E6 6673                   MOV         R7,R6
    000005E8 2302                   MOV.L       R0,@R3
    000005EA 6573                   MOV         R7,R5
    000005EC 6212                   MOV.L       @R1,R2
    000005EE 9341                   MOV.W       L422,R3    ; H'04E1
    000005F0 2F36                   MOV.L       R3,@-R15
    000005F2 420B                   JSR         @R2
    000005F4 6473                   MOV         R7,R4
          Snow.c   227            AllClr_VRAM();
    000005F6 D226                   MOV.L       L422+28,R2 ; _AllClr_VRAM
    000005F8 420B                   JSR         @R2
    000005FA 0009                   NOP
          Snow.c   228            locate(3,3);
    000005FC DE25                   MOV.L       L422+32,R14; _locate
    000005FE E503                   MOV         #3,R5
    00000600 4E0B                   JSR         @R14
    00000602 6453                   MOV         R5,R4
          Snow.c   229            Print(&"~*| Firework |*~");
    00000604 DD24                   MOV.L       L422+36,R13; _Print
    00000606 D425                   MOV.L       L422+40,R4 ; L347
    00000608 4D0B                   JSR         @R13
    0000060A 0009                   NOP




SH SERIES C/C++ Compiler (Ver. 6.0C)                                                                 29-Dec-2012 11:39:59  PAGE   19


SCT OFFSET   CODE       C LABEL     INSTRUCTION OPERAND    COMMENT

          Snow.c   230            locate(4,1);
    0000060C E501                   MOV         #1,R5
    0000060E 4E0B                   JSR         @R14
    00000610 E404                   MOV         #4,R4
          Snow.c   231            Print(&"(C) by Casimo");
    00000612 D423                   MOV.L       L422+44,R4 ; L348
    00000614 4D0B                   JSR         @R13
    00000616 0009                   NOP
          Snow.c   232            locate(4,5);
    00000618 E505                   MOV         #5,R5
    0000061A 4E0B                   JSR         @R14
    0000061C E404                   MOV         #4,R4
          Snow.c   233            Print(&"press any key");
    0000061E D421                   MOV.L       L422+48,R4 ; L349
    00000620 4D0B                   JSR         @R13
    00000622 0009                   NOP
          Snow.c   234            locate(6,6);
    00000624 E506                   MOV         #6,R5
    00000626 4E0B                   JSR         @R14
    00000628 6453                   MOV         R5,R4
          Snow.c   235            Print(&"to start");
    0000062A D41F                   MOV.L       L422+52,R4 ; L350
    0000062C 4D0B                   JSR         @R13
    0000062E 0009                   NOP
          Snow.c   236            locate(4,8);
    00000630 E508                   MOV         #8,R5
    00000632 4E0B                   JSR         @R14
    00000634 E404                   MOV         #4,R4
          Snow.c   237            Print(&"exit with 1 A");
    00000636 D41D                   MOV.L       L422+56,R4 ; L351
    00000638 4D0B                   JSR         @R13
    0000063A 0009                   NOP
          Snow.c   238            locate(15,8);
    0000063C E508                   MOV         #8,R5
    0000063E 4E0B                   JSR         @R14
    00000640 E40F                   MOV         #15,R4
          Snow.c   239            Print(&text);
    00000642 64F3                   MOV         R15,R4
    00000644 4D0B                   JSR         @R13
    00000646 7408                   ADD         #8,R4
          Snow.c   240            display_vram();
    00000648 BE1D                   BSR         _display_vram
    0000064A 0009                   NOP
          Snow.c   241            GetKey(&key);
    0000064C D218                   MOV.L       L422+60,R2 ; _GetKey
    0000064E 64F3                   MOV         R15,R4
    00000650 420B                   JSR         @R2
    00000652 7404                   ADD         #4,R4
          Snow.c   242            Timer_Install(6, &snowtimer, 300);
    00000654 960F                   MOV.W       L422+2,R6  ; H'012C
    00000656 D517                   MOV.L       L422+64,R5 ; _snowtimer
    00000658 D317                   MOV.L       L422+68,R3 ; _Timer_Install
    0000065A 430B                   JSR         @R3
    0000065C E406                   MOV         #6,R4
          Snow.c   243            Timer_Start(6);
    0000065E D217                   MOV.L       L422+72,R2 ; _Timer_Start
    00000660 420B                   JSR         @R2




SH SERIES C/C++ Compiler (Ver. 6.0C)                                                                 29-Dec-2012 11:39:59  PAGE   20


SCT OFFSET   CODE       C LABEL     INSTRUCTION OPERAND    COMMENT

    00000662 E406                   MOV         #6,R4
          Snow.c   244            App_PROG();
    00000664 D316                   MOV.L       L422+76,R3 ; _App_PROG
    00000666 430B                   JSR         @R3
    00000668 0009                   NOP
          Snow.c   245    }
    0000066A 7F0C                   ADD         #12,R15
    0000066C 4F26                   LDS.L       @R15+,PR
    0000066E 6DF6                   MOV.L       @R15+,R13
    00000670 000B                   RTS
    00000672 6EF6                   MOV.L       @R15+,R14
    00000674              L422:                             
    00000674 04E1                   .DATA.W     H'04E1
    00000676 012C                   .DATA.W     H'012C
    00000678 <00000000>             .DATA.L     L343
    0000067C <00000000>             .DATA.L     __slow_mvn
    00000680 <00000000>             .DATA.L     _RTC_GetTicks
    00000684 <00000000>             .DATA.L     _Disp_GetVRAMPtr
    00000688 <00000000>             .DATA.L     _vram
    0000068C <00000000>             .DATA.L     _iSysCallFuncPtr
    00000690 <00000000>             .DATA.L     _AllClr_VRAM
    00000694 <00000000>             .DATA.L     _locate
    00000698 <00000000>             .DATA.L     _Print
    0000069C <00000000>             .DATA.L     L347
    000006A0 <00000000>             .DATA.L     L348
    000006A4 <00000000>             .DATA.L     L349
    000006A8 <00000000>             .DATA.L     L350
    000006AC <00000000>             .DATA.L     L351
    000006B0 <00000000>             .DATA.L     _GetKey
    000006B4 <00000000>             .DATA.L     _snowtimer
    000006B8 <00000000>             .DATA.L     _Timer_Install
    000006BC <00000000>             .DATA.L     _Timer_Start
    000006C0 <00000000>             .DATA.L     _App_PROG
          Snow.c   246    
          Snow.c   247    #pragma section _BR_Size
          Snow.c   248    unsigned long BR_Size;
          Snow.c   249    #pragma section
          Snow.c   250    #pragma section _TOP
          Snow.c   251    int InitializeSystem(int isAppli, unsigned short OptionNum)
P_T 00000000              _InitializeSystem:               ; function: InitializeSystem
                                                           ; frame size=4
          Snow.c   252    {return INIT_ADDIN_APPLICATION(isAppli, OptionNum);}
    00000000 D303                   MOV.L       L423+2,R3  ; _INIT_ADDIN_APPLICATION
    00000002 7FFC                   ADD         #-4,R15
    00000004 2F51                   MOV.W       R5,@R15
    00000006 65F1                   MOV.W       @R15,R5
    00000008 655D                   EXTU.W      R5,R5
    0000000A 432B                   JMP         @R3
    0000000C 7F04                   ADD         #4,R15
    0000000E              L423:                             
    0000000E 0000                   .DATA.W     0
    00000010 <00000000>             .DATA.L     _INIT_ADDIN_APPLICATION
          Snow.c   253    #pragma section
          Snow.c   254    
C   00000000              _SysCallWrapper:                 ; static: SysCallWrapper
    00000000 D201422B60             .DATA.L     H'D201422B,H'60F20000,H'80010070
             F200008001   




SH SERIES C/C++ Compiler (Ver. 6.0C)                                                                 29-Dec-2012 11:39:59  PAGE   21


SCT OFFSET   CODE       C LABEL     INSTRUCTION OPERAND    COMMENT

             0070         
    0000000C              _sprite:                         ; static: sprite
    0000000C 0001000101             .DATA.B     H'00,H'01,H'00,H'01,H'01,H'01,H'01,H'00,H'01,H'01,H'00,H'01,H'01,H'00,H'01,H'01,
             0101000101 +                       H'01,H'01,H'00,H'00,H'01,H'00,H'00,H'01,H'00,H'00,H'01
             0001010001   
             0101010000   
             0100000100   
             0001         
    00000027              L343:
    00000027 E69100                 .DATA.B     H'E6,H'91,H'00
    0000002A 00000002               .RES.W      1
    0000002C              L347:
    0000002C 7E2A7C2046             .SDATA      "~*| Firework |*~"
             697265776F   
             726B207C2A   
             7E           
    0000003C 00                     .DATA.B     H'00
    0000003D 00000001               .RES.B      1
    0000003E 00000002               .RES.W      1
    00000040              L348:
    00000040 2843292062             .SDATA      "(C) by Casimo"
             7920436173   
             696D6F       
    0000004D 00                     .DATA.B     H'00
    0000004E 00000002               .RES.W      1
    00000050              L349:
    00000050 7072657373             .SDATA      "press any key"
             20616E7920   
             6B6579       
    0000005D 00                     .DATA.B     H'00
    0000005E 00000002               .RES.W      1
    00000060              L350:
    00000060 746F207374             .SDATA      "to start"
             617274       
    00000068 00                     .DATA.B     H'00
    00000069 00000001               .RES.B      1
    0000006A 00000002               .RES.W      1
    0000006C              L351:
    0000006C 6578697420             .SDATA      "exit with 1 A"
             7769746820   
             312041       
    00000079 00                     .DATA.B     H'00
D   00000000              _iSysCallFuncPtr:                ; static: iSysCallFuncPtr
    00000000 <00000000>             .DATA.L     _SysCallWrapper
    00000004              __$lastrandom:                   ; static: lastrandom
    00000004 12345678               .DATA.L     H'12345678
    00000008              _variable:                       ; static: variable
    00000008 00                     .DATA.B     H'00
    00000009 0000001701             .DATAB.B    23,0
             00           
B   00000000              _vram:                           ; static: vram
    00000000 00000004               .RES.L      1
    00000004              _fire:                           ; static: fire
    00000004 0000012C               .RES.L      75
B_B 00000000              _BR_Size:                        ; static: BR_Size
    00000000 00000004               .RES.L      1





SH SERIES C/C++ Compiler (Ver. 6.0C)                                                                 29-Dec-2012 11:39:59  PAGE    1


******** STATISTICS INFORMATION ********


********** ERROR INFORMATION ***********

NUMBER OF ERRORS:           0
NUMBER OF WARNINGS:         0




******* SOURCE LINE INFORMATION ********

COMPILED SOURCE LINE:      254



******* SECTION SIZE INFORMATION *******

PROGRAM  SECTION (P):                               000006C4 Byte(s)
PROGRAM  SECTION (P_BR_Size):                       00000000 Byte(s)
PROGRAM  SECTION (P_TOP):                           00000014 Byte(s)
CONSTANT SECTION (C):                               0000007A Byte(s)
CONSTANT SECTION (C_BR_Size):                       00000000 Byte(s)
CONSTANT SECTION (C_TOP):                           00000000 Byte(s)
DATA     SECTION (D):                               00000020 Byte(s)
DATA     SECTION (D_BR_Size):                       00000000 Byte(s)
DATA     SECTION (D_TOP):                           00000000 Byte(s)
BSS      SECTION (B):                               00000130 Byte(s)
BSS      SECTION (B_BR_Size):                       00000004 Byte(s)
BSS      SECTION (B_TOP):                           00000000 Byte(s)

 TOTAL PROGRAM SIZE: 000008A6 Byte(s)



********** LABEL INFORMATION ***********

NUMBER OF EXTERNAL REFERENCE SYMBOLS:           33
NUMBER OF EXTERNAL DEFINITION SYMBOLS:          17
NUMBER OF INTERNAL/EXTERNAL SYMBOLS:           101






















*** COMMAND PARAMETER ***


  -subcommand=C:\Users\Timo\AppData\Local\Temp\hmk3709.tmp