# Class: com.pnfsoftware.jeb.core.units.code.asm.processor.AbstractInstruction

A skeleton implementation for [instruction](IInstruction)s.

## Constructor: AbstractInstruction
- parameter: `code`, type: `com.pnfsoftware.jeb.core.units.code.asm.processor.BytesBlock`
- parameter: `mnemonic`, type: `java.lang.String`
- parameter: `operands`, type: `T[]`
- parameter: `processorMode`, type: `int`

Description: Create an instruction.
parameter: code: instruction bytes
parameter: mnemonic: instruction mnemonic
parameter: operands: instruction operands
parameter: processorMode: processor mode

## Protected Field: operands
Type: `T[]`

## Protected Field: processorMode
Type: `int`

## Protected Method: buildNextEntryPoint
- parameter: `instructionAddress`, type: `long`
- return type: `com.pnfsoftware.jeb.core.units.code.CodePointer`


## Method: equals
- parameter: `obj`, type: `java.lang.Object`
- return type: `boolean`


## Method: format
- parameter: `context`, type: `java.lang.Object`
- return type: `java.lang.String`


## Method: getCode
- return type: `byte[]`


## Method: getCode
- parameter: `byteOrder`, type: `java.nio.ByteOrder`
- return type: `byte[]`

Description: Retrieve instruction bytes in the requested byte order.
parameter: byteOrder: requested byte order
return: instruction bytes

## Method: getCodeBlock
- return type: `com.pnfsoftware.jeb.core.units.code.asm.processor.BytesBlock`

Description: Retrieve the byte block backing this instruction.
return: byte block

## Method: getCountOfOperands
- return type: `int`


## Method: getInstructionFlags
- return type: `java.util.Set<com.pnfsoftware.jeb.core.units.code.InstructionFlags>`


## Method: getMnemonic
- return type: `java.lang.String`


## Method: getOperand
- parameter: `index`, type: `int`
- return type: `T`


## Method: getOperands
- return type: `T[]`


## Method: getPrefix
- return type: `java.lang.String`


## Method: getProcessorMode
- return type: `int`


## Method: getSize
- return type: `int`


## Method: hashCode
- return type: `int`


## Protected Method: isBreakingFlow
- parameter: `emulator`, type: `com.pnfsoftware.jeb.core.units.code.asm.simulator.IInsnEmulator<T>`
- return type: `boolean`


## Protected Method: isJump
- parameter: `emulator`, type: `com.pnfsoftware.jeb.core.units.code.asm.simulator.IInsnEmulator<T>`
- return type: `boolean`


## Protected Method: isRoutineCall
- parameter: `emulator`, type: `com.pnfsoftware.jeb.core.units.code.asm.simulator.IInsnEmulator<T>`
- return type: `boolean`


## Method: toString
- return type: `java.lang.String`


