Decompiler for MIPS assembly to C like pseudo-code.
Includes some simple recognition for common idioms and macros.
- MARS vs SPIM
- Mars assembler 4.4 is a lightweight interactive development environment (IDE) for programming in MIPS assembly language, intended for educational-level use with Patterson and Hennessy's Computer Organization and Design.
https://www.doc.ic.ac.uk/lab/secondyear/spim/spim.html
resources etc...
- https://www.assemblylanguagetuts.com/mips-assembly-data-types/
- https://stackoverflow.com/questions/34098596/assembly-files-difference-between-a-s-asm
- https://courses.cs.vt.edu/cs2506/Fall2014/Notes/L04.MIPSAssemblyOverview.pdf
- https://ecs-network.serv.pacific.edu/ecpe-170/tutorials/mips-instruction-set
- https://ecs-network.serv.pacific.edu/ecpe-170/tutorials/mips-example-programs
- https://stackoverflow.com/questions/33062405/why-do-we-use-globl-main-in-mips-assembly-language
- https://www.cs.swarthmore.edu/~newhall/cs75/s09/spim_mips_intro.html
- http://www2.engr.arizona.edu/~ece369/Resources/spim/MIPSReference.pdf
- https://www.assemblylanguagetuts.com/mips-multiplication-mul-mult-sll/
- http://courses.missouristate.edu/kenvollmar/mars/help/MarsHelpIntro.html
- https://www2.cs.duke.edu/courses/fall13/compsci250/MIPS32_QRC.pdf
- http://students.cs.tamu.edu/tanzir/csce350/reference/assembler_dir.html
- http://www.cs.jhu.edu/~cs333/reference.html
syscalls
- http://courses.missouristate.edu/kenvollmar/mars/help/syscallhelp.html
- https://www.assemblylanguagetuts.com/mips-syscall-services-table/
macros/pseudo-instructions
- https://courses.missouristate.edu/KenVollmar/MARS/Help/MacrosHelp.html
- https://github.com/MIPT-ILab/mipt-mips/wiki/MIPS-pseudo-instructions
- http://www.cs.jhu.edu/~phi/csf/slides/lecture-mips-functions.pdf
compiler idioms
- https://courses.cs.washington.edu/courses/cse378/03wi/lectures/mips-asm-examples.html
- http://www.tfinley.net/notes/cps104/mips.html
online compilers
https://chortle.ccsu.edu/AssemblyTutorial/Chapter-23/ass23_7.html http://www.cim.mcgill.ca/~langer/273/12-notes.pdf https://www.doc.ic.ac.uk/lab/secondyear/spim/node15.html https://courses.cs.washington.edu/courses/cse378/02au/Lectures/07controlI.pdf http://cs.brown.edu/courses/csci0310/content/lectures/L16.pdf http://www.divms.uiowa.edu/~ghosh/1-28-10.pdf
never forget multiples of 4 are probably ints while chars are 1 byte long...
http://www.dsi.unive.it/~gasparetto/materials/MIPS_Instruction_Set.pdf
almost all of the mini java programs don't have any commas between operands manually corrected programs: BinaryTree.asm Factorial.asm