GoldenCrystalLe 01/10/2012 à 21:46
Ben en gros le cas le plus commun s'exécute en un flot d'instructions continu (aucun saut), tandis que le cas le moins commun s'exécute beaucoup plus loin avec un saut (conditionnel) pour y entrer, et un saut (inconditionnel) pour en sortir.
Après, j'aurais dit pareil que Kevin.
Vu que tu n'as pas précisé pour quel tu aurais voulu "optimiser" (faut compter le nombre de cycles, à priori sur 68k, un saut .b non exécuté coute moins cher qu'un saut .b exécuté), c'est difficile de te démontrer une "technique d'optimisation" "sans optimiser".
Dans ton cas, en supposant que tu veuilles "optimiser" pour le cas =0, ça reviendrait à remplacer le beq \ArchiveFound par un bne \ArchiveNotFound, et à déplacer le code qui suit le beqne plus loin (à la fin, quoi) et le préfixer du label \ArchiveNotFound.
(Mais attention à ne pas transformer un saut relatif 8 bits en saut relatif 16 bits en faisant ça…)