yasp is a fully functional web-based assembler development environment, including a real assembler, emulator and debugger.
JavaScript HTML CSS

README.md

yasp is a fully functional web-based assembler development environment, including a real assembler, emulator and debugger. The assembler dialect is a custom which is held very simple so as to keep the learning curve as shallow as possible. It also features some hardware-elements (LED, Potentiometer, Button, etc.). The main purpose of this project is to create an environment in which students can learn the assembly language so that they understand computers better. Furthermore it allows them to experiment without the fear of breaking something.

The original project team of yasp consists of Robert Fischer and Michael "luto" Lutonsky. For more information take a look at the about-section in the IDEs menu.

Online-Demo

A hosted version of yasp can be found on http://demo.yasp.me/.

License

yasp is licensed under the GPLv3-License, for details see LICENSE.txt.

Development

Setup

To develop on yasp you'll need nodejs.

$ npm install -g grunt-cli bower   # install grunt and bower (if needed)
$ git clone https://github.com/yasp/yasp.git
$ cd yasp
$ npm install      # download grunt-dependencies
$ bower install    # download web-dependecies
$ grunt commandsjs # build help and instructions
$ grunt http       # start development http-server

Setup on Windows

  1. get nodejs http://nodejs.org/
  2. get msysgit http://code.google.com/p/msysgit/downloads/list?q=full+installer+official+git
  3. open CMD and and follow the linux-setup

Grunt-Tasks

  • deps download all client dependencies
  • commands build help and commands.js, see instructions.md
  • watchcommands watch-task for commands
  • http start a development http-server
  • doc builds jsdoc to /doc/jsdoc/
  • watchdoc watch-task for doc

Documentation

The documentation lives in the /doc/-directory. Additional documentation in the German language can be found on the project homepage.

If you think that something is lacking documentation please create an issue.

Hacking