Similar to the internal EEPROM opcodes, we will need
ways to modify at least part of the internal flash
memory, say the top 4 KB of the 16F877(A). Basically
this calls for a read and a write instruction. Apart from
these, the run routine from internal EEPROM call should
be extended to also allow running code from the internal
flash memory in the same way, and extend it in such a
way that assembly level routines can be called as well.
Note that the latter would require storing 14-bit values,
and the former only needs 8-bit values. Basically most
of this could be controlled using the 16-bit mode field,
but this might not be transparant to the user.