Exemplo n.º 1
0
 def from_bitarray(instr, processor):
     imm8 = substring(instr, 7, 0)
     imm3 = substring(instr, 14, 12)
     rn = substring(instr, 19, 16)
     i = bit_at(instr, 26)
     imm32 = thumb_expand_imm(chain(i, chain(imm3, imm8, 8), 11))
     if rn == 15:
         print('unpredictable')
     else:
         return CmpImmediateT2(instr, n=rn, imm32=imm32)
Exemplo n.º 2
0
 def from_bitarray(instr, processor):
     imm8 = substring(instr, 7, 0)
     rd = substring(instr, 11, 8)
     imm3 = substring(instr, 14, 12)
     setflags = bit_at(instr, 20)
     i = bit_at(instr, 26)
     imm32 = thumb_expand_imm(chain(i, chain(imm3, imm8, 8), 11))
     if rd == 15 and not setflags:
         print('unpredictable')
     else:
         return SubSpMinusImmediateT2(instr, setflags=setflags, d=rd, imm32=imm32)
Exemplo n.º 3
0
 def from_bitarray(instr, processor):
     imm8 = substring(instr, 7, 0)
     rd = substring(instr, 11, 8)
     imm3 = substring(instr, 14, 12)
     rn = substring(instr, 19, 16)
     setflags = bit_at(instr, 20)
     i = bit_at(instr, 26)
     imm32 = thumb_expand_imm(chain(i, chain(imm3, imm8, 8), 11))
     if rd in (13, 15) or rn in (13, 15):
         print('unpredictable')
     else:
         return SbcImmediateT1(instr, setflags=setflags, d=rd, n=rn, imm32=imm32)