SlideShare une entreprise Scribd logo
1  sur  13
Les instructions de chaînes
de caractères – Module
Microprocesseur
TARIK ZAKARIA BENMERAR, PHD
DEPARTEMENT INSTRUMENTATION ET AUTOMATIQUE, USTHB
Définition
 Dans l’architecture X86, certaines instruction permettent un
transfert ou une comparaison rapide de chaines de caractères.
 La première est appelée : " chaîne source " et la seconde "
chaîne destination ".
 La chaîne source est toujours être pointée par le registre de
segment DS.
 La chaîne destination est toujours être pointée par le registre
de segment ES.
Direction des adresses dans les
instructions des chaînes de caractères
 La direction des adresses pour les instructions des
chaînes de caractères dépends du flag D (DF).
 L’instruction CLD met DF à 0. Les adresses sont
incrémentées après chaque instruction des chaînes de
caractères.
 L’instruction STD met DF à 1. Les adresses sont
décrémentées après chaque instruction des chaînes de
caractères.
Les instructions de transfert
LODSB/LODSW
LODSB
LODSW
AL ← [DS : SI], SI = SI ± 1
AX ← [DS : SI], SI = SI ± 2
Les instructions de transfert
LODSB/LODSW
ORG 100h
LEA SI, a1
MOV BL, 0
MOV CX, 3
m:
LODSB
ADD BL, AL
LOOP m
RET
a1 DB 1, 2, 3
Les instructions de comparaison
STOSB/STOSW
STOSB
STOSW
[ES : DI] ← AL, DI = DI ± 1
[ES : DI] ← AX, DI = DI ± 2
Les instructions de transfert
MOVSB/MOVSW
MOVSB
MOVSW
[ES : DI] ← [DS : SI], SI = SI ± 1, DI = DI ± 1
[ES : DI] ← [DS : SI], SI = SI ± 2, DI = DI ± 2
Les instructions de transfert
MOVSB/MOVSW
LEA si ,a1
LEA di, a2
MOVSB
MOVSB
MOVSB
RET
a1 DB 1,2,3
a2 DB 3 dup (0)
Les comparaisons
CMPSB/CMPSW
CMPSB
CMPSW
Comparaison de [DS : SI] avec [ES : DI] ←, SI = SI ± 1, DI = DI ± 1
Comparaison de [DS : SI] avec [ES : DI] ←, SI = SI ± 2, DI = DI ± 2
Les comparaisons
SCASB/SCASW
SCASB
SCASW
Comparaison de AL avec [ES : DI] ←, SI = SI ± 1, DI = DI ± 1
Comparaison de AX avec [ES : DI] ←, SI = SI ± 2, DI = DI ± 2
Les instructions de répétition
 Répète l'instruction présente comme opérande.
Utilise CX comme compteur. E.g. REP MOVSB.
REP
Les instructions de répétition
REPE
 Répète l'instruction présente comme opérande.
Utilise CX comme compteur, et la répétition s’arrête
si [DS : SI] ≠ [ES : DI]. E.g. REPE MOVSB.
Les instructions de répétition
REPNE
 Répète l'instruction présente comme opérande.
Utilise CX comme compteur, et la répétition s’arrête
si [DS : SI] = [ES : DI]. E.g. REPNE MOVSB.

Contenu connexe

Tendances

Télécharger livre - schéma d'installation électrique
Télécharger livre - schéma d'installation électriqueTélécharger livre - schéma d'installation électrique
Télécharger livre - schéma d'installation électriquemorin moli
 
Projet PFE: Réalisation d'une armoire électrique
Projet PFE: Réalisation d'une armoire électriqueProjet PFE: Réalisation d'une armoire électrique
Projet PFE: Réalisation d'une armoire électriqueRidha Chayeh
 
Les systèmes de détection et prévention d’intrusion
Les systèmes de détection et prévention d’intrusionLes systèmes de détection et prévention d’intrusion
Les systèmes de détection et prévention d’intrusionIntissar Dguechi
 
ARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATURE
ARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATUREARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATURE
ARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATUREHajer Dahech
 
Les schémas d'installation industrielle www.cours-online.com
Les schémas d'installation industrielle www.cours-online.comLes schémas d'installation industrielle www.cours-online.com
Les schémas d'installation industrielle www.cours-online.commorin moli
 
Microo exercices 16f877/877A
Microo exercices 16f877/877AMicroo exercices 16f877/877A
Microo exercices 16f877/877Aomar bllaouhamou
 
PFE régulateur de vitesse d'un moteur DC
PFE régulateur de vitesse d'un moteur DCPFE régulateur de vitesse d'un moteur DC
PFE régulateur de vitesse d'un moteur DCMohamed Arhoujdam
 
Programmation linéniaire
Programmation linéniaire Programmation linéniaire
Programmation linéniaire Mohammed Zaoui
 
Formation gns3
Formation gns3Formation gns3
Formation gns3Joeongala
 
Les circuits combinatoires
Les circuits combinatoires Les circuits combinatoires
Les circuits combinatoires wafawafa52
 
Formation Bus de Terrain _Partie 3_1 _Modbus tcp
Formation Bus de Terrain _Partie 3_1 _Modbus tcpFormation Bus de Terrain _Partie 3_1 _Modbus tcp
Formation Bus de Terrain _Partie 3_1 _Modbus tcpWojciech GOMOLKA
 
Cours et travaux diriges sur l'automatisme et les systemes automatises
Cours et travaux diriges sur l'automatisme et les systemes automatisesCours et travaux diriges sur l'automatisme et les systemes automatises
Cours et travaux diriges sur l'automatisme et les systemes automatisesmorin moli
 
MINI PROJET PV OUMHELLA (AutoRecovered).docx
MINI PROJET PV OUMHELLA (AutoRecovered).docxMINI PROJET PV OUMHELLA (AutoRecovered).docx
MINI PROJET PV OUMHELLA (AutoRecovered).docxYoussefOumhella
 
47811458 exercices-systemes-echantillonnes
47811458 exercices-systemes-echantillonnes47811458 exercices-systemes-echantillonnes
47811458 exercices-systemes-echantillonnesTRIKI BILEL
 
Automatisme) www.cours-online.com
Automatisme) www.cours-online.comAutomatisme) www.cours-online.com
Automatisme) www.cours-online.commorin moli
 

Tendances (20)

Télécharger livre - schéma d'installation électrique
Télécharger livre - schéma d'installation électriqueTélécharger livre - schéma d'installation électrique
Télécharger livre - schéma d'installation électrique
 
Devoir amdec
Devoir amdecDevoir amdec
Devoir amdec
 
Projet PFE: Réalisation d'une armoire électrique
Projet PFE: Réalisation d'une armoire électriqueProjet PFE: Réalisation d'une armoire électrique
Projet PFE: Réalisation d'une armoire électrique
 
Les systèmes de détection et prévention d’intrusion
Les systèmes de détection et prévention d’intrusionLes systèmes de détection et prévention d’intrusion
Les systèmes de détection et prévention d’intrusion
 
Microcontroleurs
MicrocontroleursMicrocontroleurs
Microcontroleurs
 
rAPPORT SAVONICC
rAPPORT SAVONICCrAPPORT SAVONICC
rAPPORT SAVONICC
 
ARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATURE
ARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATUREARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATURE
ARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATURE
 
Les schémas d'installation industrielle www.cours-online.com
Les schémas d'installation industrielle www.cours-online.comLes schémas d'installation industrielle www.cours-online.com
Les schémas d'installation industrielle www.cours-online.com
 
Document stage
Document stageDocument stage
Document stage
 
Microo exercices 16f877/877A
Microo exercices 16f877/877AMicroo exercices 16f877/877A
Microo exercices 16f877/877A
 
PFE régulateur de vitesse d'un moteur DC
PFE régulateur de vitesse d'un moteur DCPFE régulateur de vitesse d'un moteur DC
PFE régulateur de vitesse d'un moteur DC
 
Programmation linéniaire
Programmation linéniaire Programmation linéniaire
Programmation linéniaire
 
Formation gns3
Formation gns3Formation gns3
Formation gns3
 
Les circuits combinatoires
Les circuits combinatoires Les circuits combinatoires
Les circuits combinatoires
 
Formation Bus de Terrain _Partie 3_1 _Modbus tcp
Formation Bus de Terrain _Partie 3_1 _Modbus tcpFormation Bus de Terrain _Partie 3_1 _Modbus tcp
Formation Bus de Terrain _Partie 3_1 _Modbus tcp
 
Rapport de stage PFE
Rapport de stage PFERapport de stage PFE
Rapport de stage PFE
 
Cours et travaux diriges sur l'automatisme et les systemes automatises
Cours et travaux diriges sur l'automatisme et les systemes automatisesCours et travaux diriges sur l'automatisme et les systemes automatises
Cours et travaux diriges sur l'automatisme et les systemes automatises
 
MINI PROJET PV OUMHELLA (AutoRecovered).docx
MINI PROJET PV OUMHELLA (AutoRecovered).docxMINI PROJET PV OUMHELLA (AutoRecovered).docx
MINI PROJET PV OUMHELLA (AutoRecovered).docx
 
47811458 exercices-systemes-echantillonnes
47811458 exercices-systemes-echantillonnes47811458 exercices-systemes-echantillonnes
47811458 exercices-systemes-echantillonnes
 
Automatisme) www.cours-online.com
Automatisme) www.cours-online.comAutomatisme) www.cours-online.com
Automatisme) www.cours-online.com
 

Plus de Tarik Zakaria Benmerar

Videostreaming et visioconference pour le Web - Evènement GDSC USTHB Tech plus
Videostreaming et visioconference pour le Web - Evènement GDSC USTHB Tech plusVideostreaming et visioconference pour le Web - Evènement GDSC USTHB Tech plus
Videostreaming et visioconference pour le Web - Evènement GDSC USTHB Tech plusTarik Zakaria Benmerar
 
Chapitre 5 - fichiers EXE-COM pour le dos
Chapitre 5 -  fichiers EXE-COM pour le dosChapitre 5 -  fichiers EXE-COM pour le dos
Chapitre 5 - fichiers EXE-COM pour le dosTarik Zakaria Benmerar
 
Chapitre 4 - les instructions de saut et conditions
Chapitre 4  - les instructions de saut et conditionsChapitre 4  - les instructions de saut et conditions
Chapitre 4 - les instructions de saut et conditionsTarik Zakaria Benmerar
 
Chapitre 3 - échanges de données et opérations arithmétiques - binaires
Chapitre 3  - échanges de données et opérations arithmétiques - binairesChapitre 3  - échanges de données et opérations arithmétiques - binaires
Chapitre 3 - échanges de données et opérations arithmétiques - binairesTarik Zakaria Benmerar
 
Chapitre 2.2 - architecture d'un microprocesseur - jeux d'instructions et reg...
Chapitre 2.2 - architecture d'un microprocesseur - jeux d'instructions et reg...Chapitre 2.2 - architecture d'un microprocesseur - jeux d'instructions et reg...
Chapitre 2.2 - architecture d'un microprocesseur - jeux d'instructions et reg...Tarik Zakaria Benmerar
 
Chapitre 2.1 - architecture d'un microprocesseur - bus et communication
Chapitre 2.1 -  architecture d'un microprocesseur - bus et communicationChapitre 2.1 -  architecture d'un microprocesseur - bus et communication
Chapitre 2.1 - architecture d'un microprocesseur - bus et communicationTarik Zakaria Benmerar
 
Chapitre 1 - représentation numérique des données
Chapitre 1  - représentation numérique des donnéesChapitre 1  - représentation numérique des données
Chapitre 1 - représentation numérique des donnéesTarik Zakaria Benmerar
 
Chapitre 3 - Protocole Bus CAN (2020/2021
Chapitre 3 - Protocole Bus CAN (2020/2021Chapitre 3 - Protocole Bus CAN (2020/2021
Chapitre 3 - Protocole Bus CAN (2020/2021Tarik Zakaria Benmerar
 
Chapitre 2 - Protocole Modbus (2020/2021)
Chapitre 2 - Protocole Modbus (2020/2021)Chapitre 2 - Protocole Modbus (2020/2021)
Chapitre 2 - Protocole Modbus (2020/2021)Tarik Zakaria Benmerar
 

Plus de Tarik Zakaria Benmerar (20)

Videostreaming et visioconference pour le Web - Evènement GDSC USTHB Tech plus
Videostreaming et visioconference pour le Web - Evènement GDSC USTHB Tech plusVideostreaming et visioconference pour le Web - Evènement GDSC USTHB Tech plus
Videostreaming et visioconference pour le Web - Evènement GDSC USTHB Tech plus
 
Chapitre 8 - les entrées - sorties
Chapitre 8  - les entrées - sortiesChapitre 8  - les entrées - sorties
Chapitre 8 - les entrées - sorties
 
Cyber pink - Time Management
Cyber pink -  Time Management Cyber pink -  Time Management
Cyber pink - Time Management
 
Chapitre 6 - couche transport
Chapitre 6  - couche transportChapitre 6  - couche transport
Chapitre 6 - couche transport
 
Chapitre 5 - couche réseaux
Chapitre 5 - couche réseauxChapitre 5 - couche réseaux
Chapitre 5 - couche réseaux
 
Chapitre 4 - couche liaison
Chapitre 4 - couche liaisonChapitre 4 - couche liaison
Chapitre 4 - couche liaison
 
Chapitre 3 - connecteurs et câbles
Chapitre 3 -   connecteurs et câblesChapitre 3 -   connecteurs et câbles
Chapitre 3 - connecteurs et câbles
 
Chapitre 2 - Transmission
Chapitre 2  - TransmissionChapitre 2  - Transmission
Chapitre 2 - Transmission
 
Chapitre 1 - notions fondamentales
Chapitre 1 -  notions fondamentalesChapitre 1 -  notions fondamentales
Chapitre 1 - notions fondamentales
 
Chapitre 9 - les interruptions
Chapitre 9 -  les interruptionsChapitre 9 -  les interruptions
Chapitre 9 - les interruptions
 
Chapitre 7 - la pile
Chapitre 7 -  la pileChapitre 7 -  la pile
Chapitre 7 - la pile
 
Chapitre 5 - fichiers EXE-COM pour le dos
Chapitre 5 -  fichiers EXE-COM pour le dosChapitre 5 -  fichiers EXE-COM pour le dos
Chapitre 5 - fichiers EXE-COM pour le dos
 
Chapitre 4 - les instructions de saut et conditions
Chapitre 4  - les instructions de saut et conditionsChapitre 4  - les instructions de saut et conditions
Chapitre 4 - les instructions de saut et conditions
 
Chapitre 3 - échanges de données et opérations arithmétiques - binaires
Chapitre 3  - échanges de données et opérations arithmétiques - binairesChapitre 3  - échanges de données et opérations arithmétiques - binaires
Chapitre 3 - échanges de données et opérations arithmétiques - binaires
 
Chapitre 2.2 - architecture d'un microprocesseur - jeux d'instructions et reg...
Chapitre 2.2 - architecture d'un microprocesseur - jeux d'instructions et reg...Chapitre 2.2 - architecture d'un microprocesseur - jeux d'instructions et reg...
Chapitre 2.2 - architecture d'un microprocesseur - jeux d'instructions et reg...
 
Chapitre 2.1 - architecture d'un microprocesseur - bus et communication
Chapitre 2.1 -  architecture d'un microprocesseur - bus et communicationChapitre 2.1 -  architecture d'un microprocesseur - bus et communication
Chapitre 2.1 - architecture d'un microprocesseur - bus et communication
 
Chapitre 1 - représentation numérique des données
Chapitre 1  - représentation numérique des donnéesChapitre 1  - représentation numérique des données
Chapitre 1 - représentation numérique des données
 
Chapitre 3 - Protocole Bus CAN (2020/2021
Chapitre 3 - Protocole Bus CAN (2020/2021Chapitre 3 - Protocole Bus CAN (2020/2021
Chapitre 3 - Protocole Bus CAN (2020/2021
 
Chapitre 2 - Protocole Modbus (2020/2021)
Chapitre 2 - Protocole Modbus (2020/2021)Chapitre 2 - Protocole Modbus (2020/2021)
Chapitre 2 - Protocole Modbus (2020/2021)
 
Chapitre 4 - Réseaux Ethernet
Chapitre 4 - Réseaux EthernetChapitre 4 - Réseaux Ethernet
Chapitre 4 - Réseaux Ethernet
 

Chapitre 6 - les instructions de chaînes de caractères

  • 1. Les instructions de chaînes de caractères – Module Microprocesseur TARIK ZAKARIA BENMERAR, PHD DEPARTEMENT INSTRUMENTATION ET AUTOMATIQUE, USTHB
  • 2. Définition  Dans l’architecture X86, certaines instruction permettent un transfert ou une comparaison rapide de chaines de caractères.  La première est appelée : " chaîne source " et la seconde " chaîne destination ".  La chaîne source est toujours être pointée par le registre de segment DS.  La chaîne destination est toujours être pointée par le registre de segment ES.
  • 3. Direction des adresses dans les instructions des chaînes de caractères  La direction des adresses pour les instructions des chaînes de caractères dépends du flag D (DF).  L’instruction CLD met DF à 0. Les adresses sont incrémentées après chaque instruction des chaînes de caractères.  L’instruction STD met DF à 1. Les adresses sont décrémentées après chaque instruction des chaînes de caractères.
  • 4. Les instructions de transfert LODSB/LODSW LODSB LODSW AL ← [DS : SI], SI = SI ± 1 AX ← [DS : SI], SI = SI ± 2
  • 5. Les instructions de transfert LODSB/LODSW ORG 100h LEA SI, a1 MOV BL, 0 MOV CX, 3 m: LODSB ADD BL, AL LOOP m RET a1 DB 1, 2, 3
  • 6. Les instructions de comparaison STOSB/STOSW STOSB STOSW [ES : DI] ← AL, DI = DI ± 1 [ES : DI] ← AX, DI = DI ± 2
  • 7. Les instructions de transfert MOVSB/MOVSW MOVSB MOVSW [ES : DI] ← [DS : SI], SI = SI ± 1, DI = DI ± 1 [ES : DI] ← [DS : SI], SI = SI ± 2, DI = DI ± 2
  • 8. Les instructions de transfert MOVSB/MOVSW LEA si ,a1 LEA di, a2 MOVSB MOVSB MOVSB RET a1 DB 1,2,3 a2 DB 3 dup (0)
  • 9. Les comparaisons CMPSB/CMPSW CMPSB CMPSW Comparaison de [DS : SI] avec [ES : DI] ←, SI = SI ± 1, DI = DI ± 1 Comparaison de [DS : SI] avec [ES : DI] ←, SI = SI ± 2, DI = DI ± 2
  • 10. Les comparaisons SCASB/SCASW SCASB SCASW Comparaison de AL avec [ES : DI] ←, SI = SI ± 1, DI = DI ± 1 Comparaison de AX avec [ES : DI] ←, SI = SI ± 2, DI = DI ± 2
  • 11. Les instructions de répétition  Répète l'instruction présente comme opérande. Utilise CX comme compteur. E.g. REP MOVSB. REP
  • 12. Les instructions de répétition REPE  Répète l'instruction présente comme opérande. Utilise CX comme compteur, et la répétition s’arrête si [DS : SI] ≠ [ES : DI]. E.g. REPE MOVSB.
  • 13. Les instructions de répétition REPNE  Répète l'instruction présente comme opérande. Utilise CX comme compteur, et la répétition s’arrête si [DS : SI] = [ES : DI]. E.g. REPNE MOVSB.