Le document contient des exercices sur les microprocesseurs avec du code en assembleur. Il y a trois exercices qui impliquent la comparaison et l'affichage de données.
0 évaluation0% ont trouvé ce document utile (0 vote)
25 vues1 page
Le document contient des exercices sur les microprocesseurs avec du code en assembleur. Il y a trois exercices qui impliquent la comparaison et l'affichage de données.
Le document contient des exercices sur les microprocesseurs avec du code en assembleur. Il y a trois exercices qui impliquent la comparaison et l'affichage de données.
Le document contient des exercices sur les microprocesseurs avec du code en assembleur. Il y a trois exercices qui impliquent la comparaison et l'affichage de données.
Téléchargez comme PDF, TXT ou lisez en ligne sur Scribd
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 1
2AP
Microprocesseurs 2023/2024
Correction TD4
Exercice N°1 Exercice N°3
1ére version DATA SEGMENT T DB 0 ,2 ,5 ,6 ,7 ,2 CODE SEGMENT DATA ENDS ; ** demander un caractere ** MOV AH ,01 H CODE SEGMENT INT 21 H MOV SI ,0 ; le code ASCII du caractere MOV DL , T [ SI ] ; est stocker dans AL INC SI CMP AL , ’5 ’ BOUCLE : ; comparer avec le caractere 5 CMP DL , T [ SI ] JG ET1 JGE FIN ; sauter vers ET1 si AL > ’5 ’ MOV DL , T [ SI ] INC AL FIN : JMP FIN : INC SI ET1 : CMP SI ,6 DEC AL ; comparer SI et 6 ( i et N ) FIN : JL BOUCLE ; while ( SI <6) ; Affichage du caractere ; affichage du resultat ; ( fonction 02 H ) ADD DL , ’0 ’; conversion en ascii MOV DL , AL MOV AH ,02 H MOV AH ,02 H INT 21 H INT 21 H HLT HLT CODE ENDS CODE ENDS 2éme version Exercice N°2 CODE SEGMENT ; ** demander un caractere ** DATA SEGMENT MOV AH ,01 H T DB 0 ,2 ,5 ,2 ,7 ,2 INT 21 H DATA ENDS ; le code ASCII du caractere ; est stocker dans AL CODE SEGMENT ; Convertir AL en un nombre ( AL -30) MOV SI ,0 SUB AL , ’0 ’; ’0 ’ = 30 MOV DL ,0 ; comparer avec le caractere 5 BOUCLE : CMP AL ,5 CMP T [ SI ] ,2 JG ET1 ; sauter vers ET1 si AL >5 JNE FIN INC AL INC DL JMP FIN : FIN : ET1 : INC SI DEC AL CMP SI ,6 FIN : ; comparer SI et 6 ( i et N ) ; Convertir en code ASCII ( AL +30) JL BOUCLE ; while ( SI <6) ADD AL , ’0 ’; ’0 ’ = 30 ; AFFICHAGE DU RESULTAT ; Affichage du caractere ADD DL , ’0 ’; coversion en ascii ; ( fonction 02 H ) MOV AH ,02 H MOV DL , AL INT 21 H MOV AH ,02 H HLT INT 21 H CODE ENDS HLT CODE ENDS