MForever78 / CamelusMips

A Mips simulator

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CamelusMips build_status

Camel

Yet Another MIPS Emulator.

Instructions Supported

  • R-type: addu, add, subu, sub, and, or, xor, nor, sltu, slt, sllv, srlv, srav, jr, sll, srl, sra
  • I-type: addiu, addi, andi, ori, xori, lui, lw, sw, beq, bne, sltiu, slti
  • J-type: j, jal

Derectives Supported

  • .data [addr]: Declare the begining of the data area
  • .text [addr]: Declare the begining of the text(regular assembly) area
  • .ascii <str>: Define a string
  • .asciiz <str>: Define a string with zero ended
  • .byte <data>: Define a byte
  • .half <data>: Define a half word
  • .word <data>: Define a word

Road Map

  • Assembler
    • Basic intructions
    • Advanced intructions
    • Directives
  • Disassembler
  • Exporter
    • Export to Xilinx coe file, ASCII hex, ASCII bin, and binary file
  • MIPS CPU core
    • Interrupt
    • Exception
  • Basic GUI
  • Peripheral
    • VGA
    • Timer
    • PS2 keyboard
    • Serial port
    • Ethernet
  • Advanced GUI
  • Command line tools

Commandline Usage

$ ./CamelusMips [-d] [-f filepath] [-h]
Supported options:
  -d [ --debug ]        Enable debug mode
  -f [ --file ] arg     Assign assembly file
  -h [ --help ]         This help message

About

A Mips simulator

License:MIT License


Languages

Language:C++ 100.0%