Accueil
Démo
Exercices formatifs
Travaux pratiques
Simulation libre
Sessions sauvegardées

Chaînes de caractères

Écrivons un programme pour comparer des éléments de deux chaînes de caractères.

Questions et réponses:

  • Pour lire le caractère suivant dans la chaîne, il faudrait incrémenter R0 de combien? 1 octet (chaque caractère occupe 1 octet en ASCII).

Registre Généraux (User)

Nom Valeur
R0
R1
R2
R3
R4
R5
R6
R7
R8
R9
R10
R11
R12
R13 (sp)
R14 (lr)
R15 (pc)

Registre Généraux (FIQ)

Nom Valeur
R0
R1
R2
R3
R4
R5
R6
R7
R8 FIQ
R9 FIQ
R10 FIQ
R11 FIQ
R12 FIQ
R13 FIQ (sp)
R14 FIQ (lr)
R15 (pc)

Registre Généraux (IRQ)

Nom Valeur
R0
R1
R2
R3
R4
R5
R6
R7
R8
R9
R10
R11
R12
R13 IRQ (sp)
R14 IRQ (lr)
R15 (pc)

Registre Généraux (SVC)

Nom Valeur
R0
R1
R2
R3
R4
R5
R6
R7
R8
R9
R10
R11
R12
R13 SVC (sp)
R14 SVC (lr)
R15 (pc)

État courant

 CPSRSPSR
Negatif (N)
Zero (Z)
Retenue (C)
Dépassement (V)
Ignore IRQ
Ignore FIQ

Configurations

Interruptions

Activer
Type
 cycles
 cycles (premier)
Vitesse d'exécution :  ms

Français

SECTION INTVEC B main SECTION CODE main ; Chargeons l'adresse de chA LDR R0, =chA ; Si l'on tente de charger le premier caractère avec LDR, on charge 32 bits! ; Ce qui correspond aux _4_ premiers caractères... LDR R1, [R0] ; Pour charger un caractère à la fois, on peut utiliser LDRB (LDR Byte), ; ce qui charge un seul octet (byte). LDRB R1, [R0] ; Question: Pour lire le caractère suivant dans la chaîne, il faudrait ; incrémenter R0 de combien? LDRB R1, [R0, #1] ; Est-ce que les deux chaînes sont bien équivalentes? ; Comparons le deuxième caractère par exemple (à vous de comparer les autres) LDR R3, =chB LDRB R2, [R3, #1] ; R3 (2e caractère de chB) est bel et bien égal à R1 (2e caractère de chA) fin B fin SECTION DATA ; Définissons une chaîne binaire chA ASSIGN8 "Hello", 0 ; Définissons la même chaîne de caractères, en code binaire ASCII cette fois chB ASSIGN8 0x48, 0x65, 0x6C, 0x6C, 0x6F, 0x00

Instruction courante

Mémoire

Suivre PC
Cycle courant :