Section courante

A propos

Section administrative du site

Assembleur SuperH

BF/S

SuperH Branch if False with Delay Slot

Syntaxe

BF/S label

Description

Cette instruction permet d'effectuer une branchement conditionnel si le bit T vaut 0 en effectuant un délai de fente. Si T = 1, alors BF/S exécute l'instruction suivante. La destination du branchement est une adresse spécifiée par PC + déplacement. Cependant, dans ce cas, il est utilisé pour le calcul de l'adresse. Le PC est l'adresse 4 octets après cette instruction. Le déplacement à 8 bits à les signes étendue et est doublé. Par conséquent, l'intervalle relatif de la destination du branchement est compris entre -256 et +254 octets. Si le déplacement est trop court pour atteindre la destination du branchement, utilisez BF avec l'instruction BRA ou quelque chose de similaires.

Algorithme

MODULE BFS(d) * BF/S disp
   SI d ∩ 80h = 0 ALORS
      disp ← 000000FFh ∩ (long)d
   SINON
      disp ← FFFFFF00h U (long)d
   FIN SI
   SI T = 0 ALORS
      PC ← PC + (disp << 1)
      Delay_Slot(temp + 2)
   SINON
      PC ← PC + 2
   FIN SI

Remarque

Mnémonique

Instruction Abstrait Opcode Cycle
BF/S label Quand T = 0, PC ← disp × 2 + PC, Quand T = 1, nop 10001111dddddddd 2/1


Dernière mise à jour : Mardi, le 28 juillet 2015