Nous voyons dans l'exemple précédent, deux types d'opérandes :
-
nb1 et res sont des étiquettes . Elles désignent de façon symbolique des adresses mémoire .
-
$5 est une constante entière , en base décimale. On pourra écrire par exemple $0b010101 pour exprimer la valeur d'une constante en base binaire et $0x9ABC01 pour la base hexadécimale (base 16).
-
al est un registre .
Pour distinguer un registre d'une étiquette, nous les faisons précéder par un signe « % ».
Les registres sont des emplacements de mémoire internes au processeur. Les opérations arithmétiques ne peuvent être réalisées directement sur des emplacements en mémoire externe.
Dans l'exemple précédent, il aurait été plus simple d'écrire une seule instruction « addb nb1, 5, res » réalisant la même opération. Malheureusement, les microprocesseurs de la famille 80x86 ne permettent pas ce type d'opérations à trois opérandes distinctes.