Section courante

A propos

Section administrative du site

Assembleur SuperH

TST

SuperH Test Logical

Syntaxe

TST Rm,Rn
TST #imm,R0
TST.B #imm, @(R0,GBR)

Description

Cette instruction permet d'effectuer un «Et binaire logique» du contenu d'un registre général avec un autre registre général et fixe le bit T à 1 si le résultat est 0 sinon le bit T vaut 0 si le résultat n'est pas 0.

Algorithme

MODULE TST(m,n) * TST Rm,Rn
   SI R[n] ∩ R[m] = 0 ALORS
      T ← 1
   SINON
      T ← 0
   FIN SI
   PC ← PC + 2

MODULE TSTI(i) * TEST #imm,R0
   temp ← R[0] ∩ (000000FFh ∩ (long)i)
   SI temp = 0 ALORS
      T ← 1
   SINON
      T ← 0
   FIN SI
   PC ← PC + 2

MODULE TSTM(i) * TST.B #imm,@(R0,GBR)
   temp ← (long)Read_Byte(GBR + R[0])
   temp ← temp ∩ (000000FFh ∩ (long)i)
   SI temp = 0 ALORS
      T ← 1
   SINON
      T ← 0
   FIN SI
   PC ← PC + 2

Mnémonique

Instruction Abstrait Opcode Cycle
TST Rm,Rn Rn ∩ Rm, quand le résultat est 0, T ← 1 0010nnnnmmmm1000 1
TST #imm,R0 R0 ∩ imm, quand le résultat est 0, T ← 1 11001000iiiiiiii 1
TST.B #imm,@(R0,GBR) (R0 + GBR) ∩ imm, quand le résultat est 0, T ← 1 11001100iiiiiiii 3


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