Section courante

A propos

Section administrative du site

ADR

Adresse
ARM

Syntaxe

ADR {cond}{.W} register,expression

Paramètres

Nom Description
cond Ce paramètre optionnel permet d'indiquer le code de condition
.W Ce paramètre optionnel permet d'indiquer la largeur de l'instruction
register Ce paramètre permet d'indiquer l'opérande recevant le résultat. L'opérande ne peut pas être PC et il peut seulement être SP si le registre de base est SP.
expression Ce paramètre permet d'indiquer une expression de programme relatif ou d'un registre relatif évalué avec une fausse adresse de mot aligné sur 255 octets ou une adresse de mot aligné sur 1020 octets.

Description

Cette instruction permet d'effectuer le chargement d'adresse de programme relatif ou de registre relatif dans un registre.

Algorithme

registerexpression

Remarques

Exemple

L'exemple suivant permet de calculer une adresse relative au compteur de programme (PC) et la stocker dans un registre. Voici donc un exemple d'utilisation classique de ADR en assembleur ARM :

  1.     .section .data
  2. message:
  3.     .asciz "Bonjour, ARM!"
  4.  
  5.     .section .text
  6.     .global _start
  7.  
  8. _start:
  9.     ADR  x0, message     @ Charge l'adresse de 'message' dans x0
  10.     MOV  x1, #13        @ Taille du message
  11.     MOV  x2, #1         @ Descripteur de fichier (1 = sortie standard)
  12.     MOV  x8, #64        @ Code système pour 'write' (sys_write)
  13.     SVC  0               @ Appel système pour écrire
  14.  
  15.     MOV  x8, #93        @ Code système pour 'exit' (sys_exit)
  16.     MOV  x0, #0         @ Code de retour 0
  17.     SVC  0               @ Appel système pour quitter


Dernière mise à jour : Mardi, le 6 décembre 2016