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