Crate mipsasm

source ·
Expand description

Mipsasm

A MIPS assembler/disassembler specifically targeting the N64.

Features

  • Full support for the MIPS R4300i instruction set
  • Supports many psuedo-instructions for common operations
  • o32 ABI GPR and FPR register names
  • Coprocessor 0 register names
  • Fully-featured CLI

Example

use mipsasm::Mipsasm;

let asm = "add $a0, $a1, $a2";
let bin = Mipsasm::new().base(0x80000000).assemble(asm)?;
assert_eq!(bin, vec![0x00a62020]);

let insts = Mipsasm::new().base(0x80000000).disassemble(&bin);
assert_eq!(insts, vec!["add        $a0, $a1, $a2"]);

Macros

Structs

An instance of the assembler/disassembler

Enums