Section courante

A propos

Section administrative du site

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