Opérations sur les registres (avec jeu d'instructions nº 3)
Fonction :
Incrémenter de 1
Décrémenter de 1
Ajouter une constante
Soustraire une constante
Attribuer une valeur absolue,
= 1
Attribuer la valeur d'un autre
registre
Multiplier par une constante
Diviser par une constante
Addition avec un autre
registre
(R0.100 = R0.100 + R0.102)
Addition avec un autre
registre (et résultat dans
un troisième registre)
(R0.100 = R0.102 + R0.104)
Soustraire un autre registre
(R0.100 = R0.100 – R0.102)
Soustraire un autre registre
(et résultat dans
un troisième registre)
(R0.100 = R0.102 – R0.104)
Multiplier avec un autre
registre
(R0.100 = R0.100 * R0.102)
Multiplier avec un autre
registre (et résultat dans
un troisième registre)
(R0.100 = R0.102 * R0.104)
Diviser par un autre registre
(R0.100 = R0.100 / R0.102)
Diviser par un autre registre
(et résultat dans
un troisième registre)
(R0.100 = R0.102 / R0.104)
Remarque : il est impossible de mélanger R et DR dans
des attributions.
En cas de division par zéro, SM_DivByZero (SM_.12) est mis à 1, et le résultat est mis à zéro.
En cas de débordement, SM_Overflow (SM_.11) est mis à 1, et le résultat est mis soit à 32767
soit à -32768 en fonction du signe du débordement (pour DR: 2147483647 ou -2147483647).
SR_Remain (SR_.2) contient le reste de la division.
Syntaxe pour les
registres
(R0.100++)
(R0.100--)
(R0.100 += 77)
(R0.100 – = 77)
(R0.100 = 1)
(R0.100 = R0.102)
(R0.100 * = 2)
(R0.100 / = 2)
(R0.100 += R0.102)
ou
(R0.100=R0.100+R0.102)
(R0.100=R0.102+R0.104) (DR0.100=DR0.102+DR0.104)
(R0.100 – = R0.102)
ou
(R0.100=R0.100-R0.102)
(R0.100=R0.102-R0.104)
(R0.100 * = R0.102)
ou
(R0.100=R0.100*R0.102)
(R0.100=R0.102*R0.104) (DR0.100=DR0.102*DR0.104)
(R0.100 / = R0.102)
ou
(R0.100=R0.100/R0.102)
(R0.100=R0.102/R0.104)
112
Syntaxe pour les
registre doubles :
(DR0.100++)
(DR0.100--)
(DR0.100 += 77)
(DR0.100 – = 77)
(DR0.100 = 1)
(DR0.100 = DR0.102)
(DR0.100 * = 2)
(DR0.100 / = 2)
(OS ≥ 3.6)
(DR0.100 += DR0.102)
ou
(DR0.100=DR0.100+DR0.102)
(DR0.100 – = DR0.102)
ou
(DR0.100=DR0.100-DR0.102)
(DR0.100=DR0.102-DR0.104)
(DR0.100 * = DR0.102)
ou
(DR0.100=DR0.100*DR0.102)
(DR0.100 / = DR0.102)
or
(DR0.100=DR0.100/DR0.102)
(DR0.100=DR0.102/DR0.104)
(OS ≥ 3.6)
Ex: (DR0.100 * = R0.102)
2TLC172002M0314_F