summaryrefslogtreecommitdiff
path: root/Debug/Audio.lst
blob: c56b469b66988a28a49075083f7d32535c077111 (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
SH SERIES C/C++ Compiler (Ver. 6.0C)                                                                 15-Nov-2012 16:22:12  PAGE    1

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

FILE NAME: G:\Casio SDK\Projekte\Audio\Audio.c

SCT OFFSET   CODE       C LABEL     INSTRUCTION OPERAND    COMMENT

         Audio.c     1    #include "fxlib.h"
         Audio.c     2    
         Audio.c     3    #define DATAPACK 8080
         Audio.c     4    
         Audio.c     5    unsigned char UserStack[DATAPACK];
         Audio.c     6    
         Audio.c     7    void Open()
P   00000000              _Open:                           ; function: Open
                                                           ; frame size=12
                                                           ; used runtime library name:
                                                           ; __slow_mvn
    00000000 4F22                   STS.L       PR,@-R15
    00000002 7FF8                   ADD         #-8,R15
         Audio.c     8    {
         Audio.c     9            char open_mode[6] = {0};
    00000004 D22B                   MOV.L       L347+2,R2  ; L301
    00000006 61F3                   MOV         R15,R1
    00000008 D32B                   MOV.L       L347+6,R3  ; __slow_mvn
    0000000A 430B                   JSR         @R3
    0000000C E006                   MOV         #6,R0
         Audio.c    10    
         Audio.c    11            open_mode[ 0 ] = 0; // always 0
    0000000E E400                   MOV         #0,R4
         Audio.c    12            open_mode[ 1 ] = 9; // 0=300, 1=600, 2=1200, 3=2400, 4=4800, 5=9600, 6=19200, 7=38400, 8=57600, 9=
                         +115200 baud
         Audio.c    13            open_mode[ 2 ] = 0; // parity: 0=no; 1=odd; 2= even
         Audio.c    14            open_mode[ 3 ] = 0; // datalength: 0=8 bit; 1=7 bit
         Audio.c    15            open_mode[ 4 ] = 0; // stop bits: 0=one; 1=two
         Audio.c    16            open_mode[ 5 ] = 0; // always 0
         Audio.c    17               
         Audio.c    18            Serial_Open( &open_mode );
    00000010 D32A                   MOV.L       L347+10,R3 ; _Serial_Open
    00000012 E009                   MOV         #9,R0
    00000014 2F40                   MOV.B       R4,@R15
    00000016 80F1                   MOV.B       R0,@(1,R15)
    00000018 6043                   MOV         R4,R0
    0000001A 80F2                   MOV.B       R0,@(2,R15)
    0000001C 6043                   MOV         R4,R0
    0000001E 80F3                   MOV.B       R0,@(3,R15)
    00000020 6043                   MOV         R4,R0
    00000022 80F4                   MOV.B       R0,@(4,R15)
    00000024 6043                   MOV         R4,R0
    00000026 80F5                   MOV.B       R0,@(5,R15)
    00000028 430B                   JSR         @R3
    0000002A 64F3                   MOV         R15,R4
         Audio.c    19    }
    0000002C 7F08                   ADD         #8,R15
    0000002E 4F26                   LDS.L       @R15+,PR
    00000030 000B                   RTS
    00000032 0009                   NOP
         Audio.c    20    
         Audio.c    21    int AddIn_main(int isAppli, unsigned short OptionNum)
    00000034              _AddIn_main:                     ; function: AddIn_main
                                                           ; frame size=88




SH SERIES C/C++ Compiler (Ver. 6.0C)                                                                 15-Nov-2012 16:22:12  PAGE    2


SCT OFFSET   CODE       C LABEL     INSTRUCTION OPERAND    COMMENT

                                                           ; used runtime library name:
                                                           ; __slow_mvn
    00000034 2FE6                   MOV.L       R14,@-R15
    00000036 2FD6                   MOV.L       R13,@-R15
    00000038 2FC6                   MOV.L       R12,@-R15
    0000003A 2FB6                   MOV.L       R11,@-R15
    0000003C 2FA6                   MOV.L       R10,@-R15
    0000003E 2F96                   MOV.L       R9,@-R15
    00000040 2F86                   MOV.L       R8,@-R15
    00000042 4F22                   STS.L       PR,@-R15
         Audio.c    22    {
         Audio.c    23            static const unsigned char LowTable[8]={0x00,0x08,0x88,0x94,0x55,0xD5,0xDD,0xDF};
         Audio.c    24            static unsigned short int giBufIndex = 0;
         Audio.c    25    
         Audio.c    26            FONTCHARACTER path[] ={'\\','\\','f','l','s','0','\\','T','E','T','R', 'I','S','.','w','a','v',0};
    00000044 D21E                   MOV.L       L347+14,R2 ; L310
    00000046 7FD0                   ADD         #-48,R15
    00000048 D31B                   MOV.L       L347+6,R3  ; __slow_mvn
    0000004A 61F3                   MOV         R15,R1
    0000004C 710C                   ADD         #12,R1
    0000004E 430B                   JSR         @R3
    00000050 E024                   MOV         #36,R0
         Audio.c    27    
         Audio.c    28            unsigned int i, size;
         Audio.c    29            unsigned int code1, code2;
         Audio.c    30            int hFile = Bfile_OpenFile(path, _OPENMODE_READ);
    00000052 E501                   MOV         #1,R5
    00000054 D11B                   MOV.L       L347+18,R1 ; _Bfile_OpenFile
    00000056 64F3                   MOV         R15,R4
    00000058 410B                   JSR         @R1
    0000005A 740C                   ADD         #12,R4
         Audio.c    31            
         Audio.c    32            Open();
    0000005C BFD0                   BSR         _Open
    0000005E 6903                   MOV         R0,R9
         Audio.c    33            
         Audio.c    34            //skip wav header
         Audio.c    35            if(Bfile_ReadFile(hFile,UserStack,44,-1) != 44)
    00000060 DB19                   MOV.L       L347+22,R11; _UserStack
    00000062 E7FF                   MOV         #-1,R7
    00000064 D219                   MOV.L       L347+26,R2 ; _Bfile_ReadFile
    00000066 E62C                   MOV         #44,R6
    00000068 65B3                   MOV         R11,R5
    0000006A 420B                   JSR         @R2
    0000006C 6493                   MOV         R9,R4
    0000006E 882C                   CMP/EQ      #44,R0
    00000070 8901                   BT          L335
         Audio.c    36            {
         Audio.c    37                    return 0;
    00000072 A06F                   BRA         L336
    00000074 E000                   MOV         #0,R0
    00000076              L335:                             
         Audio.c    38            }
         Audio.c    39    
         Audio.c    40            size = Bfile_GetFileSize(hFile);
    00000076 D216                   MOV.L       L347+30,R2 ; _Bfile_GetFileSize
    00000078 420B                   JSR         @R2




SH SERIES C/C++ Compiler (Ver. 6.0C)                                                                 15-Nov-2012 16:22:12  PAGE    3


SCT OFFSET   CODE       C LABEL     INSTRUCTION OPERAND    COMMENT

    0000007A 6493                   MOV         R9,R4
         Audio.c    41    
         Audio.c    42            Bdisp_AllClr_VRAM();
    0000007C D315                   MOV.L       L347+34,R3 ; _Bdisp_AllClr_VRAM
    0000007E 430B                   JSR         @R3
    00000080 1F02                   MOV.L       R0,@(8,R15)
         Audio.c    43            locate( 1, 1 );
    00000082 E501                   MOV         #1,R5
    00000084 D214                   MOV.L       L347+38,R2 ; _locate
    00000086 420B                   JSR         @R2
    00000088 6453                   MOV         R5,R4
         Audio.c    44            Print(&"Playing");
    0000008A D414                   MOV.L       L347+42,R4 ; L317
    0000008C D314                   MOV.L       L347+46,R3 ; _Print
    0000008E 430B                   JSR         @R3
    00000090 0009                   NOP
         Audio.c    45            Bdisp_PutDisp_DD();
    00000092 D214                   MOV.L       L347+50,R2 ; _Bdisp_PutDisp_DD
    00000094 420B                   JSR         @R2
    00000096 0009                   NOP
         Audio.c    46    
         Audio.c    47            //read it
         Audio.c    48            for(i = 0; i < size; i+= DATAPACK)
    00000098 9D0B                   MOV.W       L347,R13   ; H'1F90
    0000009A EC00                   MOV         #0,R12
    0000009C DE12                   MOV.L       L347+54,R14; __$giBufIndex$308
    0000009E A050                   BRA         L337
    000000A0 68C3                   MOV         R12,R8
    000000A2              L338:                             
         Audio.c    49            {
         Audio.c    50                    Bfile_ReadFile(hFile,UserStack ,DATAPACK,-1);
    000000A2 E7FF                   MOV         #-1,R7
    000000A4 D209                   MOV.L       L347+26,R2 ; _Bfile_ReadFile
    000000A6 66D3                   MOV         R13,R6
    000000A8 65B3                   MOV         R11,R5
    000000AA 420B                   JSR         @R2
    000000AC 6493                   MOV         R9,R4
         Audio.c    51                    for(giBufIndex = 0; giBufIndex < DATAPACK; giBufIndex++)
    000000AE A02F                   BRA         L339
    000000B0 2EC1                   MOV.W       R12,@R14
    000000B2              L347:                             
    000000B2 1F90                   .DATA.W     H'1F90
    000000B4 <00000000>             .DATA.L     L301
    000000B8 <00000000>             .DATA.L     __slow_mvn
    000000BC <00000000>             .DATA.L     _Serial_Open
    000000C0 <00000000>             .DATA.L     L310
    000000C4 <00000000>             .DATA.L     _Bfile_OpenFile
    000000C8 <00000000>             .DATA.L     _UserStack
    000000CC <00000000>             .DATA.L     _Bfile_ReadFile
    000000D0 <00000000>             .DATA.L     _Bfile_GetFileSize
    000000D4 <00000000>             .DATA.L     _Bdisp_AllClr_VRAM
    000000D8 <00000000>             .DATA.L     _locate
    000000DC <00000000>             .DATA.L     L317
    000000E0 <00000000>             .DATA.L     _Print
    000000E4 <00000000>             .DATA.L     _Bdisp_PutDisp_DD
    000000E8 <00000000>             .DATA.L     __$giBufIndex$308
    000000EC              L340:                             




SH SERIES C/C++ Compiler (Ver. 6.0C)                                                                 15-Nov-2012 16:22:12  PAGE    4


SCT OFFSET   CODE       C LABEL     INSTRUCTION OPERAND    COMMENT

         Audio.c    52                    {
         Audio.c    53                            unsigned char iVal = ~LowTable[UserStack[giBufIndex] >> 5];
    000000EC 60E1                   MOV.W       @R14,R0
    000000EE 600D                   EXTU.W      R0,R0
    000000F0 0ABC                   MOV.B       @(R0,R11),R10
    000000F2 6AAC                   EXTU.B      R10,R10
    000000F4 D01C                   MOV.L       L348,R0    ; __$LowTable$307
    000000F6 4A09                   SHLR2       R10
    000000F8 4A09                   SHLR2       R10
    000000FA 4A01                   SHLR        R10
    000000FC 0AAC                   MOV.B       @(R0,R10),R10
    000000FE 6AA7                   NOT         R10,R10
         Audio.c    54                            while(Serial_WriteByte(iVal));
    00000100              L341:                             
    00000100 D21A                   MOV.L       L348+4,R2  ; _Serial_WriteByte
    00000102 420B                   JSR         @R2
    00000104 64AC                   EXTU.B      R10,R4
    00000106 2008                   TST         R0,R0
    00000108 8BFA                   BF          L341
    0000010A 62E1                   MOV.W       @R14,R2
    0000010C 7201                   ADD         #1,R2
    0000010E 2E21                   MOV.W       R2,@R14
    00000110              L339:                             
    00000110 63E1                   MOV.W       @R14,R3
    00000112 633D                   EXTU.W      R3,R3
    00000114 33D3                   CMP/GE      R13,R3
    00000116 8BE9                   BF          L340
         Audio.c    55                    }
         Audio.c    56    
         Audio.c    57                    if(Bkey_GetKeyWait(&code1,&code2,KEYWAIT_HALTOFF_TIMEROFF,0,1,0) == KEYREP_KEYEVENT)
    00000118 2FC6                   MOV.L       R12,@-R15
    0000011A E301                   MOV         #1,R3
    0000011C D214                   MOV.L       L348+8,R2  ; _Bkey_GetKeyWait
    0000011E E700                   MOV         #0,R7
    00000120 2F36                   MOV.L       R3,@-R15
    00000122 6633                   MOV         R3,R6
    00000124 65F3                   MOV         R15,R5
    00000126 750C                   ADD         #12,R5
    00000128 64F3                   MOV         R15,R4
    0000012A 420B                   JSR         @R2
    0000012C 7408                   ADD         #8,R4
    0000012E 8801                   CMP/EQ      #1,R0
    00000130 8F06                   BF/S        L343
    00000132 7F08                   ADD         #8,R15
         Audio.c    58                    {
         Audio.c    59                            if(code1 == 4 && code2 == 8)
    00000134 60F2                   MOV.L       @R15,R0
    00000136 8804                   CMP/EQ      #4,R0
    00000138 8B02                   BF          L343
    0000013A 50F1                   MOV.L       @(4,R15),R0
    0000013C 8808                   CMP/EQ      #8,R0
    0000013E 8903                   BT          L345
    00000140              L343:                             
    00000140 38DC                   ADD         R13,R8
    00000142              L337:                             
    00000142 53F2                   MOV.L       @(8,R15),R3
    00000144 3832                   CMP/HS      R3,R8




SH SERIES C/C++ Compiler (Ver. 6.0C)                                                                 15-Nov-2012 16:22:12  PAGE    5


SCT OFFSET   CODE       C LABEL     INSTRUCTION OPERAND    COMMENT

    00000146 8BAC                   BF          L338
    00000148              L345:                             
         Audio.c    60                            break;
         Audio.c    61                    }
         Audio.c    62            }
         Audio.c    63            Bfile_CloseFile(hFile);
    00000148 D30A                   MOV.L       L348+12,R3 ; _Bfile_CloseFile
    0000014A 430B                   JSR         @R3
    0000014C 6493                   MOV         R9,R4
         Audio.c    64    
         Audio.c    65            Serial_Close(1);
    0000014E D20A                   MOV.L       L348+16,R2 ; _Serial_Close
    00000150 420B                   JSR         @R2
    00000152 E401                   MOV         #1,R4
         Audio.c    66    }
    00000154              L336:                             
    00000154 7F30                   ADD         #48,R15
    00000156 4F26                   LDS.L       @R15+,PR
    00000158 68F6                   MOV.L       @R15+,R8
    0000015A 69F6                   MOV.L       @R15+,R9
    0000015C 6AF6                   MOV.L       @R15+,R10
    0000015E 6BF6                   MOV.L       @R15+,R11
    00000160 6CF6                   MOV.L       @R15+,R12
    00000162 6DF6                   MOV.L       @R15+,R13
    00000164 000B                   RTS
    00000166 6EF6                   MOV.L       @R15+,R14
    00000168              L348:                             
    00000168 <00000000>             .DATA.L     __$LowTable$307
    0000016C <00000000>             .DATA.L     _Serial_WriteByte
    00000170 <00000000>             .DATA.L     _Bkey_GetKeyWait
    00000174 <00000000>             .DATA.L     _Bfile_CloseFile
    00000178 <00000000>             .DATA.L     _Serial_Close
         Audio.c    67    
         Audio.c    68    #pragma section _BR_Size
         Audio.c    69    unsigned long BR_Size;
         Audio.c    70    #pragma section
         Audio.c    71    #pragma section _TOP
         Audio.c    72    int InitializeSystem(int isAppli, unsigned short OptionNum)
P_T 00000000              _InitializeSystem:               ; function: InitializeSystem
                                                           ; frame size=0
         Audio.c    73    {return INIT_ADDIN_APPLICATION(isAppli, OptionNum);}
    00000000 D301                   MOV.L       L349+2,R3  ; _INIT_ADDIN_APPLICATION
    00000002 432B                   JMP         @R3
    00000004 0009                   NOP
    00000006              L349:                             
    00000006 0000                   .DATA.W     0
    00000008 <00000000>             .DATA.L     _INIT_ADDIN_APPLICATION
         Audio.c    74    #pragma section
         Audio.c    75    
C   00000000              L301:
    00000000 00                     .DATA.B     H'00
    00000001 0000000501             .DATAB.B    5,0
             00           
    00000006              __$LowTable$307:                 ; static: LowTable
    00000006 0008889455             .DATA.B     H'00,H'08,H'88,H'94,H'55,H'D5,H'DD,H'DF
             D5DDDF       
    0000000E              L310:




SH SERIES C/C++ Compiler (Ver. 6.0C)                                                                 15-Nov-2012 16:22:12  PAGE    6


SCT OFFSET   CODE       C LABEL     INSTRUCTION OPERAND    COMMENT

    0000000E 005C005C00             .DATA.W     H'005C,H'005C,H'0066,H'006C,H'0073,H'0030,H'005C,H'0054,H'0045,H'0054,H'0052,H'0049,
             66006C0073 +                       H'0053,H'002E,H'0077,H'0061,H'0076,H'0000
             0030005C00   
             5400450054   
             0052004900   
             53002E0077   
             0061007600   
             00           
    00000032 00000002               .RES.W      1
    00000034              L317:
    00000034 506C617969             .SDATA      "Playing"
             6E67         
    0000003B 00                     .DATA.B     H'00
D   00000000              __$giBufIndex$308:               ; static: giBufIndex
    00000000 0000                   .DATA.W     H'0000
B   00000000              _UserStack:                      ; static: UserStack
    00000000 00001F90               .RES.B      8080
B_B 00000000              _BR_Size:                        ; static: BR_Size
    00000000 00000004               .RES.L      1










































SH SERIES C/C++ Compiler (Ver. 6.0C)                                                                 15-Nov-2012 16:22:12  PAGE    1


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


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

NUMBER OF ERRORS:           0
NUMBER OF WARNINGS:         1




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

COMPILED SOURCE LINE:       75



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

PROGRAM  SECTION (P):                               0000017C Byte(s)
PROGRAM  SECTION (P_BR_Size):                       00000000 Byte(s)
PROGRAM  SECTION (P_TOP):                           0000000C Byte(s)
CONSTANT SECTION (C):                               0000003C Byte(s)
CONSTANT SECTION (C_BR_Size):                       00000000 Byte(s)
CONSTANT SECTION (C_TOP):                           00000000 Byte(s)
DATA     SECTION (D):                               00000002 Byte(s)
DATA     SECTION (D_BR_Size):                       00000000 Byte(s)
DATA     SECTION (D_TOP):                           00000000 Byte(s)
BSS      SECTION (B):                               00001F90 Byte(s)
BSS      SECTION (B_BR_Size):                       00000004 Byte(s)
BSS      SECTION (B_TOP):                           00000000 Byte(s)

 TOTAL PROGRAM SIZE: 0000215A Byte(s)



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

NUMBER OF EXTERNAL REFERENCE SYMBOLS:           14
NUMBER OF EXTERNAL DEFINITION SYMBOLS:           5
NUMBER OF INTERNAL/EXTERNAL SYMBOLS:            34






















*** COMMAND PARAMETER ***


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