Описание тега mars-simulator

MARS is a IDE and Simulator for programming in MIPS assembly language, created at the Missouri State University.

Quoting from its homepage:

MARS 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.

System call information:

MARS simulates a number of operating system-level functions for console I/O (e.g. print integer, print string, read string), file I/O (e.g. open file, read from file), dynamic memory allocation (sbrk), random number generation, etc.
These functions are invoked by setting up the CPU registers according to the MARS system call documentation and then executing a syscall instruction.

Branch delay slots:

Quoting from MIPS32™ Architecture For Programmers Volume I: Introduction to the MIPS32™ Architecture":

All branches have an architectural delay of one instruction. The instruction immediately following a branch is said to be in the branch delay slot.

In English: The instruction directly following a branch (jump) instruction will be executed before execution continues at the address you're branching to.
When writing MIPS assembly langauge code, care needs to be taken to fill the branch delay slots, either with NOPs, or with more meaningful instructions by changing the order or some instructions. Note, however, that MARS doesn't simulate branch delay slots by default. They can be enabled in the Settings menu if that is desirable.