MARS(MIPS汇编程序和运行时模拟器)

MARS(MIPS汇编程序和运行时模拟器)

An IDE for MIPS Assembly Language Programming

简介

  官网上的说明: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.(MARS是一个轻量级的交互式开发环境(IDE),用于使用MIPS汇编语言进行编程,旨在与Patterson和Hennessy的计算机组织和设计一起用于教育级别。)
  目前最新版本为MARS 4_5
  是一个4MB左右的.Jar可执行文件,需要使用Java环境,如果有Java运行环境(JRE)可直接使用,否则应先下载JRE或JDK https://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html

下载

  1. 百度搜索MARS MIPS simulator或者直接输入 http://courses.missouristate.edu/kenvollmar/mars/ 访问官网
  2. 点击下载最新版
    下载MARS

创建开始菜单快捷方式

  因为MARS是.jar文件,所以不能直接固定到“开始”屏幕,需要进行一些处理:

  1. 创建Mars4_5.jar的快捷方式
    创建Mars4_5.jar的快捷方式
  2. 将快捷方式移动到开始菜单目录
    C:\Users\ XXX(实际的账户名称) \AppData\Roaming\Microsoft\Windows\Start Menu
    将快捷方式移动到开始菜单目录
  3. 在开始菜单搜索Mars,并右键选择 固定到“开始”屏幕
    在开始菜单搜索Mars,并右键选择 固定到“开始”屏幕

使用入门

Mars功能强大,具有代码提示,模拟运行,调试,统计等功能

  1. 界面简介
    界面简介
  2. 运行方法
    运行方法

示例1

#include <stdio.h>
int main(void)
{
    int r, x;
    x = 2;
    r = x + 3;
    printf("%d", r);
    return 0;
}

我们将上面的C语言代码转成mips汇编指令

  1. x = 2;
    #将t1寄存器的值置为2
    li $t1, 2
    
  2. r = x + 3;
    #将 t1寄存器中的数据加3,存到t0中 (t0 = t1 + 3)
    add $t0, $t1, 3
    
  3. printf("%d", r);
    $v0 = 1, syscall -> print_int
    $v0 = 4, syscall -> print_string,
    #将t0寄存器的值放到a0寄存器中
    move $a0, $t0
    #将v0寄存器的值置为1
    li $v0, 1
    #系统调用
    syscall 
    

完整转换的mips指令

#将t1寄存器的值置为2
li $t1, 2
#将 t1寄存器中的数据加3,存到t0中 (t0 = t1 + 3)
add $t0, $t1, 3
#将t0寄存器的值放到a0寄存器中
move $a0, $t0
#将v0寄存器的值置为1
li $v0, 1
#系统调用
syscall 

运行示例1:
在这里插入图片描述

发布了118 篇原创文章 · 获赞 479 · 访问量 21万+

猜你喜欢

转载自blog.csdn.net/y_universe/article/details/82875244