15.6. Modifyer Plugins

You can implement modifiers the same way as macros (See the modifier chapter for an explanation for these). The interface looks like this:

public interface IModifier {
   public String getName();
   byte[] execute(List<IMemoryBlock> memoryBlocks, IValue[] parameters, IEngine engine);
}

The only difference from the macro interface is the list of memory blocks. These are the blocks defined inside the modify directive. The memory block objects contain the following functions:

Table 15.3. IMemoryBlock Interface

Method Description
int getStartAddress() The start address of the memory block.
byte[] getBytes() The assembled bytes of the memory block.