Assembleur SuperH | SWAP |
---|---|
SuperH | Swap Register Halves |
Syntaxe
SWAP.B Rm,Rn |
SWAP.W Rm,Rn |
Description
Cette instruction permet d'échanger la partie haute et la partie basse d'octets dans le registre générales de données et entrepose le résultat dans le registre spécifié.
Algorithme
MODULE SWAPB(m,n) * SWAP.B Rm,Rn temp0 ← R[m] ∩ FFFF0000h temp1 ← (R[m]∩ 000000FFh) << 8 R[n] ← (R[m] >> 8) ∩ 000000FFh R[n] ← R[n] U temp1 U temp0 PC ← PC + 2 MODULE SWAPW(m,n) * SWAP.W Rm,Rn temp ← (R[m] >> 16) ∩ 0000FFFFh R[n] ← R[m] << 16 R[n] ← R[n] U temp PC ← PC + 2 |
Mnémonique
Instruction | Abstrait | Opcode | Cycle |
---|---|---|---|
SWAP.B Rm,Rn | Rm → Échange la partie haute et la partie basse de 2 octets → Rn | 0110nnnnmmmm1000 | 1 |
SWAP.W Rm,Rn | Rm → Échange la partie haute et la partie basse d'un mot → Rn | 0110nnnnmmmm1001 | 1 |
Dernière mise à jour : Mardi, le 28 juillet 2015