.DATA TAB1 DS "efghijklynoparstuvzxywqbcdefghijklynoparstuvzxywqbcdefghijklynoparstuvzxywqbcdefghXjklynoparstuvzxyw" TAB2 DS "aafghijklynoparstuvzxywqbcdefghijklynoparstuvzxywqbcdefghijklynoparstuvzxywqbcdefgXijklynoparstuvzxy" MSGTROUVE DS "TAB1 et TAB2 ont un élément en commun à l'index " MSGPASTROUVE DS "TAB1 et TAB2 n'ont pas d'élément en commun\n" ENDLINE DS "\n" .TEXT .START 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, [0xffffff06], R5 MOV, [0xffffff04], ENDLINE FIN: HALT