SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Sep-2013 10:25:26 PAGE 1 ************ OBJECT LISTING ************ FILE NAME: C:\Documents and Settings\Papa_2\Bureau\FruitNinja\FruitNinja\TouchLib.c SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT TouchLib.c 1 #include "TouchLib.h" TouchLib.c 2 TouchLib.c 3 void TL_getTouchXY(TL_Point *p) P 00000000 _TL_getTouchXY: ; function: TL_getTouchXY ; frame size=72 00000000 2FE6 MOV.L R14,@-R15 00000002 E5FF MOV #-1,R5 00000004 2FD6 MOV.L R13,@-R15 00000006 ED04 MOV #4,R13 00000008 2FC6 MOV.L R12,@-R15 0000000A 2FB6 MOV.L R11,@-R15 0000000C 2FA6 MOV.L R10,@-R15 TouchLib.c 4 { TouchLib.c 5 int coordonnesX[TL_GET_TOUCH_ROUND]; TouchLib.c 6 int coordonnesY[TL_GET_TOUCH_ROUND]; TouchLib.c 7 int i = 0; TouchLib.c 8 TouchLib.c 9 for(i=0; i .DATA.L _IsKeyDown 0000012C L442: 0000012C 8905 BT L393 0000012E 60E3 MOV R14,R0 00000130 4008 SHLL2 R0 00000132 E30F MOV #15,R3 00000134 0B36 MOV.L R3,@(R0,R11) 00000136 7E01 ADD #1,R14 00000138 0C86 MOV.L R8,@(R0,R12) 0000013A L393: TouchLib.c 23 if(i < TL_GET_TOUCH_ROUND && IsKeyDown(KEY_CHAR_MINUS)) { coordonnesX[i] = 20; coordonnesY[i] = 16 +; i++; } 0000013A 3ED3 CMP/GE R13,R14 0000013C 8B01 BF L450 0000013E A161 BRA L416 00000140 0009 NOP 00000142 L450: 00000142 9487 MOV.W L451,R4 ; H'0099 00000144 D345 MOV.L L451+8,R3 ; _IsKeyDown 00000146 430B JSR @R3 00000148 0009 NOP 0000014A 2008 TST R0,R0 0000014C 8904 BT L394 0000014E 60E3 MOV R14,R0 00000150 4008 SHLL2 R0 00000152 7E01 ADD #1,R14 00000154 0B96 MOV.L R9,@(R0,R11) 00000156 0C86 MOV.L R8,@(R0,R12) 00000158 L394: SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Sep-2013 10:25:26 PAGE 5 SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT TouchLib.c 24 TouchLib.c 25 if(i < TL_GET_TOUCH_ROUND && IsKeyDown(KEY_CHAR_4)) { coordonnesX[i] = 0; coordonnesY[i] = 12; i++ +; } 00000158 3ED3 CMP/GE R13,R14 0000015A 8B01 BF L452 0000015C A152 BRA L416 0000015E 0009 NOP 00000160 L452: 00000160 D23E MOV.L L451+8,R2 ; _IsKeyDown 00000162 420B JSR @R2 00000164 E434 MOV #52,R4 00000166 2008 TST R0,R0 00000168 8905 BT L395 0000016A 60E3 MOV R14,R0 0000016C 4008 SHLL2 R0 0000016E E30C MOV #12,R3 00000170 0BA6 MOV.L R10,@(R0,R11) 00000172 7E01 ADD #1,R14 00000174 0C36 MOV.L R3,@(R0,R12) 00000176 L395: TouchLib.c 26 if(i < TL_GET_TOUCH_ROUND && IsKeyDown(KEY_CHAR_5)) { coordonnesX[i] = 5; coordonnesY[i] = 12; i++ +; } 00000176 3ED3 CMP/GE R13,R14 00000178 8B01 BF L453 0000017A A143 BRA L416 0000017C 0009 NOP 0000017E L453: 0000017E D337 MOV.L L451+8,R3 ; _IsKeyDown 00000180 430B JSR @R3 00000182 E435 MOV #53,R4 00000184 2008 TST R0,R0 00000186 8906 BT L396 00000188 60E3 MOV R14,R0 0000018A 4008 SHLL2 R0 0000018C E305 MOV #5,R3 0000018E 7E01 ADD #1,R14 00000190 0B36 MOV.L R3,@(R0,R11) 00000192 E30C MOV #12,R3 00000194 0C36 MOV.L R3,@(R0,R12) 00000196 L396: TouchLib.c 27 if(i < TL_GET_TOUCH_ROUND && IsKeyDown(KEY_CHAR_6)) { coordonnesX[i] = 10; coordonnesY[i] = 12; i+ ++; } 00000196 3ED3 CMP/GE R13,R14 00000198 8B01 BF L454 0000019A A133 BRA L416 0000019C 0009 NOP 0000019E L454: 0000019E D32F MOV.L L451+8,R3 ; _IsKeyDown 000001A0 430B JSR @R3 000001A2 E436 MOV #54,R4 000001A4 2008 TST R0,R0 000001A6 8906 BT L397 000001A8 60E3 MOV R14,R0 000001AA 4008 SHLL2 R0 000001AC E30A MOV #10,R3 000001AE 7E01 ADD #1,R14 000001B0 0B36 MOV.L R3,@(R0,R11) SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Sep-2013 10:25:26 PAGE 6 SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT 000001B2 E30C MOV #12,R3 000001B4 0C36 MOV.L R3,@(R0,R12) 000001B6 L397: TouchLib.c 28 if(i < TL_GET_TOUCH_ROUND && IsKeyDown(KEY_CHAR_MULT)) { coordonnesX[i] = 15; coordonnesY[i] = 12; + i++; } 000001B6 3ED3 CMP/GE R13,R14 000001B8 8B01 BF L455 000001BA A123 BRA L416 000001BC 0009 NOP 000001BE L455: 000001BE 944A MOV.W L451+2,R4 ; H'00A9 000001C0 D326 MOV.L L451+8,R3 ; _IsKeyDown 000001C2 430B JSR @R3 000001C4 0009 NOP 000001C6 2008 TST R0,R0 000001C8 8906 BT L398 000001CA 60E3 MOV R14,R0 000001CC 4008 SHLL2 R0 000001CE E30F MOV #15,R3 000001D0 0B36 MOV.L R3,@(R0,R11) 000001D2 7E01 ADD #1,R14 000001D4 E30C MOV #12,R3 000001D6 0C36 MOV.L R3,@(R0,R12) 000001D8 L398: TouchLib.c 29 if(i < TL_GET_TOUCH_ROUND && IsKeyDown(KEY_CHAR_DIV)) { coordonnesX[i] = 20; coordonnesY[i] = 12; +i++; } 000001D8 3ED3 CMP/GE R13,R14 000001DA 8B01 BF L456 000001DC A112 BRA L416 000001DE 0009 NOP 000001E0 L456: 000001E0 943A MOV.W L451+4,R4 ; H'00B9 000001E2 D31E MOV.L L451+8,R3 ; _IsKeyDown 000001E4 430B JSR @R3 000001E6 0009 NOP 000001E8 2008 TST R0,R0 000001EA 8905 BT L399 000001EC 60E3 MOV R14,R0 000001EE 4008 SHLL2 R0 000001F0 0B96 MOV.L R9,@(R0,R11) 000001F2 E30C MOV #12,R3 000001F4 0C36 MOV.L R3,@(R0,R12) 000001F6 7E01 ADD #1,R14 000001F8 L399: TouchLib.c 30 TouchLib.c 31 if(i < TL_GET_TOUCH_ROUND && IsKeyDown(KEY_CHAR_7)) { coordonnesX[i] = 0; coordonnesY[i] = 8; i++; + } 000001F8 3ED3 CMP/GE R13,R14 000001FA 8B01 BF L457 000001FC A102 BRA L416 000001FE 0009 NOP 00000200 L457: 00000200 D316 MOV.L L451+8,R3 ; _IsKeyDown 00000202 430B JSR @R3 00000204 E437 MOV #55,R4 00000206 2008 TST R0,R0 00000208 8905 BT L400 SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Sep-2013 10:25:26 PAGE 7 SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT 0000020A 60E3 MOV R14,R0 0000020C 4008 SHLL2 R0 0000020E E308 MOV #8,R3 00000210 0BA6 MOV.L R10,@(R0,R11) 00000212 7E01 ADD #1,R14 00000214 0C36 MOV.L R3,@(R0,R12) 00000216 L400: TouchLib.c 32 if(i < TL_GET_TOUCH_ROUND && IsKeyDown(KEY_CHAR_8)) { coordonnesX[i] = 5; coordonnesY[i] = 8; i++; + } 00000216 3ED3 CMP/GE R13,R14 00000218 8B01 BF L458 0000021A A0F3 BRA L416 0000021C 0009 NOP 0000021E L458: 0000021E D30F MOV.L L451+8,R3 ; _IsKeyDown 00000220 430B JSR @R3 00000222 E438 MOV #56,R4 00000224 2008 TST R0,R0 00000226 8906 BT L401 00000228 60E3 MOV R14,R0 0000022A 4008 SHLL2 R0 0000022C E305 MOV #5,R3 0000022E 7E01 ADD #1,R14 00000230 0B36 MOV.L R3,@(R0,R11) 00000232 E308 MOV #8,R3 00000234 0C36 MOV.L R3,@(R0,R12) 00000236 L401: TouchLib.c 33 if(i < TL_GET_TOUCH_ROUND && IsKeyDown(KEY_CHAR_9)) { coordonnesX[i] = 10; coordonnesY[i] = 8; i++ +; } 00000236 3ED3 CMP/GE R13,R14 00000238 8B01 BF L459 0000023A A0E3 BRA L416 0000023C 0009 NOP 0000023E L459: 0000023E D307 MOV.L L451+8,R3 ; _IsKeyDown 00000240 430B JSR @R3 00000242 E439 MOV #57,R4 00000244 2008 TST R0,R0 00000246 890E BT L402 00000248 60E3 MOV R14,R0 0000024A 4008 SHLL2 R0 0000024C E30A MOV #10,R3 0000024E 0B36 MOV.L R3,@(R0,R11) 00000250 A006 BRA L443 00000252 0009 NOP 00000254 L451: 00000254 0099 .DATA.W H'0099 00000256 00A9 .DATA.W H'00A9 00000258 00B9 .DATA.W H'00B9 0000025A 0000 .DATA.W 0 0000025C <00000000> .DATA.L _IsKeyDown 00000260 L443: 00000260 E308 MOV #8,R3 00000262 7E01 ADD #1,R14 00000264 0C36 MOV.L R3,@(R0,R12) 00000266 L402: TouchLib.c 34 if(i < TL_GET_TOUCH_ROUND && IsKeyDown(KEY_CTRL_DEL)) { coordonnesX[i] = 15; coordonnesY[i] = 8; i SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Sep-2013 10:25:26 PAGE 8 SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT +++; } 00000266 3ED3 CMP/GE R13,R14 00000268 8B01 BF L460 0000026A A0CB BRA L416 0000026C 0009 NOP 0000026E L460: 0000026E 9484 MOV.W L461,R4 ; H'7549 00000270 D345 MOV.L L461+14,R3 ; _IsKeyDown 00000272 430B JSR @R3 00000274 0009 NOP 00000276 2008 TST R0,R0 00000278 8906 BT L403 0000027A 60E3 MOV R14,R0 0000027C 4008 SHLL2 R0 0000027E E30F MOV #15,R3 00000280 0B36 MOV.L R3,@(R0,R11) 00000282 7E01 ADD #1,R14 00000284 E308 MOV #8,R3 00000286 0C36 MOV.L R3,@(R0,R12) 00000288 L403: TouchLib.c 35 if(i < TL_GET_TOUCH_ROUND && IsKeyDown(KEY_CTRL_AC)) { coordonnesX[i] = 20; coordonnesY[i] = 8; i+ ++; } 00000288 3ED3 CMP/GE R13,R14 0000028A 8B01 BF L462 0000028C A0BA BRA L416 0000028E 0009 NOP 00000290 L462: 00000290 9474 MOV.W L461+2,R4 ; H'753F 00000292 D33D MOV.L L461+14,R3 ; _IsKeyDown 00000294 430B JSR @R3 00000296 0009 NOP 00000298 2008 TST R0,R0 0000029A 8905 BT L404 0000029C 60E3 MOV R14,R0 0000029E 4008 SHLL2 R0 000002A0 0B96 MOV.L R9,@(R0,R11) 000002A2 E308 MOV #8,R3 000002A4 0C36 MOV.L R3,@(R0,R12) 000002A6 7E01 ADD #1,R14 000002A8 L404: TouchLib.c 36 TouchLib.c 37 if(i < TL_GET_TOUCH_ROUND && IsKeyDown(KEY_CHAR_FRAC)) { coordonnesX[i] = 0; coordonnesY[i] = 4; i +++; } 000002A8 3ED3 CMP/GE R13,R14 000002AA 8B01 BF L463 000002AC A0AA BRA L416 000002AE 0009 NOP 000002B0 L463: 000002B0 9465 MOV.W L461+4,R4 ; H'00BB 000002B2 D335 MOV.L L461+14,R3 ; _IsKeyDown 000002B4 430B JSR @R3 000002B6 0009 NOP 000002B8 2008 TST R0,R0 000002BA 8904 BT L405 000002BC 60E3 MOV R14,R0 000002BE 4008 SHLL2 R0 000002C0 0BA6 MOV.L R10,@(R0,R11) SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Sep-2013 10:25:26 PAGE 9 SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT 000002C2 7E01 ADD #1,R14 000002C4 0CD6 MOV.L R13,@(R0,R12) 000002C6 L405: TouchLib.c 38 if(i < TL_GET_TOUCH_ROUND && IsKeyDown(KEY_CTRL_FD)) { coordonnesX[i] = 4; coordonnesY[i] = 4; i++ +; } 000002C6 3ED3 CMP/GE R13,R14 000002C8 8B01 BF L464 000002CA A09B BRA L416 000002CC 0009 NOP 000002CE L464: 000002CE 9457 MOV.W L461+6,R4 ; H'755E 000002D0 D22D MOV.L L461+14,R2 ; _IsKeyDown 000002D2 420B JSR @R2 000002D4 0009 NOP 000002D6 2008 TST R0,R0 000002D8 8904 BT L406 000002DA 60E3 MOV R14,R0 000002DC 4008 SHLL2 R0 000002DE 7E01 ADD #1,R14 000002E0 0BD6 MOV.L R13,@(R0,R11) 000002E2 0CD6 MOV.L R13,@(R0,R12) 000002E4 L406: TouchLib.c 39 if(i < TL_GET_TOUCH_ROUND && IsKeyDown(KEY_CHAR_LPAR)) { coordonnesX[i] = 8; coordonnesY[i] = 4; i +++; } 000002E4 3ED3 CMP/GE R13,R14 000002E6 8B01 BF L465 000002E8 A08C BRA L416 000002EA 0009 NOP 000002EC L465: 000002EC D326 MOV.L L461+14,R3 ; _IsKeyDown 000002EE 430B JSR @R3 000002F0 E428 MOV #40,R4 000002F2 2008 TST R0,R0 000002F4 8905 BT L407 000002F6 60E3 MOV R14,R0 000002F8 4008 SHLL2 R0 000002FA E308 MOV #8,R3 000002FC 0B36 MOV.L R3,@(R0,R11) 000002FE 7E01 ADD #1,R14 00000300 0CD6 MOV.L R13,@(R0,R12) 00000302 L407: TouchLib.c 40 if(i < TL_GET_TOUCH_ROUND && IsKeyDown(KEY_CHAR_RPAR)) { coordonnesX[i] = 12; coordonnesY[i] = 4; +i++; } 00000302 3ED3 CMP/GE R13,R14 00000304 8B01 BF L466 00000306 A07D BRA L416 00000308 0009 NOP 0000030A L466: 0000030A D31F MOV.L L461+14,R3 ; _IsKeyDown 0000030C 430B JSR @R3 0000030E E429 MOV #41,R4 00000310 2008 TST R0,R0 00000312 8905 BT L408 00000314 60E3 MOV R14,R0 00000316 4008 SHLL2 R0 00000318 E30C MOV #12,R3 0000031A 7E01 ADD #1,R14 SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Sep-2013 10:25:26 PAGE 10 SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT 0000031C 0B36 MOV.L R3,@(R0,R11) 0000031E 0CD6 MOV.L R13,@(R0,R12) 00000320 L408: TouchLib.c 41 if(i < TL_GET_TOUCH_ROUND && IsKeyDown(KEY_CHAR_COMMA)) { coordonnesX[i] = 16; coordonnesY[i] = 4; + i++; } 00000320 3ED3 CMP/GE R13,R14 00000322 896F BT L416 00000324 D318 MOV.L L461+14,R3 ; _IsKeyDown 00000326 430B JSR @R3 00000328 E42C MOV #44,R4 0000032A 2008 TST R0,R0 0000032C 8904 BT L409 0000032E 60E3 MOV R14,R0 00000330 4008 SHLL2 R0 00000332 7E01 ADD #1,R14 00000334 0B86 MOV.L R8,@(R0,R11) 00000336 0CD6 MOV.L R13,@(R0,R12) 00000338 L409: TouchLib.c 42 if(i < TL_GET_TOUCH_ROUND && IsKeyDown(KEY_CHAR_STORE)) { coordonnesX[i] = 20; coordonnesY[i] = 4; + i++; } 00000338 3ED3 CMP/GE R13,R14 0000033A 8963 BT L416 0000033C D212 MOV.L L461+14,R2 ; _IsKeyDown 0000033E 420B JSR @R2 00000340 E40E MOV #14,R4 00000342 2008 TST R0,R0 00000344 8904 BT L410 00000346 60E3 MOV R14,R0 00000348 4008 SHLL2 R0 0000034A 7E01 ADD #1,R14 0000034C 0B96 MOV.L R9,@(R0,R11) 0000034E 0CD6 MOV.L R13,@(R0,R12) 00000350 L410: TouchLib.c 43 TouchLib.c 44 if(i < TL_GET_TOUCH_ROUND && IsKeyDown(KEY_CTRL_XTT)) { coordonnesX[i] = 0; coordonnesY[i] = 0; i+ ++; } 00000350 3ED3 CMP/GE R13,R14 00000352 8957 BT L416 00000354 9415 MOV.W L461+8,R4 ; H'7531 00000356 D30C MOV.L L461+14,R3 ; _IsKeyDown 00000358 430B JSR @R3 0000035A 0009 NOP 0000035C 2008 TST R0,R0 0000035E 8904 BT L411 00000360 60E3 MOV R14,R0 00000362 4008 SHLL2 R0 00000364 0BA6 MOV.L R10,@(R0,R11) 00000366 7E01 ADD #1,R14 00000368 0CA6 MOV.L R10,@(R0,R12) 0000036A L411: TouchLib.c 45 if(i < TL_GET_TOUCH_ROUND && IsKeyDown(KEY_CHAR_LOG)) { coordonnesX[i] = 4; coordonnesY[i] = 0; i+ ++; } 0000036A 3ED3 CMP/GE R13,R14 0000036C 894A BT L416 0000036E 9409 MOV.W L461+10,R4 ; H'0095 00000370 D205 MOV.L L461+14,R2 ; _IsKeyDown 00000372 420B JSR @R2 SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Sep-2013 10:25:26 PAGE 11 SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT 00000374 0009 NOP 00000376 A009 BRA L444 00000378 0009 NOP 0000037A L461: 0000037A 7549 .DATA.W H'7549 0000037C 753F .DATA.W H'753F 0000037E 00BB .DATA.W H'00BB 00000380 755E .DATA.W H'755E 00000382 7531 .DATA.W H'7531 00000384 0095 .DATA.W H'0095 00000386 0000 .DATA.W 0 00000388 <00000000> .DATA.L _IsKeyDown 0000038C L444: 0000038C 2008 TST R0,R0 0000038E 8904 BT L412 00000390 60E3 MOV R14,R0 00000392 4008 SHLL2 R0 00000394 0BD6 MOV.L R13,@(R0,R11) 00000396 7E01 ADD #1,R14 00000398 0CA6 MOV.L R10,@(R0,R12) 0000039A L412: TouchLib.c 46 if(i < TL_GET_TOUCH_ROUND && IsKeyDown(KEY_CHAR_LN)) { coordonnesX[i] = 8; coordonnesY[i] = 0; i++ +; } 0000039A 3ED3 CMP/GE R13,R14 0000039C 8932 BT L416 0000039E 9487 MOV.W L467,R4 ; H'0085 000003A0 D345 MOV.L L467+8,R3 ; _IsKeyDown 000003A2 430B JSR @R3 000003A4 0009 NOP 000003A6 2008 TST R0,R0 000003A8 8905 BT L413 000003AA 60E3 MOV R14,R0 000003AC 4008 SHLL2 R0 000003AE E308 MOV #8,R3 000003B0 0B36 MOV.L R3,@(R0,R11) 000003B2 7E01 ADD #1,R14 000003B4 0CA6 MOV.L R10,@(R0,R12) 000003B6 L413: TouchLib.c 47 if(i < TL_GET_TOUCH_ROUND && IsKeyDown(KEY_CHAR_SIN)) { coordonnesX[i] = 12; coordonnesY[i] = 0; i +++; } 000003B6 3ED3 CMP/GE R13,R14 000003B8 8924 BT L416 000003BA 947A MOV.W L467+2,R4 ; H'0081 000003BC D33E MOV.L L467+8,R3 ; _IsKeyDown 000003BE 430B JSR @R3 000003C0 0009 NOP 000003C2 2008 TST R0,R0 000003C4 8905 BT L414 000003C6 60E3 MOV R14,R0 000003C8 4008 SHLL2 R0 000003CA E30C MOV #12,R3 000003CC 0B36 MOV.L R3,@(R0,R11) 000003CE 7E01 ADD #1,R14 000003D0 0CA6 MOV.L R10,@(R0,R12) 000003D2 L414: TouchLib.c 48 if(i < TL_GET_TOUCH_ROUND && IsKeyDown(KEY_CHAR_COS)) { coordonnesX[i] = 16; coordonnesY[i] = 0; i +++; } SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Sep-2013 10:25:26 PAGE 12 SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT 000003D2 3ED3 CMP/GE R13,R14 000003D4 8916 BT L416 000003D6 946D MOV.W L467+4,R4 ; H'0082 000003D8 D337 MOV.L L467+8,R3 ; _IsKeyDown 000003DA 430B JSR @R3 000003DC 0009 NOP 000003DE 2008 TST R0,R0 000003E0 8904 BT L415 000003E2 60E3 MOV R14,R0 000003E4 4008 SHLL2 R0 000003E6 7E01 ADD #1,R14 000003E8 0B86 MOV.L R8,@(R0,R11) 000003EA 0CA6 MOV.L R10,@(R0,R12) 000003EC L415: TouchLib.c 49 if(i < TL_GET_TOUCH_ROUND && IsKeyDown(KEY_CHAR_TAN)) { coordonnesX[i] = 20; coordonnesY[i] = 0; i +++; } 000003EC 3ED3 CMP/GE R13,R14 000003EE 8909 BT L416 000003F0 9461 MOV.W L467+6,R4 ; H'0083 000003F2 D231 MOV.L L467+8,R2 ; _IsKeyDown 000003F4 420B JSR @R2 000003F6 0009 NOP 000003F8 2008 TST R0,R0 000003FA 8903 BT L416 000003FC 4E08 SHLL2 R14 000003FE 60E3 MOV R14,R0 00000400 0B96 MOV.L R9,@(R0,R11) 00000402 0CA6 MOV.L R10,@(R0,R12) 00000404 L416: TouchLib.c 50 TouchLib.c 51 p->x = TL_average(coordonnesX, TL_GET_TOUCH_ROUND); 00000404 62F2 MOV.L @R15,R2 00000406 E504 MOV #4,R5 00000408 2F26 MOV.L R2,@-R15 0000040A B0D3 BSR _TL_average 0000040C 64B3 MOV R11,R4 TouchLib.c 52 p->y = TL_average(coordonnesY, TL_GET_TOUCH_ROUND); 0000040E E204 MOV #4,R2 00000410 61F6 MOV.L @R15+,R1 00000412 E504 MOV #4,R5 00000414 2102 MOV.L R0,@R1 00000416 63F2 MOV.L @R15,R3 00000418 323C ADD R3,R2 0000041A 2F26 MOV.L R2,@-R15 0000041C B0CA BSR _TL_average 0000041E 64C3 MOV R12,R4 00000420 61F6 MOV.L @R15+,R1 00000422 2102 MOV.L R0,@R1 TouchLib.c 53 } 00000424 7F24 ADD #36,R15 00000426 4F26 LDS.L @R15+,PR 00000428 68F6 MOV.L @R15+,R8 0000042A 69F6 MOV.L @R15+,R9 0000042C 6AF6 MOV.L @R15+,R10 0000042E 6BF6 MOV.L @R15+,R11 00000430 6CF6 MOV.L @R15+,R12 00000432 6DF6 MOV.L @R15+,R13 SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Sep-2013 10:25:26 PAGE 13 SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT 00000434 000B RTS 00000436 6EF6 MOV.L @R15+,R14 TouchLib.c 54 TouchLib.c 55 void TL_waitTouchXY(int Xmin, int Xmax, int Ymin, int Ymax) 00000438 _TL_waitTouchXY: ; function: TL_waitTouchXY ; frame size=32 00000438 2FE6 MOV.L R14,@-R15 TouchLib.c 56 { TouchLib.c 57 TL_Point p; TouchLib.c 58 TouchLib.c 59 p.x = p.y = -1; 0000043A E3FF MOV #-1,R3 0000043C 4F22 STS.L PR,@-R15 0000043E 7FE8 ADD #-24,R15 00000440 DE1E MOV.L L467+12,R14; _Sleep 00000442 1F43 MOV.L R4,@(12,R15) 00000444 2F52 MOV.L R5,@R15 00000446 1F62 MOV.L R6,@(8,R15) 00000448 1F71 MOV.L R7,@(4,R15) 0000044A 1F35 MOV.L R3,@(20,R15) 0000044C 1F34 MOV.L R3,@(16,R15) TouchLib.c 60 TouchLib.c 61 while(p.x < Xmin || p.x > Xmax || p.y < Ymin || p.y > Ymax) 0000044E A005 BRA L417 00000450 0009 NOP 00000452 L418: TouchLib.c 62 { TouchLib.c 63 TL_getTouchXY(&p); 00000452 64F3 MOV R15,R4 00000454 BDD4 BSR _TL_getTouchXY 00000456 7410 ADD #16,R4 TouchLib.c 64 Sleep(10); 00000458 4E0B JSR @R14 0000045A E40A MOV #10,R4 0000045C L417: 0000045C 54F4 MOV.L @(16,R15),R4 0000045E 53F3 MOV.L @(12,R15),R3 00000460 3433 CMP/GE R3,R4 00000462 8BF6 BF L418 00000464 61F2 MOV.L @R15,R1 00000466 3417 CMP/GT R1,R4 00000468 89F3 BT L418 0000046A 52F2 MOV.L @(8,R15),R2 0000046C 53F5 MOV.L @(20,R15),R3 0000046E 3323 CMP/GE R2,R3 00000470 8BEF BF L418 00000472 53F1 MOV.L @(4,R15),R3 00000474 51F5 MOV.L @(20,R15),R1 00000476 3137 CMP/GT R3,R1 00000478 89EB BT L418 TouchLib.c 65 } TouchLib.c 66 } 0000047A 7F18 ADD #24,R15 0000047C 4F26 LDS.L @R15+,PR 0000047E 000B RTS 00000480 6EF6 MOV.L @R15+,R14 TouchLib.c 67 SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Sep-2013 10:25:26 PAGE 14 SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT TouchLib.c 68 /*TL_Point *TL_getSeveralTouchs(int nbPoints) TouchLib.c 69 { TouchLib.c 70 int i = 0, x = -1, y = -1; TouchLib.c 71 TL_Point *points; TouchLib.c 72 TouchLib.c 73 points = malloc(nbPoints * sizeof(TL_Point)); TouchLib.c 74 TouchLib.c 75 do TouchLib.c 76 { TouchLib.c 77 TL_getTouchXY(&x, &y); TouchLib.c 78 if(x >= 0) TouchLib.c 79 { TouchLib.c 80 if(i == 0) TouchLib.c 81 { TouchLib.c 82 points[i].x = x; TouchLib.c 83 points[i].y = y; TouchLib.c 84 i++; TouchLib.c 85 } TouchLib.c 86 else TouchLib.c 87 { TouchLib.c 88 if(x != points[i-1].x && y != points[i-1].y) TouchLib.c 89 { TouchLib.c 90 points[i].x = x; TouchLib.c 91 points[i].y = y; TouchLib.c 92 i++; TouchLib.c 93 } TouchLib.c 94 } TouchLib.c 95 } TouchLib.c 96 }while(i .DATA.L _IsKeyDown 000004BC <00000000> .DATA.L _Sleep 000004C0 L422: TouchLib.c 110 { TouchLib.c 111 while(p.x < originX_min || p.x > originX_max || p.y < originY_min || p.y > originY_max) TL +_getTouchXY(&p); 000004C0 64F3 MOV R15,R4 000004C2 BD9D BSR _TL_getTouchXY 000004C4 7410 ADD #16,R4 000004C6 L421: 000004C6 54F4 MOV.L @(16,R15),R4 000004C8 3493 CMP/GE R9,R4 000004CA 8BF9 BF L422 000004CC 62F2 MOV.L @R15,R2 000004CE 3427 CMP/GT R2,R4 000004D0 89F6 BT L422 000004D2 51F1 MOV.L @(4,R15),R1 000004D4 53F5 MOV.L @(20,R15),R3 000004D6 3313 CMP/GE R1,R3 000004D8 8BF2 BF L422 000004DA 53F5 MOV.L @(20,R15),R3 000004DC 3387 CMP/GT R8,R3 000004DE 89EF BT L422 TouchLib.c 112 TouchLib.c 113 p2.x = p.x; 000004E0 51F4 MOV.L @(16,R15),R1 TouchLib.c 114 p2.x = p.y; TouchLib.c 115 i = speed; 000004E2 6DA3 MOV R10,R13 000004E4 2E12 MOV.L R1,@R14 TouchLib.c 116 TouchLib.c 117 while(i>0) 000004E6 4D15 CMP/PL R13 000004E8 53F5 MOV.L @(20,R15),R3 000004EA 2E32 MOV.L R3,@R14 000004EC 8BEB BF L421 000004EE L424: TouchLib.c 118 { TouchLib.c 119 TL_getTouchXY(&p); 000004EE 64F3 MOV R15,R4 000004F0 BD86 BSR _TL_getTouchXY SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Sep-2013 10:25:26 PAGE 16 SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT 000004F2 7410 ADD #16,R4 TouchLib.c 120 TouchLib.c 121 if(p.x < 0) 000004F4 53F4 MOV.L @(16,R15),R3 000004F6 4311 CMP/PZ R3 000004F8 8901 BT L425 TouchLib.c 122 { TouchLib.c 123 i--; 000004FA A007 BRA L426 000004FC 7DFF ADD #-1,R13 000004FE L425: TouchLib.c 124 } TouchLib.c 125 else TouchLib.c 126 { TouchLib.c 127 i = speed; 000004FE 6DA3 MOV R10,R13 TouchLib.c 128 depX = p.x-p2.x; 00000500 63E2 MOV.L @R14,R3 00000502 5CF4 MOV.L @(16,R15),R12 TouchLib.c 129 depY = p.y-p2.y; 00000504 5BF5 MOV.L @(20,R15),R11 00000506 3C38 SUB R3,R12 00000508 53E1 MOV.L @(4,R14),R3 0000050A 3B38 SUB R3,R11 0000050C L426: TouchLib.c 130 } TouchLib.c 131 TouchLib.c 132 if(depX >= displacementX_min && depX <= displacementX_max && depY >= displacementY +_min && depY <= displacementY_max) return; 0000050C 52FE MOV.L @(56,R15),R2 0000050E 3C23 CMP/GE R2,R12 00000510 8B0A BF L427 00000512 51FF MOV.L @(60,R15),R1 00000514 3C17 CMP/GT R1,R12 00000516 8907 BT L427 00000518 E040 MOV #64,R0 0000051A 02FE MOV.L @(R0,R15),R2 0000051C 3B23 CMP/GE R2,R11 0000051E 8B03 BF L427 00000520 E044 MOV #68,R0 00000522 01FE MOV.L @(R0,R15),R1 00000524 3B17 CMP/GT R1,R11 00000526 8B03 BF L428 00000528 L427: 00000528 4D15 CMP/PL R13 0000052A 89E0 BT L424 0000052C AFCB BRA L421 0000052E 0009 NOP 00000530 L428: TouchLib.c 133 } TouchLib.c 134 } TouchLib.c 135 } 00000530 7F18 ADD #24,R15 00000532 4F26 LDS.L @R15+,PR 00000534 68F6 MOV.L @R15+,R8 00000536 69F6 MOV.L @R15+,R9 00000538 6AF6 MOV.L @R15+,R10 SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Sep-2013 10:25:26 PAGE 17 SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT 0000053A 6BF6 MOV.L @R15+,R11 0000053C 6CF6 MOV.L @R15+,R12 0000053E 6DF6 MOV.L @R15+,R13 00000540 000B RTS 00000542 6EF6 MOV.L @R15+,R14 TouchLib.c 136 TouchLib.c 137 void TL_getGesture(int *originX, int *originY, int *displacementX, int *displacementY, int speed) 00000544 _TL_getGesture: ; function: TL_getGesture ; frame size=44 00000544 2FE6 MOV.L R14,@-R15 TouchLib.c 138 { TouchLib.c 139 TL_Point p, p2; TouchLib.c 140 int i; TouchLib.c 141 TouchLib.c 142 p.x = p.y = p2.x = p2.y = -1; 00000546 E3FF MOV #-1,R3 00000548 2FD6 MOV.L R13,@-R15 0000054A 4F22 STS.L PR,@-R15 0000054C 7FE0 ADD #-32,R15 0000054E 1F42 MOV.L R4,@(8,R15) 00000550 1F53 MOV.L R5,@(12,R15) 00000552 1F61 MOV.L R6,@(4,R15) 00000554 2F72 MOV.L R7,@R15 00000556 5DFB MOV.L @(44,R15),R13 00000558 1F35 MOV.L R3,@(20,R15) 0000055A 1F34 MOV.L R3,@(16,R15) 0000055C 1F37 MOV.L R3,@(28,R15) 0000055E 1F36 MOV.L R3,@(24,R15) TouchLib.c 143 i = speed; TouchLib.c 144 TouchLib.c 145 while(p.x < 0) TL_getTouchXY(&p); 00000560 A003 BRA L429 00000562 6ED3 MOV R13,R14 00000564 L430: 00000564 64F3 MOV R15,R4 00000566 BD4B BSR _TL_getTouchXY 00000568 7418 ADD #24,R4 0000056A L429: 0000056A 53F6 MOV.L @(24,R15),R3 0000056C 4311 CMP/PZ R3 0000056E 8BF9 BF L430 TouchLib.c 146 *originX = p.x; 00000570 51F2 MOV.L @(8,R15),R1 TouchLib.c 147 *originY = p.x; TouchLib.c 148 TouchLib.c 149 while(i > 0) 00000572 4E15 CMP/PL R14 00000574 53F6 MOV.L @(24,R15),R3 00000576 2132 MOV.L R3,@R1 00000578 52F3 MOV.L @(12,R15),R2 0000057A 53F6 MOV.L @(24,R15),R3 0000057C 2232 MOV.L R3,@R2 0000057E 8B14 BF L435 00000580 L432: TouchLib.c 150 { TouchLib.c 151 TL_getTouchXY(&p2); 00000580 64F3 MOV R15,R4 SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Sep-2013 10:25:26 PAGE 18 SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT 00000582 BD3D BSR _TL_getTouchXY 00000584 7410 ADD #16,R4 TouchLib.c 152 TouchLib.c 153 if(p.x < 0) 00000586 53F6 MOV.L @(24,R15),R3 00000588 4311 CMP/PZ R3 0000058A 8901 BT L433 TouchLib.c 154 { TouchLib.c 155 i--; 0000058C A00B BRA L434 0000058E 7EFF ADD #-1,R14 00000590 L433: TouchLib.c 156 } TouchLib.c 157 else TouchLib.c 158 { TouchLib.c 159 i = speed; TouchLib.c 160 *displacementX = p2.x-p.x; 00000590 52F1 MOV.L @(4,R15),R2 00000592 6ED3 MOV R13,R14 00000594 53F6 MOV.L @(24,R15),R3 00000596 51F4 MOV.L @(16,R15),R1 00000598 3138 SUB R3,R1 0000059A 2212 MOV.L R1,@R2 TouchLib.c 161 *displacementY = p2.y-p.y; 0000059C 63F2 MOV.L @R15,R3 0000059E 52F7 MOV.L @(28,R15),R2 000005A0 51F5 MOV.L @(20,R15),R1 000005A2 3128 SUB R2,R1 000005A4 2312 MOV.L R1,@R3 000005A6 L434: 000005A6 4E15 CMP/PL R14 000005A8 89EA BT L432 000005AA L435: TouchLib.c 162 } TouchLib.c 163 } TouchLib.c 164 return; TouchLib.c 165 } 000005AA 7F20 ADD #32,R15 000005AC 4F26 LDS.L @R15+,PR 000005AE 6DF6 MOV.L @R15+,R13 000005B0 000B RTS 000005B2 6EF6 MOV.L @R15+,R14 TouchLib.c 166 TouchLib.c 167 int TL_average(int *tableau, int taille) 000005B4 _TL_average: ; function: TL_average ; frame size=4 ; used runtime library name: ; __divls 000005B4 4F22 STS.L PR,@-R15 TouchLib.c 168 { TouchLib.c 169 int somme = 0, i=0; TouchLib.c 170 TouchLib.c 171 if(tableau[0] < 0) return -1; 000005B6 6342 MOV.L @R4,R3 000005B8 4311 CMP/PZ R3 000005BA 8D03 BT/S L436 000005BC E700 MOV #0,R7 SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Sep-2013 10:25:26 PAGE 19 SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT 000005BE 4F26 LDS.L @R15+,PR 000005C0 000B RTS 000005C2 E0FF MOV #-1,R0 000005C4 L436: TouchLib.c 172 TouchLib.c 173 for(i=0; i .DATA.L __divls SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Sep-2013 10:25:26 PAGE 1 ******** STATISTICS INFORMATION ******** ********** ERROR INFORMATION *********** NUMBER OF ERRORS: 0 NUMBER OF WARNINGS: 0 ******* SOURCE LINE INFORMATION ******** COMPILED SOURCE LINE: 180 ******* SECTION SIZE INFORMATION ******* PROGRAM SECTION (P): 000005F4 Byte(s) CONSTANT SECTION (C): 00000000 Byte(s) DATA SECTION (D): 00000000 Byte(s) BSS SECTION (B): 00000000 Byte(s) TOTAL PROGRAM SIZE: 000005F4 Byte(s) ********** LABEL INFORMATION *********** NUMBER OF EXTERNAL REFERENCE SYMBOLS: 3 NUMBER OF EXTERNAL DEFINITION SYMBOLS: 5 NUMBER OF INTERNAL/EXTERNAL SYMBOLS: 89 *** COMMAND PARAMETER *** -subcommand=C:\DOCUME~1\Papa_2\LOCALS~1\Temp\hmkC7.tmp