Coder Social home page Coder Social logo

gzachos / mars-stack-visualizer Goto Github PK

View Code? Open in Web Editor NEW
4.0 3.0 0.0 8.99 MB

MARS Tool for Visualizing Stack Modification Operations

Java 93.90% Batchfile 0.01% HTML 5.58% Assembly 0.48% Shell 0.02% Shell 0.02%
mips-assembly mars-ide stack-visualisation computer-architecture educational-software

mars-stack-visualizer's Introduction

mars-stack-visualizer

About Mars

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. Developed by Pete Sanderson ([email protected]) and Kenneth Vollmar ([email protected]).

About this project

The StackVisualizer tool and application allows the user to view in real time the memory modification operations taking place in the stack segment with emphasis to $sp-relative memory accesses. The user can also observe how pushes/pops to/from the stack take place. The address pointed by the stack pointer is displayed in an orange background while the whole word-length data in yellow. Lower addresses have a grey background (given that stack growth takes place from higher to lower addresses). The names of the registers whose contents are stored in the stack, are shown in the "Stored Reg" column. In the "Call Layout" column, the subroutine frame (activation record) layout is displayed, with subroutine names placed on the first address written in the corresponding frame.

sv1.png

Tool Options

  • "Display data per byte": When enabled, the bytes of each word (4 Bytes) are displayed separately.
  • "Hexadecimal Addresses": Whether memory addresses are formatted in hexadecimal or decimal representation.
  • "Hexadecimal Values": Whether memory content is formatted in hexadecimal or decimal representation.
  • "Detect jal-equivalent instructions": Whether instruction sequences equivalent to jal should be detected. i.e. la $ra, somelabel immediately followed by j somelabel.

Project Supervisor

Project Developers

License

Source code

The source code was extracted using the following command: jar xf Mars4_5.jar.

Screenshots

sv2
sv3
sv4
sv5

Application/Stand-alone program mode:
sv-standalone

Creating JAR files

After building this project, script create-jar.sh can be used to create an executable JAR file. It is provided as a replacement to CreateMarsJar.bat included in the original JAR file.

USAGE: ./create-jar.sh [JARNAME[.jar]]

mars-stack-visualizer's People

Contributors

gzachos avatar pmanousis avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.