flopz.arch.ppc.vle package

Submodules

flopz.arch.ppc.vle.auto_instructions module

class AutoLoadI(rD, imm)

Bases: flopz.arch.auto_instruction.AutoInstruction

Parameters
expand()
Return type

List[Instruction]

Returns

Regular instructions.

flopz.arch.ppc.vle.e200z0 module

class E200Z0

Bases: flopz.arch.ppc.ppc_generic_arch.PPCGenericArchitecture

flopz.arch.ppc.vle.instructions module

class ARxyaOperand(instruction, bitpos_start, bitpos_end)

Bases: flopz.arch.operands.Operand

Parameters
  • instruction (Instruction) –

  • bitpos_start (int) –

  • bitpos_end (int) –

class BD15Operand(instruction, bitpos_start, bitpos_end)

Bases: flopz.arch.operands.Operand

Parameters
  • instruction (Instruction) –

  • bitpos_start (int) –

  • bitpos_end (int) –

class BD24Operand(instruction, bitpos_start, bitpos_end)

Bases: flopz.arch.operands.Operand

Parameters
  • instruction (Instruction) –

  • bitpos_start (int) –

  • bitpos_end (int) –

class BD8Operand(instruction, bitpos_start, bitpos_end)

Bases: flopz.arch.operands.Operand

Parameters
  • instruction (Instruction) –

  • bitpos_start (int) –

  • bitpos_end (int) –

class Bo16FieldEncodings(value)

Bases: enum.IntEnum

An enumeration.

BranchIfConditionIsFalse = 0
BranchIfConditionIsTrue = 1
class CRMOperand(instruction, bitpos_start, bitpos_end)

Bases: flopz.arch.operands.Operand

Parameters
  • instruction (Instruction) –

  • bitpos_start (int) –

  • bitpos_end (int) –

class D16Operand(instruction, bitpos_start, bitpos_end)

Bases: flopz.arch.operands.Operand

Parameters
  • instruction (Instruction) –

  • bitpos_start (int) –

  • bitpos_end (int) –

class D8Operand(instruction, bitpos_start, bitpos_end)

Bases: flopz.arch.operands.Operand

Parameters
  • instruction (Instruction) –

  • bitpos_start (int) –

  • bitpos_end (int) –

class DualBitOperand(instruction, bitpos_start, bitpos_end)

Bases: flopz.arch.operands.Operand

Parameters
  • instruction (Instruction) –

  • bitpos_start (int) –

  • bitpos_end (int) –

class EAdd16i(rD, rA, SI)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class EAdd2i(rA, SI)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class EAdd2is(rA, SI)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class EAnd2i(rD, UI)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class EAndi_WithCR(rA, rS, UI)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class EB(bd24)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class EBc(bd15)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class EBe(bd15)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class EBgt(bd15)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class EBl(bd24)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class EBlt(bd15)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class EBne(bd15)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class ELi(rD, I20)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class ELis(rD, UI)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class ELmw(rD, rA, D)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class EMull2i(rA, SI)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class EStmw(rS, rA, D)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class EStw(rS, rA, D)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class I20Operand(instruction, bitpos_start, bitpos_end)

Bases: flopz.arch.operands.Operand

Parameters
  • instruction (Instruction) –

  • bitpos_start (int) –

  • bitpos_end (int) –

class Mfcr(rD)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class Mfspr(rD, spr)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class Mtcrf(CRM, rS)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class Mtspr(spr, rS)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class OIM5Operand(instruction, bitpos_start, bitpos_end)

Bases: flopz.arch.operands.Operand

Parameters
  • instruction (Instruction) –

  • bitpos_start (int) –

  • bitpos_end (int) –

class RdOperand(instruction, bitpos_start, bitpos_end)

Bases: flopz.arch.operands.Operand

Parameters
  • instruction (Instruction) –

  • bitpos_start (int) –

  • bitpos_end (int) –

class RxyaOperand(instruction, bitpos_start, bitpos_end)

Bases: flopz.arch.operands.Operand

Parameters
  • instruction (Instruction) –

  • bitpos_start (int) –

  • bitpos_end (int) –

class SD4LS1Operand(instruction, bitpos_start, bitpos_end)

Bases: flopz.arch.operands.Operand

Parameters
  • instruction (Instruction) –

  • bitpos_start (int) –

  • bitpos_end (int) –

class SD4LS2Operand(instruction, bitpos_start, bitpos_end)

Bases: flopz.arch.operands.Operand

Parameters
  • instruction (Instruction) –

  • bitpos_start (int) –

  • bitpos_end (int) –

class SD4Operand(instruction, bitpos_start, bitpos_end)

Bases: flopz.arch.operands.Operand

Parameters
  • instruction (Instruction) –

  • bitpos_start (int) –

  • bitpos_end (int) –

class SI16Operand(instruction, bitpos_start, bitpos_end)

Bases: flopz.arch.operands.Operand

Parameters
  • instruction (Instruction) –

  • bitpos_start (int) –

  • bitpos_end (int) –

class SIOperand(instruction, bitpos_start, bitpos_end)

Bases: flopz.arch.operands.Operand

Parameters
  • instruction (Instruction) –

  • bitpos_start (int) –

  • bitpos_end (int) –

class SPRNOperand(instruction, bitpos_start, bitpos_end)

Bases: flopz.arch.operands.Operand

Parameters
  • instruction (Instruction) –

  • bitpos_start (int) –

  • bitpos_end (int) –

class SeAdd(rX, rY)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class SeAddi(rX, oim5)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class SeAndi(rX, ui5)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class SeB(bd8)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class SeBctr

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class SeBctrl

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class SeBeq(bd8)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class SeBgt(bd8)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class SeBl(bd8)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class SeBlr

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class SeBlrl

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class SeBlt(bd8)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class SeBne(bd8)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class SeCmp(rX, rY)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class SeCmph(rX, rY)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class SeCmphl(rX, rY)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class SeCmpi(rX, oim5)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class SeCmpl(rX, rY)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class SeCmpli(rX, oim5)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class SeLbz(rZ, rX, sd4)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class SeLhz(rZ, rX, sd4)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class SeLi(rX, UI)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class SeLwz(rZ, rX, sd4)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class SeMfar(rX, arY)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class SeMfctr(rX)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class SeMflr(rX)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class SeMr(rX, rY)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class SeMtar(arX, rY)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class SeMtctr(rX)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class SeMtlr(rX)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class SeMullw(rX, rY)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class SeSlwi(rX, ui5)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class SeSrwi(rX, ui5)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class SeStb(rZ, rX, sd4)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class SeSth(rZ, rX, sd4)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class SeStw(rZ, rX, sd4)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class SeSub(rX, rY)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class SeSubf(rX, rY)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class SeSubi(rX, oim5)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

class SingleBitOperand(instruction, bitpos_start, bitpos_end)

Bases: flopz.arch.operands.Operand

Parameters
  • instruction (Instruction) –

  • bitpos_start (int) –

  • bitpos_end (int) –

class UI16Operand(instruction, bitpos_start, bitpos_end)

Bases: flopz.arch.operands.Operand

Parameters
  • instruction (Instruction) –

  • bitpos_start (int) –

  • bitpos_end (int) –

class UI5Operand(instruction, bitpos_start, bitpos_end)

Bases: flopz.arch.operands.Operand

Parameters
  • instruction (Instruction) –

  • bitpos_start (int) –

  • bitpos_end (int) –

class UI7Operand(instruction, bitpos_start, bitpos_end)

Bases: flopz.arch.operands.Operand

Parameters
  • instruction (Instruction) –

  • bitpos_start (int) –

  • bitpos_end (int) –

class UI8Operand(instruction, bitpos_start, bitpos_end)

Bases: flopz.arch.operands.Operand

Parameters
  • instruction (Instruction) –

  • bitpos_start (int) –

  • bitpos_end (int) –

class VleInstruction(form, spec, addr=0, bit_length=16, **kwargs)

Bases: flopz.arch.instruction.Instruction

Parameters
class VleInstructionForm

Bases: object

parse(instruction, spec)
Parameters
class VleInstructionFormBC

Bases: flopz.arch.ppc.vle.instructions.VleInstructionForm

parse(instruction, spec)
Parameters
class VleInstructionFormBD15

Bases: flopz.arch.ppc.vle.instructions.VleInstructionForm

parse(instruction, spec)
Parameters
class VleInstructionFormBD24

Bases: flopz.arch.ppc.vle.instructions.VleInstructionForm

parse(instruction, spec)
Parameters
class VleInstructionFormBD8

Bases: flopz.arch.ppc.vle.instructions.VleInstructionForm

parse(instruction, spec)
Parameters
class VleInstructionFormC

Bases: flopz.arch.ppc.vle.instructions.VleInstructionForm

parse(instruction, spec)
Parameters
class VleInstructionFormD

Bases: flopz.arch.ppc.vle.instructions.VleInstructionForm

parse(instruction, spec)
Parameters
class VleInstructionFormD16

Bases: flopz.arch.ppc.vle.instructions.VleInstructionForm

parse(instruction, spec)
Parameters
class VleInstructionFormD8

Bases: flopz.arch.ppc.vle.instructions.VleInstructionForm

parse(instruction, spec)
Parameters
class VleInstructionFormI16A

Bases: flopz.arch.ppc.vle.instructions.VleInstructionForm

parse(instruction, spec)
Parameters
class VleInstructionFormI16L

Bases: flopz.arch.ppc.vle.instructions.VleInstructionForm

parse(instruction, spec)
Parameters
class VleInstructionFormI20

Bases: flopz.arch.ppc.vle.instructions.VleInstructionForm

parse(instruction, spec)
Parameters
class VleInstructionFormIM5

Bases: flopz.arch.ppc.vle.instructions.VleInstructionForm

parse(instruction, spec)
Parameters
class VleInstructionFormIM7

Bases: flopz.arch.ppc.vle.instructions.VleInstructionForm

parse(instruction, spec)
Parameters
class VleInstructionFormOIM5

Bases: flopz.arch.ppc.vle.instructions.VleInstructionForm

parse(instruction, spec)
Parameters
class VleInstructionFormR

Bases: flopz.arch.ppc.vle.instructions.VleInstructionForm

parse(instruction, spec)
Parameters
class VleInstructionFormRR

Bases: flopz.arch.ppc.vle.instructions.VleInstructionForm

parse(instruction, spec)
Parameters
class VleInstructionFormSCI8

Bases: flopz.arch.ppc.vle.instructions.VleInstructionForm

parse(instruction, spec)
Parameters
class VleInstructionFormSD4

Bases: flopz.arch.ppc.vle.instructions.VleInstructionForm

parse(instruction, spec)
Parameters
class VleInstructionFormSD4_LS1

Bases: flopz.arch.ppc.vle.instructions.VleInstructionFormSD4

parse(instruction, spec)
Parameters
class VleInstructionFormSD4_LS2

Bases: flopz.arch.ppc.vle.instructions.VleInstructionFormSD4

parse(instruction, spec)
Parameters
class VleInstructionFormSeBC

Bases: flopz.arch.ppc.vle.instructions.VleInstructionForm

parse(instruction, spec)
Parameters
class VleInstructionFormX

Bases: flopz.arch.ppc.vle.instructions.VleInstructionForm

parse(instruction, spec)
Parameters
class VleInstructionFormXFX

Bases: flopz.arch.ppc.vle.instructions.VleInstructionForm

parse(instruction, spec)
Parameters
class VleInstructionFormXFX_CRM

Bases: flopz.arch.ppc.vle.instructions.VleInstructionForm

parse(instruction, spec)
Parameters
class Wrteei(E)

Bases: flopz.arch.ppc.vle.instructions.VleInstruction

flopz.arch.ppc.vle.registers module

flopz.arch.ppc.vle.vle module

class VleGpRegister(name, val, reg_type=None)

Bases: flopz.arch.register.Register

Parameters
  • name (str) –

  • val (int) –

  • reg_type (Optional[IntEnum]) –

class VleRegisterType(value)

Bases: enum.IntEnum

An enumeration.

CACHE = 5
DEBUG = 3
EXCEPTION_HANDLING_AND_CONTROL = 1
GENERAL_PURPOSE = 0
MEMORY_MANAGEMENT = 4
PROCESSOR_CONTROL = 2

Module contents