FruitNinja/src/Debug/FruitNin.lst

798 lines
37 KiB
Plaintext
Executable File

SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Sep-2013 10:33:41 PAGE 1
************ OBJECT LISTING ************
FILE NAME: C:\Documents and Settings\Papa_2\Bureau\FruitNinja\FruitNinja\FruitNin.c
SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
FruitNin.c 1 /*****************************************************************/
FruitNin.c 2 /* */
FruitNin.c 3 /* CASIO fx-9860G SDK Library */
FruitNin.c 4 /* */
FruitNin.c 5 /* File name : FruitNin.c */
FruitNin.c 6 /* */
FruitNin.c 7 /* Copyright (c) 2006 CASIO COMPUTER CO., LTD. */
FruitNin.c 8 /* */
FruitNin.c 9 /*****************************************************************/
FruitNin.c 10 #include "fxlib.h"
FruitNin.c 11 #include "MonochromeLib.h"
FruitNin.c 12 #include "TouchLib.h"
FruitNin.c 13 #include "moteur.h"
FruitNin.c 14
FruitNin.c 15 #define __KEYBIOS_H__
FruitNin.c 16 #include "fxlib.h"
FruitNin.c 17 #define KEY_CHAR_0 71
FruitNin.c 18 #define KEY_CHAR_1 72
FruitNin.c 19 #define KEY_CHAR_2 62
FruitNin.c 20 #define KEY_CHAR_3 52
FruitNin.c 21 #define KEY_CHAR_4 73
FruitNin.c 22 #define KEY_CHAR_5 63
FruitNin.c 23 #define KEY_CHAR_6 53
FruitNin.c 24 #define KEY_CHAR_7 74
FruitNin.c 25 #define KEY_CHAR_8 64
FruitNin.c 26 #define KEY_CHAR_9 54
FruitNin.c 27 #define KEY_CHAR_DP 61
FruitNin.c 28 #define KEY_CHAR_EXP 51
FruitNin.c 29 #define KEY_CHAR_PMINUS 41
FruitNin.c 30 #define KEY_CHAR_PLUS 42
FruitNin.c 31 #define KEY_CHAR_MINUS 32
FruitNin.c 32 #define KEY_CHAR_MULT 43
FruitNin.c 33 #define KEY_CHAR_DIV 33
FruitNin.c 34 #define KEY_CHAR_FRAC 75
FruitNin.c 35 #define KEY_CHAR_LPAR 55
FruitNin.c 36 #define KEY_CHAR_RPAR 45
FruitNin.c 37 #define KEY_CHAR_COMMA 35
FruitNin.c 38 #define KEY_CHAR_STORE 25
FruitNin.c 39 #define KEY_CHAR_LOG 66
FruitNin.c 40 #define KEY_CHAR_LN 56
FruitNin.c 41 #define KEY_CHAR_SIN 46
FruitNin.c 42 #define KEY_CHAR_COS 36
FruitNin.c 43 #define KEY_CHAR_TAN 26
FruitNin.c 44 #define KEY_CHAR_SQUARE 67
FruitNin.c 45 #define KEY_CHAR_POW 57
FruitNin.c 46 #define KEY_CTRL_EXE 31
FruitNin.c 47 #define KEY_CTRL_DEL 44
FruitNin.c 48 #define KEY_CTRL_AC 32
FruitNin.c 49 #define KEY_CTRL_FD 65
FruitNin.c 50 #define KEY_CTRL_EXIT 47
FruitNin.c 51 #define KEY_CTRL_SHIFT 78
FruitNin.c 52 #define KEY_CTRL_ALPHA 77
FruitNin.c 53 #define KEY_CTRL_OPTN 68
FruitNin.c 54 #define KEY_CTRL_VARS 58
SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Sep-2013 10:33:41 PAGE 2
SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
FruitNin.c 55 #define KEY_CTRL_UP 28
FruitNin.c 56 #define KEY_CTRL_DOWN 37
FruitNin.c 57 #define KEY_CTRL_LEFT 38
FruitNin.c 58 #define KEY_CTRL_RIGHT 27
FruitNin.c 59 #define KEY_CTRL_F1 79
FruitNin.c 60 #define KEY_CTRL_F2 69
FruitNin.c 61 #define KEY_CTRL_F3 59
FruitNin.c 62 #define KEY_CTRL_F4 49
FruitNin.c 63 #define KEY_CTRL_F5 39
FruitNin.c 64 #define KEY_CTRL_F6 29
FruitNin.c 65 #define KEY_CTRL_MENU 48
FruitNin.c 66 #ifndef OS2Change
FruitNin.c 67 #define OS2Change
FruitNin.c 68 #ifndef OS2Change_GetOS2
FruitNin.c 69 #define OS2Change_GetOS2
FruitNin.c 70 typedef int(*sc_i2cp2sip)(char*, char*, short int*, short int*);
FruitNin.c 71 const unsigned int sc0015[] = { 0xD201D002, 0x422B0009, 0x80010070, 0x0015 };
FruitNin.c 72 #define GlibGetOSVersionInfo (*(sc_i2cp2sip)sc0015)
FruitNin.c 73 int OSVersionAsInt(void)
P 00000000 _OSVersionAsInt: ; function: OSVersionAsInt
; frame size=20
00000000 4F22 STS.L PR,@-R15
00000002 7FF0 ADD #-16,R15
FruitNin.c 74 {
FruitNin.c 75 unsigned char mainversion;
FruitNin.c 76 unsigned char minorversion;
FruitNin.c 77 unsigned short release;
FruitNin.c 78 unsigned short build;
FruitNin.c 79 GlibGetOSVersionInfo( &mainversion, &minorversion, &release, &build );
00000004 D346 MOV.L L449+6,R3 ; _sc0015
00000006 67F3 MOV R15,R7
00000008 770C ADD #12,R7
0000000A 66F3 MOV R15,R6
0000000C 7608 ADD #8,R6
0000000E 65F3 MOV R15,R5
00000010 7504 ADD #4,R5
00000012 430B JSR @R3
00000014 64F3 MOV R15,R4
FruitNin.c 80 return ( ( mainversion << 24 ) & 0xFF000000 ) | ( ( minorversion << 16 ) & 0x00FF0000 ) | ( release & 0x00
+00FFFF );
00000016 60F0 MOV.B @R15,R0
00000018 D342 MOV.L L449+10,R3 ; H'FF000000
0000001A 600C EXTU.B R0,R0
0000001C D242 MOV.L L449+14,R2 ; H'00FF0000
0000001E 4028 SHLL16 R0
00000020 4018 SHLL8 R0
00000022 2039 AND R3,R0
00000024 6103 MOV R0,R1
00000026 84F4 MOV.B @(4,R15),R0
00000028 600C EXTU.B R0,R0
0000002A 4028 SHLL16 R0
0000002C 2029 AND R2,R0
0000002E 201B OR R1,R0
00000030 6103 MOV R0,R1
00000032 85F4 MOV.W @(8,R15),R0
00000034 600D EXTU.W R0,R0
FruitNin.c 81 }
SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Sep-2013 10:33:41 PAGE 3
SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
00000036 7F10 ADD #16,R15
00000038 4F26 LDS.L @R15+,PR
0000003A 000B RTS
0000003C 201B OR R1,R0
FruitNin.c 82 #define isOS2 (OSVersionAsInt() >= 0x02020000)
FruitNin.c 83 #define OS2(x,y) ((OSVersionAsInt() >= 0x02020000)?y:x)
FruitNin.c 84 #endif
FruitNin.c 85 #ifndef OS2Change_Keyboard
FruitNin.c 86 #define OS2Change_Keyboard
FruitNin.c 87 void delay(void)
0000003E _delay: ; function: delay
; frame size=0
FruitNin.c 88 {
FruitNin.c 89 char i;
FruitNin.c 90 for (i=0; i<5; i++){};
0000003E E505 MOV #5,R5
00000040 E400 MOV #0,R4
00000042 L424:
00000042 7401 ADD #1,R4
00000044 634E EXTS.B R4,R3
00000046 3353 CMP/GE R5,R3
00000048 8BFB BF L424
FruitNin.c 91 }
0000004A 000B RTS
0000004C 0009 NOP
FruitNin.c 92 unsigned char CheckKeyRow(unsigned char code)
0000004E _CheckKeyRow: ; function: CheckKeyRow
; frame size=32
FruitNin.c 93 {
FruitNin.c 94 unsigned char result=0;
FruitNin.c 95 short*PORTB_CTRL=(void*)0xA4000102;
FruitNin.c 96 short*PORTM_CTRL=(void*)0xA4000118;
FruitNin.c 97 char*PORTB=(void*)0xA4000122;
FruitNin.c 98 char*PORTM=(void*)0xA4000138;
FruitNin.c 99 char*PORTA=(void*)0xA4000120;
FruitNin.c 100 short smask;
FruitNin.c 101 char cmask;
FruitNin.c 102 unsigned char column, row;
FruitNin.c 103 column = code>>4;
0000004E 634C EXTU.B R4,R3
00000050 2FE6 MOV.L R14,@-R15
FruitNin.c 104 row = code &0x0F;
00000052 E50F MOV #15,R5
00000054 2FD6 MOV.L R13,@-R15
00000056 4309 SHLR2 R3
00000058 2FC6 MOV.L R12,@-R15
0000005A 2549 AND R4,R5
0000005C 2FB6 MOV.L R11,@-R15
0000005E 4309 SHLR2 R3
00000060 2FA6 MOV.L R10,@-R15
FruitNin.c 105 smask = 0x0003 << (( row %8)*2);
00000062 665C EXTU.B R5,R6
00000064 2F96 MOV.L R9,@-R15
00000066 6063 MOV R6,R0
00000068 4F22 STS.L PR,@-R15
0000006A 4011 CMP/PZ R0
0000006C 7FFC ADD #-4,R15
SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Sep-2013 10:33:41 PAGE 4
SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
0000006E 2F30 MOV.B R3,@R15
00000070 8B01 BF L425
00000072 A005 BRA L426
00000074 C907 AND #7,R0
00000076 L425:
00000076 6007 NOT R0,R0
00000078 7001 ADD #1,R0
0000007A C907 AND #7,R0
0000007C 6007 NOT R0,R0
0000007E 7001 ADD #1,R0
00000080 L426:
FruitNin.c 106 cmask = ~( 1 << ( row %8) );
FruitNin.c 107 if(row <8)
00000080 994B MOV.W L449,R9 ; H'AAAA
00000082 E208 MOV #8,R2
00000084 DB29 MOV.L L449+18,R11; H'A4000102
00000086 6403 MOV R0,R4
00000088 9D48 MOV.W L449+2,R13 ; H'FF00
0000008A E503 MOV #3,R5
0000008C DE28 MOV.L L449+22,R14; H'A4000118
0000008E EA01 MOV #1,R10
00000090 4000 SHLL R0
00000092 450C SHAD R0,R5
00000094 4A4C SHAD R4,R10
00000096 6AA7 NOT R10,R10
00000098 6CB3 MOV R11,R12
0000009A 3623 CMP/GE R2,R6
0000009C 8D0D BT/S L427
0000009E 7C36 ADD #54,R12
FruitNin.c 108 {
FruitNin.c 109 *PORTB_CTRL = 0xAAAA ^ smask;
000000A0 259A XOR R9,R5
000000A2 2B51 MOV.W R5,@R11
FruitNin.c 110 *PORTM_CTRL = (*PORTM_CTRL & 0xFF00 ) | 0x00AA;
000000A4 60E1 MOV.W @R14,R0
000000A6 20D9 AND R13,R0
000000A8 CBAA OR #170,R0
FruitNin.c 111 delay();
000000AA BFC8 BSR _delay
000000AC 2E01 MOV.W R0,@R14
FruitNin.c 112 *PORTB = cmask;
000000AE D221 MOV.L L449+26,R2 ; H'A4000122
000000B0 22A0 MOV.B R10,@R2
FruitNin.c 113 *PORTM = (*PORTM & 0xF0 ) | 0x0F;
000000B2 60C0 MOV.B @R12,R0
000000B4 C9F0 AND #240,R0
000000B6 A00D BRA L448
000000B8 CB0F OR #15,R0
000000BA L427:
FruitNin.c 114 }
FruitNin.c 115 else
FruitNin.c 116 {
FruitNin.c 117 *PORTB_CTRL = 0xAAAA;
000000BA 2B91 MOV.W R9,@R11
FruitNin.c 118 *PORTM_CTRL = ((*PORTM_CTRL & 0xFF00 ) | 0x00AA) ^ smask;
000000BC 60E1 MOV.W @R14,R0
000000BE 20D9 AND R13,R0
SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Sep-2013 10:33:41 PAGE 5
SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
000000C0 CBAA OR #170,R0
000000C2 205A XOR R5,R0
FruitNin.c 119 delay();
000000C4 BFBB BSR _delay
000000C6 2E01 MOV.W R0,@R14
FruitNin.c 120 *PORTB = 0xFF;
000000C8 D31A MOV.L L449+26,R3 ; H'A4000122
000000CA E2FF MOV #-1,R2
000000CC 2320 MOV.B R2,@R3
FruitNin.c 121 *PORTM = (*PORTM & 0xF0 ) | cmask;
000000CE 60C0 MOV.B @R12,R0
000000D0 C9F0 AND #240,R0
000000D2 20AB OR R10,R0
000000D4 L448:
FruitNin.c 122 }
FruitNin.c 123
FruitNin.c 124 delay();
000000D4 BFB3 BSR _delay
000000D6 2C00 MOV.B R0,@R12
FruitNin.c 125 result = (~(*PORTA))>>column & 1;
000000D8 D317 MOV.L L449+30,R3 ; H'A4000120
000000DA 6030 MOV.B @R3,R0
000000DC 62F0 MOV.B @R15,R2
000000DE 6007 NOT R0,R0
000000E0 622C EXTU.B R2,R2
000000E2 622B NEG R2,R2
000000E4 402C SHAD R2,R0
000000E6 C901 AND #1,R0
FruitNin.c 126 delay();
000000E8 BFA9 BSR _delay
000000EA 2F00 MOV.B R0,@R15
FruitNin.c 127 *PORTB_CTRL = 0xAAAA;
000000EC 2B91 MOV.W R9,@R11
FruitNin.c 128 *PORTM_CTRL = (*PORTM_CTRL & 0xFF00 ) | 0x00AA;
000000EE 60E1 MOV.W @R14,R0
000000F0 20D9 AND R13,R0
000000F2 CBAA OR #170,R0
FruitNin.c 129 delay();
000000F4 BFA3 BSR _delay
000000F6 2E01 MOV.W R0,@R14
FruitNin.c 130 *PORTB_CTRL = 0x5555;
000000F8 9211 MOV.W L449+4,R2 ; H'5555
000000FA 2B21 MOV.W R2,@R11
FruitNin.c 131 *PORTM_CTRL = (*PORTM_CTRL & 0xFF00 ) | 0x0055;
000000FC 60E1 MOV.W @R14,R0
000000FE 20D9 AND R13,R0
00000100 CB55 OR #85,R0
FruitNin.c 132 delay();
00000102 BF9C BSR _delay
00000104 2E01 MOV.W R0,@R14
FruitNin.c 133
FruitNin.c 134 return result;
00000106 60F0 MOV.B @R15,R0
FruitNin.c 135 }
00000108 7F04 ADD #4,R15
0000010A 4F26 LDS.L @R15+,PR
0000010C 69F6 MOV.L @R15+,R9
SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Sep-2013 10:33:41 PAGE 6
SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
0000010E 6AF6 MOV.L @R15+,R10
00000110 6BF6 MOV.L @R15+,R11
00000112 6CF6 MOV.L @R15+,R12
00000114 6DF6 MOV.L @R15+,R13
00000116 000B RTS
00000118 6EF6 MOV.L @R15+,R14
0000011A L449:
0000011A AAAA .DATA.W H'AAAA
0000011C FF00 .DATA.W H'FF00
0000011E 5555 .DATA.W H'5555
00000120 <00000000> .DATA.L _sc0015
00000124 FF000000 .DATA.L H'FF000000
00000128 00FF0000 .DATA.L H'00FF0000
0000012C A4000102 .DATA.L H'A4000102
00000130 A4000118 .DATA.L H'A4000118
00000134 A4000122 .DATA.L H'A4000122
00000138 A4000120 .DATA.L H'A4000120
FruitNin.c 136
FruitNin.c 137 unsigned char KeyDown(unsigned char keycode)
0000013C _KeyDown: ; function: KeyDown
; frame size=36
; used runtime library name:
; __divls, __modls
0000013C 2FE6 MOV.L R14,@-R15
0000013E EE0A MOV #10,R14
00000140 2FD6 MOV.L R13,@-R15
00000142 4F22 STS.L PR,@-R15
FruitNin.c 138 {
FruitNin.c 139 unsigned short key[8];
FruitNin.c 140 const unsigned short* keyboardregister = (unsigned short*)0xA44B0000;
00000144 D346 MOV.L L450+2,R3 ; H'A44B0000
00000146 7FE8 ADD #-24,R15
00000148 2F40 MOV.B R4,@R15
0000014A 1F31 MOV.L R3,@(4,R15)
0000014C 6DF0 MOV.B @R15,R13
0000014E BF57 BSR _OSVersionAsInt
00000150 6DDC EXTU.B R13,R13
00000152 D244 MOV.L L450+6,R2 ; H'02020000
00000154 3023 CMP/GE R2,R0
00000156 8B26 BF L430
FruitNin.c 141 if(isOS2)
FruitNin.c 142 {
FruitNin.c 143 unsigned char row = keycode%10;
00000158 D343 MOV.L L450+10,R3 ; __modls
0000015A 61D3 MOV R13,R1
0000015C 430B JSR @R3
0000015E 60E3 MOV R14,R0
00000160 2F00 MOV.B R0,@R15
FruitNin.c 144 memcpy(key, keyboardregister, sizeof(unsigned short) << 3);
00000162 E610 MOV #16,R6
00000164 D341 MOV.L L450+14,R3 ; _memcpy
00000166 64F3 MOV R15,R4
00000168 55F1 MOV.L @(4,R15),R5
0000016A 430B JSR @R3
0000016C 7408 ADD #8,R4
FruitNin.c 145
FruitNin.c 146 return (0 != (key[row >> 1] & 1 << keycode / 10 - 1 + ((row & 1) << 3)));
SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Sep-2013 10:33:41 PAGE 7
SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
0000016E E501 MOV #1,R5
00000170 64F0 MOV.B @R15,R4
00000172 61D3 MOV R13,R1
00000174 D23E MOV.L L450+18,R2 ; __divls
00000176 644C EXTU.B R4,R4
00000178 6343 MOV R4,R3
0000017A 2359 AND R5,R3
0000017C 4308 SHLL2 R3
0000017E 4300 SHLL R3
00000180 420B JSR @R2
00000182 60E3 MOV R14,R0
00000184 330C ADD R0,R3
00000186 73FF ADD #-1,R3
00000188 6053 MOV R5,R0
0000018A 403C SHAD R3,R0
0000018C 6343 MOV R4,R3
0000018E 4321 SHAR R3
00000190 4300 SHLL R3
00000192 61F3 MOV R15,R1
00000194 7108 ADD #8,R1
00000196 331C ADD R1,R3
00000198 6231 MOV.W @R3,R2
0000019A 622D EXTU.W R2,R2
0000019C 2029 AND R2,R0
0000019E 2008 TST R0,R0
000001A0 0029 MOVT R0
000001A2 A00E BRA L432
000001A4 CA01 XOR #1,R0
000001A6 L430:
FruitNin.c 147 }
FruitNin.c 148 else
FruitNin.c 149 {
FruitNin.c 150 return CheckKeyRow((keycode % 10) + ((keycode / 10 - 1) << 4));
000001A6 61D3 MOV R13,R1
000001A8 D331 MOV.L L450+18,R3 ; __divls
000001AA 430B JSR @R3
000001AC 60E3 MOV R14,R0
000001AE 6403 MOV R0,R4
000001B0 D32D MOV.L L450+10,R3 ; __modls
000001B2 61D3 MOV R13,R1
000001B4 74FF ADD #-1,R4
000001B6 4408 SHLL2 R4
000001B8 4408 SHLL2 R4
000001BA 430B JSR @R3
000001BC 60E3 MOV R14,R0
000001BE BF46 BSR _CheckKeyRow
000001C0 340C ADD R0,R4
FruitNin.c 151 }
FruitNin.c 152 }
000001C2 L432:
000001C2 7F18 ADD #24,R15
000001C4 4F26 LDS.L @R15+,PR
000001C6 6DF6 MOV.L @R15+,R13
000001C8 000B RTS
000001CA 6EF6 MOV.L @R15+,R14
FruitNin.c 153 unsigned char GetKeyMod(unsigned int *key)
000001CC _GetKeyMod: ; function: GetKeyMod
SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Sep-2013 10:33:41 PAGE 8
SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
; frame size=20
000001CC 2FE6 MOV.L R14,@-R15
000001CE 2FD6 MOV.L R13,@-R15
000001D0 2FC6 MOV.L R12,@-R15
000001D2 4F22 STS.L PR,@-R15
FruitNin.c 154 {
FruitNin.c 155 unsigned char x, ret;
FruitNin.c 156
FruitNin.c 157 ret = GetKey(key);
000001D4 D327 MOV.L L450+22,R3 ; _GetKey
000001D6 7FFC ADD #-4,R15
000001D8 430B JSR @R3
000001DA 6C43 MOV R4,R12
000001DC 2F00 MOV.B R0,@R15
FruitNin.c 158
FruitNin.c 159 for(x = 0; x < 80; x++)
000001DE EE00 MOV #0,R14
000001E0 ED50 MOV #80,R13
000001E2 L435:
FruitNin.c 160 {
FruitNin.c 161 if(KeyDown(x))
000001E2 BFAB BSR _KeyDown
000001E4 64E3 MOV R14,R4
000001E6 600C EXTU.B R0,R0
000001E8 2008 TST R0,R0
000001EA 8902 BT L436
FruitNin.c 162 {
FruitNin.c 163 *key = x;
000001EC 6EEC EXTU.B R14,R14
FruitNin.c 164 break;
000001EE A004 BRA L434
000001F0 2CE2 MOV.L R14,@R12
000001F2 L436:
000001F2 7E01 ADD #1,R14
000001F4 62EC EXTU.B R14,R2
000001F6 32D3 CMP/GE R13,R2
000001F8 8BF3 BF L435
000001FA L434:
FruitNin.c 165 }
FruitNin.c 166 }
FruitNin.c 167 return ret;
000001FA 60F0 MOV.B @R15,R0
FruitNin.c 168 }
000001FC 7F04 ADD #4,R15
000001FE 4F26 LDS.L @R15+,PR
00000200 6CF6 MOV.L @R15+,R12
00000202 6DF6 MOV.L @R15+,R13
00000204 000B RTS
00000206 6EF6 MOV.L @R15+,R14
FruitNin.c 169 #define IsKeyDown(x) KeyDown(x)
FruitNin.c 170 #define IsKeyUp(x) !KeyDown(x)
FruitNin.c 171 #define GetKey(x) GetKeyMod(x)
FruitNin.c 172 #endif
FruitNin.c 173 #endif
FruitNin.c 174
FruitNin.c 175 //****************************************************************************
FruitNin.c 176 // AddIn_main (Sample program main function)
SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Sep-2013 10:33:41 PAGE 9
SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
FruitNin.c 177 //
FruitNin.c 178 // param : isAppli : 1 = This application is launched by MAIN MENU.
FruitNin.c 179 // : 0 = This application is launched by a strip in eACT application.
FruitNin.c 180 //
FruitNin.c 181 // OptionNum : Strip number (0~3)
FruitNin.c 182 // (This parameter is only used when isAppli parameter is 0.)
FruitNin.c 183 //
FruitNin.c 184 // retval : 1 = No error / 0 = Error
FruitNin.c 185 //
FruitNin.c 186 //****************************************************************************
FruitNin.c 187
FruitNin.c 188 int AddIn_main(int isAppli, unsigned short OptionNum)
00000208 _AddIn_main: ; function: AddIn_main
; frame size=20
00000208 2FE6 MOV.L R14,@-R15
0000020A 2FD6 MOV.L R13,@-R15
0000020C 2FC6 MOV.L R12,@-R15
0000020E 2FB6 MOV.L R11,@-R15
00000210 4F22 STS.L PR,@-R15
00000212 DB19 MOV.L L450+26,R11; _more
00000214 DC19 MOV.L L450+30,R12; _menu
00000216 DD1A MOV.L L450+34,R13; _moteur
FruitNin.c 189 {
FruitNin.c 190 int choix = 0;
FruitNin.c 191
FruitNin.c 192 //anim_Arcade(NORMAL);
FruitNin.c 193
FruitNin.c 194 while(1)
00000218 L440:
FruitNin.c 195 {
FruitNin.c 196 choix = menu();
00000218 4C0B JSR @R12
0000021A 0009 NOP
0000021C 6E03 MOV R0,R14
FruitNin.c 197
FruitNin.c 198 if(choix == 0) return 1;
0000021E 2EE8 TST R14,R14
00000220 8B01 BF L441
00000222 A016 BRA L442
00000224 E001 MOV #1,R0
00000226 L441:
FruitNin.c 199 if(choix == 1) moteur(JEU);
00000226 60E3 MOV R14,R0
00000228 8801 CMP/EQ #1,R0
0000022A 8B01 BF L443
0000022C 4D0B JSR @R13
0000022E E400 MOV #0,R4
00000230 L443:
FruitNin.c 200 if(choix == 2) moteur(ARCADE);
00000230 60E3 MOV R14,R0
00000232 8802 CMP/EQ #2,R0
00000234 8B01 BF L444
00000236 4D0B JSR @R13
00000238 E403 MOV #3,R4
0000023A L444:
FruitNin.c 201 if(choix == 3) moteur(JEU_LIBRE);
0000023A 60E3 MOV R14,R0
SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Sep-2013 10:33:41 PAGE 10
SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
0000023C 8803 CMP/EQ #3,R0
0000023E 8B01 BF L445
00000240 4D0B JSR @R13
00000242 E402 MOV #2,R4
00000244 L445:
FruitNin.c 202 if(choix == 4) more();
00000244 60E3 MOV R14,R0
00000246 8804 CMP/EQ #4,R0
00000248 8BE6 BF L440
0000024A 4B0B JSR @R11
0000024C 0009 NOP
0000024E AFE3 BRA L440
00000250 0009 NOP
00000252 L442:
FruitNin.c 203 }
FruitNin.c 204 }
00000252 4F26 LDS.L @R15+,PR
00000254 6BF6 MOV.L @R15+,R11
00000256 6CF6 MOV.L @R15+,R12
00000258 6DF6 MOV.L @R15+,R13
0000025A 000B RTS
0000025C 6EF6 MOV.L @R15+,R14
0000025E L450:
0000025E 0000 .DATA.W 0
00000260 A44B0000 .DATA.L H'A44B0000
00000264 02020000 .DATA.L H'02020000
00000268 <00000000> .DATA.L __modls
0000026C <00000000> .DATA.L _memcpy
00000270 <00000000> .DATA.L __divls
00000274 <00000000> .DATA.L _GetKey
00000278 <00000000> .DATA.L _more
0000027C <00000000> .DATA.L _menu
00000280 <00000000> .DATA.L _moteur
FruitNin.c 205
FruitNin.c 206
FruitNin.c 207
FruitNin.c 208
FruitNin.c 209 //****************************************************************************
FruitNin.c 210 //************** ****************
FruitNin.c 211 //************** Notice! ****************
FruitNin.c 212 //************** ****************
FruitNin.c 213 //************** Please do not change the following source. ****************
FruitNin.c 214 //************** ****************
FruitNin.c 215 //****************************************************************************
FruitNin.c 216
FruitNin.c 217
FruitNin.c 218 #pragma section _BR_Size
FruitNin.c 219 unsigned long BR_Size;
FruitNin.c 220 #pragma section
FruitNin.c 221
FruitNin.c 222
FruitNin.c 223 #pragma section _TOP
FruitNin.c 224
FruitNin.c 225 //****************************************************************************
FruitNin.c 226 // InitializeSystem
FruitNin.c 227 //
FruitNin.c 228 // param : isAppli : 1 = Application / 0 = eActivity
SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Sep-2013 10:33:41 PAGE 11
SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
FruitNin.c 229 // OptionNum : Option Number (only eActivity)
FruitNin.c 230 //
FruitNin.c 231 // retval : 1 = No error / 0 = Error
FruitNin.c 232 //
FruitNin.c 233 //****************************************************************************
FruitNin.c 234 int InitializeSystem(int isAppli, unsigned short OptionNum)
P_T 00000000 _InitializeSystem: ; function: InitializeSystem
; frame size=0
FruitNin.c 235 {
FruitNin.c 236 return INIT_ADDIN_APPLICATION(isAppli, OptionNum);
00000000 D301 MOV.L L451+2,R3 ; _INIT_ADDIN_APPLICATION
00000002 432B JMP @R3
00000004 0009 NOP
00000006 L451:
00000006 0000 .DATA.W 0
00000008 <00000000> .DATA.L _INIT_ADDIN_APPLICATION
FruitNin.c 237 }
FruitNin.c 238
FruitNin.c 239 #pragma section
FruitNin.c 240
C 00000000 _sc0015: ; static: sc0015
00000000 D201D00242 .DATA.L H'D201D002,H'422B0009,H'80010070,H'00000015
2B00098001
0070000000
15
B_B 00000000 _BR_Size: ; static: BR_Size
00000000 00000004 .RES.L 1
SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Sep-2013 10:33:41 PAGE 1
******** STATISTICS INFORMATION ********
********** ERROR INFORMATION ***********
NUMBER OF ERRORS: 0
NUMBER OF WARNINGS: 53
******* SOURCE LINE INFORMATION ********
COMPILED SOURCE LINE: 240
******* SECTION SIZE INFORMATION *******
PROGRAM SECTION (P): 00000284 Byte(s)
PROGRAM SECTION (P_BR_Size): 00000000 Byte(s)
PROGRAM SECTION (P_TOP): 0000000C Byte(s)
CONSTANT SECTION (C): 00000010 Byte(s)
CONSTANT SECTION (C_BR_Size): 00000000 Byte(s)
CONSTANT SECTION (C_TOP): 00000000 Byte(s)
DATA SECTION (D): 00000000 Byte(s)
DATA SECTION (D_BR_Size): 00000000 Byte(s)
DATA SECTION (D_TOP): 00000000 Byte(s)
BSS SECTION (B): 00000000 Byte(s)
BSS SECTION (B_BR_Size): 00000004 Byte(s)
BSS SECTION (B_TOP): 00000000 Byte(s)
TOTAL PROGRAM SIZE: 000002A4 Byte(s)
********** LABEL INFORMATION ***********
NUMBER OF EXTERNAL REFERENCE SYMBOLS: 8
NUMBER OF EXTERNAL DEFINITION SYMBOLS: 9
NUMBER OF INTERNAL/EXTERNAL SYMBOLS: 36
*** COMMAND PARAMETER ***
-subcommand=C:\DOCUME~1\Papa_2\LOCALS~1\Temp\hmkE1.tmp