diff options
-rw-r--r-- | samples/recherche.s | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/samples/recherche.s b/samples/recherche.s index 78db501..ebadde1 100644 --- a/samples/recherche.s +++ b/samples/recherche.s @@ -7,17 +7,17 @@ ENDLINE DS "\n" .TEXT .START - MOV R4, TAB2 ; R4 est la taille max + MOV R4, TAB2 ; R4 est la taille max SUB R4, TAB1 - MOV R5, R0 ; R5 est le compteur -BOUCLE: MOV R6, TAB1[R5] ; on charge les lettres - MOV R7, TAB2[R5] ; - JE R6 R7 TROUVE ; test si TAB1[i]=TAB2[i] =>jmp trouvé - ADD R5, 1 ; incrémentation du compteur - JNE R5 R4 BOUCLE ; si compteur !=taille max on refait la boucle - MOV, [0xffffff04], MSGPASTROUVE ; il n'y a pas de d'éléments identiques a une position i => on place dans R3 le msg a afficher - JMP FIN ; jmp a l'affichage -TROUVE: MOV, [0xffffff04], MSGTROUVE ; il y a une paire d'éléments identiques => on place dans R3 le msg a afficher + MOV R5, R0 ; R5 est le compteur +BOUCLE: MOV R6, TAB1[R5] ; on charge les lettres + MOV R7, TAB2[R5] ; + JE R6 R7 TROUVE ; test si TAB1[i]=TAB2[i] =>jmp trouvé + ADD R5, 1 ; incrémentation du compteur + JNE R5 R4 BOUCLE ; si compteur !=taille max on refait la boucle + MOV, [0xffffff04], MSGPASTROUVE ; il n'y a pas de d'éléments identiques a une position i. + JMP FIN ; jmp a l'affichage +TROUVE: MOV, [0xffffff04], MSGTROUVE ; il y a une paire d'éléments identiques. MOV, [0xffffff06], R5 MOV, [0xffffff04], ENDLINE FIN: HALT |