15. arm instruction conditionelle Flashcards

1
Q

comment résoudre ce problème :

But: comparer deux nombres placés dans R1 et R2
* Si R1 > R2, mettre R3 dans R0
* Sinon, mettre R4 dans R0

3 choses nécessaires

A
  1. Une instruction pour comparer R1 et R2
  2. Un endroit pour stocker le résultat de la comparaison
  3. Des instructions conditionnelles, activées seulement si la
    comparaison répond à certains critères
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Le registre d’état (CPSR) décrit

A

l’état du processeur

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

à quoi servent les flags

A

stocker
de l’information additionnelle sur
les opérations arithmétiques
effectuées par l’ALU.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

combien de flag et leur nom

A

4

Dépassement (overflow) #28
Retenue (carry/borrow) #29
Valeur nulle (zero) #30
Nombre négatif (negative) #31

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

4 types de détections de conditions dans cpsr

A

N: Détection de signe négatif

  • Z: Détection de zéro
  • C: Détection de retenue (carry) ou d’emprunt (borrow)
  • V: Détection de débordements (overflow)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

comment fonctionne N dans CPSR

A

Détection de signe négatif
* 1 si résultat < 0, 0 autrement

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

comment fonctionne Z dans CPSR

A

Z: Détection de zéro
* 1 si résultat = 0, 0 autrement
* Souvent utilisé pour détecter les égalités

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

comment fonctionne C dans CPSR

A

C: Détection de retenue (carry) ou d’emprunt (borrow)
* 1 si l’opération a impliqué une retenue, 0 autrement
* Ex. retenue d’addition de nombres positifs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

comment fonctionne V dans CPSR

A

V: Détection de débordements (overflow)
* 1 si l’opération a impliqué un débordement, 0 autrement
* Ex. débordement signé lors d’une addition

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

L’instruction — compare deux nombres, et
modifie les drapeaux de l’ALU

A

L’instruction CMP compare deux nombres, et
modifie les drapeaux de l’ALU

CMP R1, R2 ; calcule R1 - R2, change les drapeaux

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Les instructions arithmétiques et logiques
modifient les drapeaux de l’ALU lorsque la lettre —
est rajoutée après le nom de l’instruction

A

Les instructions arithmétiques et logiques

INSTRUCTION Rd, Rs, Op
; exécute l’instruction

modifient les drapeaux de l’ALU lorsque la lettre —
est rajoutée après le nom de l’instruction

INSTRUCTIONS Rd, Rs, Op
; exécute l’instruction et met à jour les drapeaux

ex
SUBS R0, R1, R2 ; R0 ⃪ R1 - R2
; et met à jour les drapeaux

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

L’instruction
met l’opérande —- dans le registre —, si la
condition — est vraie

A

L’instruction

MOVcc Rd, Op

met l’opérande Op dans le registre Rd, si la
condition cc est vraie

Exemple:
MOVEQ R3, R1
; R3 ⃪ R1 seulement si le drapeau Z est 1
ADDNE R2, R2, R1
; R2 ⃪ R2 + R1 seulement si le drapeau Z est 0

How well did you know this?
1
Not at all
2
3
4
5
Perfectly