Creates a new code writer for generating MIPS machine code
written directly to memory at codeAddress.
Memory address to write generated code to.
Optionaloptions: MipsWriterOptionsOptions for customizing code generation.
Memory location of the first byte of output.
Memory location of the next byte of output.
Current offset in bytes.
Program counter at the next byte of output.
Eagerly cleans up memory.
Resolves label references and writes pending data to memory. You should always call this once you've finished generating code. It is usually also desirable to do this between pieces of unrelated code, e.g. when generating multiple functions in one go.
Puts an ADDI instruction.
Puts an ADDU instruction.
Puts a BEQ instruction referencing labelId, defined by a past
or future putLabel().
Puts a B instruction.
Puts a BREAK instruction.
Puts code needed for calling a C function with the specified args.
Puts code needed for calling a C function with the specified args.
Puts a DSLL instruction.
Puts a raw instruction.
Puts a JAL instruction.
Puts a J instruction referencing labelId, defined by a past
or future putLabel().
Puts a label at the current position, where id is an identifier
that may be referenced in past and future put*Label() calls.
Puts an LD instruction.
Puts a LW instruction.
Puts a NOP instruction.
Puts a minimal sized trampoline for vectoring to the given address.
Puts a RET instruction.
Puts a SW instruction.
Recycles instance.
Optionaloptions: MipsWriterOptionsSkips nBytes.
Generates machine code for mips.