Ah, j'ai dit une grosse connerie ?
Je pensais que si on inhibait très souvent les interruptions dans un programme, ça ferait rater quelques ticks. J'ai tout faux ?
Rising Sun :
C'est pas ma faute c'est TIGCC qui est mal fait euh (aïe aïe aïe)
Non franchement y a des problèmes au niveau des répétitions de if ou de switch j'ai l'impression....
Ca plante alors que y a aucune raison.... Je rajoute un truc qu'il y a déjà 15 fois avant et ça plante !
Rising Sun
: Je vois pas quelle inattention pourrait conduire à ça... suffit que jerajoute un case/break pour que ça plante alors que y a rien de nouveau...
PpHdBon, alors, qu'est-ce qui ne va pas ?
: Question: Tu t'y connais en interruptions ?
clrscr: ../../lib/tigcc.a .text: (local) 0x002C34: 20 78 00 C8 20 68 06 74 42 A7 4E 90 58 8F 20 78 00 C8 20 68 06 78 4E D0 Segment: ../../lib/tigcc.a (Code, All Relocs Included) ../../lib/tigcc.a .text end: (local) __dummy_handler__: ../../lib/tigcc.a .text: (local) 0x002C4C: 4E 73 Segment: ../../lib/tigcc.a (Code, All Relocs Included) ../../lib/tigcc.a .text end: (local) _rowread: ../../lib/tigcc.a .text: (local) 0x002C4E: 33 C0 00 60 00 18 30 3C 00 18 L1: (local) 0x002C58: 51 C8 FF FE 10 39 00 60 00 1B 46 00 02 40 00 FF 4E 75
Segment: WB data.o (Code, All Relocs Included) WB maps.o .text end: (local) names: tigcc_compiled.: (local) WB data.o .text: (local) 0x0029B4: 46 61 6E 74 61 73 73 69 6E 00 00 00 00 00 00 00 00 00 00 00 43 61 70 69 74 61 69 6E 65 00 00 00 00 00 00 00 00 00 00 00 43 68 65 76 61 6C 69 65 72 00 00 00 00 00 00 00 00 00 00 00 46 75 73 69 6C 69 65 72 00 00 00 00 00 00 00 00 00 00 00 00 4D 6F 72 74 69 65 72 00 00 00 00 00 00 00 00 00 00 00 00 00 50 72 EA 74 72 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 53 6F 72 63 69 E8 72 65 00 00 00 00 00 00 00 00 00 00 00 00 42 72 69 73 65 73 6F 72 74 00 00 00 00 00 00 00 00 00 00 00 47 72 75 6E 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 43 68 65 76 61 75 63 68 65 75 72 20 64 65 20 6C 6F 75 70 00 54 61 75 72 65 6E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 43 68 61 73 73 65 75 72 20 64 65 20 74 EA 74 65 73 00 00 00 42 65 72 73 65 72 6B 65 72 20 74 72 6F 6C 6C 00 00 00 00 00 53 68 61 6D 61 6E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 53 6F 72 63 69 65 72 2D 64 6F 63 74 65 75 72 00 00 00 00 00 45 73 70 72 69 74 20 6D 61 72 63 68 65 75 72 00 00 00 00 00 u: 0x002AF4: 01 90 00 00 00 02 00 0D 00 05 00 01 00 00 00 01 00 02 00 00 02 58 00 32 00 04 00 14 00 08 00 01 00 00 00 07 00 00 00 00 03 20 00 64 00 06 00 1E 00 05 00 01 00 00 00 08 00 00 00 00 01 F4 00 00 00 03 00 16 00 06 00 05 00 00 00 00 00 00 00 00 01 C2 00 00 00 03 00 1E 00 08 00 06 00 00 00 00 00 00 00 00 00 FA 00 FA 00 01 00 0A 00 03 00 04 00 00 00 01 00 02 00 00 00 C8 01 2C 00 01 00 0C 00 03 00 04 00 00 00 03 00 04 00 00 01 2C 00 FA 00 02 00 0D 00 03 00 02 00 00 00 05 00 06 00 00 01 F4 00 00 00 01 00 0F 00 03 00 01 00 00 00 00 00 00 00 00 02 8A 00 32 00 03 00 17 00 08 00 01 00 00 00 0F 00 00 00 00 03 E8 00 64 00 02 00 23 00 09 00 01 00 00 00 10 00 00 00 00 01 C2 00 00 00 02 00 14 00 08 00 04 00 00 00 00 00 00 00 00 02 58 00 00 00 03 00 1A 00 04 00 04 00 00 00 00 00 00 00 00 00 FA 00 FA 00 02 00 0D 00 03 00 04 00 00 00 09 00 0A 00 00 00 C8 00 FA 00 01 00 0B 00 02 00 04 00 00 00 0B 00 0C 00 00 01 5E 00 C8 00 03 00 0C 00 03 00 02 00 00 00 0D 00 0E 00 00 Segment: ../../lib/tigcc.a (Code, All Relocs Included) WB data.o .text end: (local)
.L96: (local) 0x000B42: 32 10 48 C1 30 51 20 01 E5 88 D0 81 E5 88 D0 88 D0 80 41 F9 0x000B56: <4B: mapuni (->)> 0x000B5A: 31 83 08 00
.L96: #L146 mapuni[un[n][YTEMP]][un[n][XTEMP]]=n;// L'unité occupe une 2ème case } break; } } move.w (%a0),%d1 ext.l %d1 move.w (%a1),%a0 move.l %d1,%d0 lsl.l #2,%d0 add.l %d1,%d0 lsl.l #2,%d0 add.l %a0,%d0 add.l %d0,%d0 lea mapuni,%a0 move.w %d3,(%a0,%d0.l)
if(un[n][MOVE]==0) { switch(un[n][DIR]) { ... case 4: if(mapnum[un[n][Y]][un[n][X]-1]==1 && mapuni[un[n][Y]-1][un[n][X]-1]==0) { un[n][MOVE]=1; // L'unité bouge un[n][TEMP]=0; // Début du mouvement un[n][XTEMP]=un[n][X-1]; // Coordonnées futures un[n][YTEMP]=un[n][Y]; // Coordonnées futures // !!!!!!!!!! VVVVVVVVVVVVV mapuni[un[n][YTEMP]][un[n][XTEMP]]=n; // L'unité occupe une 2ème case // !!!!!!!!!! ^^^^^^^^^^^^ } break; }