[BITS 16] [ORG 0x100] Jmp debut buffer1 db '$$$$$$$$$$$$$$$$$$$$$$$$$$$$' buffer2 db '$$$$$$$$$$$$$$$$$$$$$$$$$$$$' msg_saisie1 db 'Entrez le 1er mot : $' msg_saisie2 db 'Entrez le 2eme mot : $' msg_egaux db 'Les mots sont egaux$' msg_pasegaux db 'Les mots ne sont pas egaux$' ;————————————————————————————————————————————————————————————————————————————— ; ## PRINCIPAL ————————————————————————————————————————————————————————————— ;————————————————————————————————————————————————————————————————————————————— debut: ; # SAISIE 1 —————————————————————————————————————————————————————————————— mov dx,msg_saisie1 call AFFICHE_MSG mov ah,20 ;On entre une chaine de 20 car. max mov [buffer1],ah mov ah,0Ah ;Interruption DOS d'entrée de car. mov dx,buffer1 int 21h ; # AFFICHAGE 1 ——————————————————————————————————————————————————————————— call SAUTLIGNE mov dx,buffer1+2 ;Ne pas afficher les 2 1ers caractères call AFFICHE_MSG call SAUTLIGNE ; # SAISIE 2 —————————————————————————————————————————————————————————————— mov dx,msg_saisie2 call AFFICHE_MSG mov ah,20 ;On entre une chaine de 20 car. max mov [buffer2],ah mov ah,0Ah ;Interruption DOS d'entrée de car. mov dx,buffer2 int 21h ; # AFFICHAGE 2 ——————————————————————————————————————————————————————————— call SAUTLIGNE mov dx,buffer2+2 ;Ne pas afficher les 2 1ers caractères call AFFICHE_MSG ; # COMPARAISON ——————————————————————————————————————————————————————————— cmp buffer1,buffer2 je egaux ;Si les mots sont égaux jmp pasegaux ;Sinon ; # MESSAGES —————————————————————————————————————————————————————————————— egaux: mov dx,msg_egaux call AFFICHE_MSG jmp FIN pasegaux: mov dx,msg_pasegaux call AFFICHE_MSG jmp FIN ; # FIN ——————————————————————————————————————————————————————————————————— FIN: mov ah,4ch int 21h ;————————————————————————————————————————————————————————————————————————————— ; ## AUX ——————————————————————————————————————————————————————————————————— ;————————————————————————————————————————————————————————————————————————————— SAUTLIGNE push ax ;Sauvegarde de ax mov dx,0ah ;Met le caractère du 10 (fin de ligne) dans dx mov ah,02h ;Fonction 02 pour l'affichage int 21h mov dx,0dh ;Met le caractère du 13 (saut de ligne) dans dx mov ah,02h ;Fonction 02 pour l'affichage int 21h pop ax ;Retabli ax ret AFFICHE_MSG push ax ;Sauvegarde de ax mov ah,09h ;Fonction 09 pour l'affichage int 21h pop ax ;Retabli ax ret