Package envi :: Package archs :: Package arm :: Module thumb
[hide private]
[frames] | no frames]

Module thumb

source code

Classes [hide private]
  simpleops
  ThumbOpcode
Functions [hide private]
 
shmaskval(value, shval, mask) source code
 
d1_rm4_rd3(va, value) source code
 
rm_rn_rt(va, value) source code
 
imm5_rn_rt(va, value) source code
 
rd_sp_imm8(va, value) source code
 
rd_pc_imm8(va, value) source code
 
rt_pc_imm8(va, value) source code
 
ldmia(va, value) source code
 
sp_sp_imm7(va, value) source code
 
rm_reglist(va, value) source code
 
is_thumb32(val)
Take a 16 bit integer (opcode) value and determine if it is really the first 16 bits of a 32 bit instruction.
source code
Variables [hide private]
  thumb_32 = [29, 30, 31]
  O_REG = 0
  O_IMM = 1
  imm5_rm_rd = simpleops((O_REG, 0, 0x7), (O_REG, 3, 0x7), (O_IM...
  rm_rn_rd = simpleops((O_REG, 0, 0x7), (O_REG, 3, 0x7), (O_REG,...
  imm3_rn_rd = simpleops((O_REG, 0, 0x7), (O_REG, 3, 0x7), (O_IM...
  imm8_rd = simpleops((O_REG, 8, 0x7), (O_IMM, 0, 0xff))
  rm_rd = simpleops((O_REG, 0, 0x7), (O_REG, 3, 0x7))
  rn_rdm = simpleops((O_REG, 0, 0x7), (O_REG, 3, 0x7))
  rm_rdn = simpleops((O_REG, 0, 0x7), (O_REG, 3, 0x7))
  rm_rd_imm0 = simpleops((O_REG, 0, 0x7), (O_REG, 3, 0x7), (O_IM...
  rm4_shift3 = simpleops((O_REG, 3, 0xf))
  imm8 = simpleops((O_IMM, 8, 0xff))
  imm11 = simpleops((O_IMM, 11, 0x7ff))
  sh4_imm1 = simpleops((O_IMM, 3, 0x1))
  thumb_table = [('00000', ('lsl', <envi.archs.arm.thumb.simpleo...
  ttree = e_btree.BinaryTree()
  thumb32mask = 31
  thumb32min = 28
  __package__ = 'envi.archs.arm'
  binstr = '11111'
  opinfo = ('blx', <envi.archs.arm.thumb.simpleops instance at 0...
Variables Details [hide private]

imm5_rm_rd

Value:
simpleops((O_REG, 0, 0x7), (O_REG, 3, 0x7), (O_IMM, 6, 0x1f))

rm_rn_rd

Value:
simpleops((O_REG, 0, 0x7), (O_REG, 3, 0x7), (O_REG, 6, 0x7))

imm3_rn_rd

Value:
simpleops((O_REG, 0, 0x7), (O_REG, 3, 0x7), (O_IMM, 6, 0x7))

rm_rd_imm0

Value:
simpleops((O_REG, 0, 0x7), (O_REG, 3, 0x7), (O_IMM, 0, 0))

thumb_table

Value:
[('00000',
  ('lsl', <envi.archs.arm.thumb.simpleops instance at 0x2b758c0>, 0)),
 ('00001',
  ('lsr', <envi.archs.arm.thumb.simpleops instance at 0x2b758c0>, 0)),
 ('00010',
  ('asr', <envi.archs.arm.thumb.simpleops instance at 0x2b758c0>, 0)),
 ('0001100',
  ('add', <envi.archs.arm.thumb.simpleops instance at 0x2b75908>, 0)),
...

opinfo

Value:
('blx', <envi.archs.arm.thumb.simpleops instance at 0x2b75bd8>, 0)