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

Soustraction modifiée

Soient les registre R0 et R1. Écrivez un programme qui:

  1. si R1 est négatif, place le résultat de R0 + R1 dans R2;
  2. si R1 est positif, place le résultat de R0 - R1 dans R2;
  3. si R1 est égal à 0, place R0 dans R2.

Pour cet exercice, n'utilisez pas de branchement (l'instruction B).

SECTION INTVEC

B main

SECTION CODE

main
CMP R1, #0x00
ADDLT R2, R0, R1
SUBGT R2, R0, R1
MOVEQ R2, R0

fin
B fin

SECTION DATA

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 SECTION DATA

Instruction courante

Mémoire

Suivre PC
Cycle courant :