SlideShare une entreprise Scribd logo
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

Introduction aux réseaux locaux
 Introduction aux réseaux locaux Introduction aux réseaux locaux
Introduction aux réseaux locaux
Ines Kechiche
 
Cours Info1- ST/SM/MI : introduction à l'informatique
Cours Info1- ST/SM/MI : introduction  à l'informatiqueCours Info1- ST/SM/MI : introduction  à l'informatique
Cours Info1- ST/SM/MI : introduction à l'informatique
linuxscout
 
Admin linux utilisateurs_et_groupes cours 1
Admin linux utilisateurs_et_groupes cours 1Admin linux utilisateurs_et_groupes cours 1
Admin linux utilisateurs_et_groupes cours 1
Mehdi Bouihi
 
Compte rendu tp automatique 1
Compte rendu tp automatique 1Compte rendu tp automatique 1
Compte rendu tp automatique 1
hamdinho
 
Logistique Internationale
Logistique InternationaleLogistique Internationale
Logistique Internationale
Hanae Guenouni
 
Introduction_Reseau.ppt
Introduction_Reseau.pptIntroduction_Reseau.ppt
Introduction_Reseau.ppt
AmalHadri2
 
Logistique du commerce au Maroc
Logistique du commerce au Maroc Logistique du commerce au Maroc
Logistique du commerce au Maroc
Badr Banar
 
Commerce international
Commerce internationalCommerce international
Commerce international
Zouhair Aitelhaj
 
Cours des bases de données
Cours des bases de données Cours des bases de données
Cours des bases de données
yassine kchiri
 
Telecharger Exercices corrigés sqlplus
Telecharger Exercices corrigés sqlplusTelecharger Exercices corrigés sqlplus
Telecharger Exercices corrigés sqlplus
webreaker
 
Transport logistique et tic
Transport logistique et ticTransport logistique et tic
Transport logistique et tic
Professeur Falloul
 
Parties au contrat
Parties au contratParties au contrat
Parties au contrat
Rabah HELAL
 
Codes Convolutifs
Codes ConvolutifsCodes Convolutifs
Codes Convolutifs
Anouar Loukili
 
Le transport maritime (Exposé)
Le transport maritime (Exposé)Le transport maritime (Exposé)
Le transport maritime (Exposé)
RAMZI EL IDRISSI
 
Clauses et négociations des contrats commerciaux
Clauses et négociations des contrats commerciaux  Clauses et négociations des contrats commerciaux
Clauses et négociations des contrats commerciaux
Prof. Jacques Folon (Ph.D)
 
Poly semiologie-cardiologique
Poly semiologie-cardiologiquePoly semiologie-cardiologique
Poly semiologie-cardiologique
Egn Njeba
 
Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...
Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...
Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...
ATPENSC-Group
 
Anapath
AnapathAnapath
Anapath
imma-dr
 
Comptabilité des sociétés au maroc
Comptabilité des sociétés  au marocComptabilité des sociétés  au maroc
Comptabilité des sociétés au maroc
Latifa El Omri
 

Tendances (20)

Introduction aux réseaux locaux
 Introduction aux réseaux locaux Introduction aux réseaux locaux
Introduction aux réseaux locaux
 
Cours Info1- ST/SM/MI : introduction à l'informatique
Cours Info1- ST/SM/MI : introduction  à l'informatiqueCours Info1- ST/SM/MI : introduction  à l'informatique
Cours Info1- ST/SM/MI : introduction à l'informatique
 
Admin linux utilisateurs_et_groupes cours 1
Admin linux utilisateurs_et_groupes cours 1Admin linux utilisateurs_et_groupes cours 1
Admin linux utilisateurs_et_groupes cours 1
 
Compte rendu tp automatique 1
Compte rendu tp automatique 1Compte rendu tp automatique 1
Compte rendu tp automatique 1
 
Logistique Internationale
Logistique InternationaleLogistique Internationale
Logistique Internationale
 
Introduction_Reseau.ppt
Introduction_Reseau.pptIntroduction_Reseau.ppt
Introduction_Reseau.ppt
 
Logistique du commerce au Maroc
Logistique du commerce au Maroc Logistique du commerce au Maroc
Logistique du commerce au Maroc
 
Convolutif
ConvolutifConvolutif
Convolutif
 
Commerce international
Commerce internationalCommerce international
Commerce international
 
Cours des bases de données
Cours des bases de données Cours des bases de données
Cours des bases de données
 
Telecharger Exercices corrigés sqlplus
Telecharger Exercices corrigés sqlplusTelecharger Exercices corrigés sqlplus
Telecharger Exercices corrigés sqlplus
 
Transport logistique et tic
Transport logistique et ticTransport logistique et tic
Transport logistique et tic
 
Parties au contrat
Parties au contratParties au contrat
Parties au contrat
 
Codes Convolutifs
Codes ConvolutifsCodes Convolutifs
Codes Convolutifs
 
Le transport maritime (Exposé)
Le transport maritime (Exposé)Le transport maritime (Exposé)
Le transport maritime (Exposé)
 
Clauses et négociations des contrats commerciaux
Clauses et négociations des contrats commerciaux  Clauses et négociations des contrats commerciaux
Clauses et négociations des contrats commerciaux
 
Poly semiologie-cardiologique
Poly semiologie-cardiologiquePoly semiologie-cardiologique
Poly semiologie-cardiologique
 
Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...
Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...
Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...
 
Anapath
AnapathAnapath
Anapath
 
Comptabilité des sociétés au maroc
Comptabilité des sociétés  au marocComptabilité des sociétés  au maroc
Comptabilité des sociétés au maroc
 

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 plus
Tarik Zakaria Benmerar
 
Chapitre 8 - les entrées - sorties
Chapitre 8  - les entrées - sortiesChapitre 8  - les entrées - sorties
Chapitre 8 - les entrées - sorties
Tarik Zakaria Benmerar
 
Cyber pink - Time Management
Cyber pink -  Time Management Cyber pink -  Time Management
Cyber pink - Time Management
Tarik Zakaria Benmerar
 
Chapitre 6 - couche transport
Chapitre 6  - couche transportChapitre 6  - couche transport
Chapitre 6 - couche transport
Tarik Zakaria Benmerar
 
Chapitre 5 - couche réseaux
Chapitre 5 - couche réseauxChapitre 5 - couche réseaux
Chapitre 5 - couche réseaux
Tarik Zakaria Benmerar
 
Chapitre 4 - couche liaison
Chapitre 4 - couche liaisonChapitre 4 - couche liaison
Chapitre 4 - couche liaison
Tarik Zakaria Benmerar
 
Chapitre 3 - connecteurs et câbles
Chapitre 3 -   connecteurs et câblesChapitre 3 -   connecteurs et câbles
Chapitre 3 - connecteurs et câbles
Tarik Zakaria Benmerar
 
Chapitre 2 - Transmission
Chapitre 2  - TransmissionChapitre 2  - Transmission
Chapitre 2 - Transmission
Tarik Zakaria Benmerar
 
Chapitre 1 - notions fondamentales
Chapitre 1 -  notions fondamentalesChapitre 1 -  notions fondamentales
Chapitre 1 - notions fondamentales
Tarik Zakaria Benmerar
 
Chapitre 9 - les interruptions
Chapitre 9 -  les interruptionsChapitre 9 -  les interruptions
Chapitre 9 - les interruptions
Tarik Zakaria Benmerar
 
Chapitre 7 - la pile
Chapitre 7 -  la pileChapitre 7 -  la pile
Chapitre 7 - la pile
Tarik 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 dos
Tarik 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 conditions
Tarik 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 - binaires
Tarik 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 communication
Tarik 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ées
Tarik 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/2021
Tarik 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
 
Chapitre 4 - Réseaux Ethernet
Chapitre 4 - Réseaux EthernetChapitre 4 - Réseaux Ethernet
Chapitre 4 - Réseaux Ethernet
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.