A Typescript assembly(ish) interpreter with a nice web UI

Overview

Assembly-Online

Example Fibonacci Program

MOV R0, #1
MOV R1, #1
fib:
MOV R2, R0
ADD R0, R0, R1
MOV R1, R2
B print
CMP R0, #40
BGT exit
B fib
exit: \

Instruction Set

ADD Rx, Ry, Op - Adds the value of Rx to Ry and stores the result in Rx.
ADDS Rx, Ry, Op - Adds the value of Rx to Ry and stores the result in Rx. Also stores the value in the CPSR (used for conditional branching).
SUB Rx, Ry, Op - Subtracts the value of Ry from Rx and stores the result in Rx.
SUBS Rx, Ry, Op - Subtracts the value of Ry from Rx and stores the result in Rx. Also stores the value in the CPSR
MOV Rx, Op - Stores the value of Op in Rx.
AND Rx, Ry, Op - Ands the value of Rx and Ry and stores the result in Rx.
ANDS Rx, Ry, Op - Ands the value of Rx and Ry and stores the result in Rx. Also stores the value in the CPSR
ORR Rx, Ry, Op - Ors the value of Rx and Ry and stores the result in Rx.
ORRS Rx, Ry, Op - Ors the value of Rx and Ry and stores the result in Rx. Also stores the value in the CPSR
CMP Rx, Ry, Op - Compares the value of Rx and Ry and stores the result in the CPSR.
B Op - Branches to the label Op.
BNE Op - Branches to the label Op if the value in the CPSR is not equal to 0 (2 elements compared are not equal).
BEQ Op - Branches to the label Op if the value in the CPSR is equal to 0 (2 elements compared are equal).
BGT Op - Branches to the label Op if the value in the CPSR is greater than 0 (1st element compared is greater).
BLT Op - Branches to the label Op if the value in the CPSR is less than 0 (1st element compared is less). \

You might also like...

sorry Stanley, but PirateStealer is a nice project and cannot be deleted

sorry Stanley, but PirateStealer is a nice project and cannot be deleted

PirateStealer PirateStealer got deleted by his creator who I love but this project is too cool to be deleted, sorry Stanley please forgive me What is

May 15, 2022

Style definitions for nice terminal layouts 👄

Style definitions for nice terminal layouts 👄

blipgloss Style definitions for nice terminal layouts. Powered by lipgloss and bun:ffi. Install bun add blipgloss Usage Blipgloss takes an expressive,

Dec 31, 2022

JustGage is a handy JavaScript plugin for generating and animating nice & clean dashboard gauges. It is based on Raphaël library for vector drawing.

JustGage is a handy JavaScript plugin for generating and animating nice & clean dashboard gauges. It is based on Raphaël library for vector drawing.

JustGage JustGage is a handy JavaScript plugin for generating and animating nice & clean dashboard gauges. It is based on Raphaël library for vector d

Jan 3, 2023

A cross-platform desktop app with a nice interface to Stable Diffusion and others

A cross-platform desktop app with a nice interface to Stable Diffusion and others

GenerationQ GenerationQ (for "image generation queue") is a cross-platform desktop application (screens below) designed to provide a general purpose G

Dec 28, 2022

nice-dag is a lightweight javascript library, which is used to present a DAG diagram.

nice-dag is a lightweight javascript library, which is used to present a DAG diagram.

Nice-DAG Overview Nice-DAG is a lightweight javascript library, which is used to present a DAG diagram. Essentially, it uses dagre to layout nodes and

Oct 25, 2022

FortBlog adds a nice UI where you can manage a publication of any size with posts, pages, tags, and authors

FortBlog adds a nice UI where you can manage a publication of any size with posts, pages, tags, and authors

FortBlog adds a nice UI where you can manage a publication of any size with posts, pages, tags, and authors. You can add photos, code blocks, featured images, social media & SEO attributes, embedded HTML (YouTube Videos, Embedded Podcasts Episodes, Tweets, ...), and markdown! Dark & Light modes available so everyone is happy

Jan 2, 2023

Learn Web 2.0 and Web 3.0 Development using Next.js, Typescript, AWS CDK, AWS Serverless, Ethereum and AWS Aurora Serverless

Learn Web 2.0 Cloud and Web 3.0 Development in Baby Steps In this course repo we will learn Web 2.0 cloud development using the latest state of the ar

Jan 3, 2023

:books: The definitive guide to TypeScript and possibly the best TypeScript book :book:. Free and Open Source 🌹

TypeScript Deep Dive I've been looking at the issues that turn up commonly when people start using TypeScript. This is based on the lessons from Stack

Jan 4, 2023

Variant types in Roblox TypeScript - Ported from Vanilla TypeScript

Variant types in Roblox TypeScript - Ported from Vanilla TypeScript

Variant (for Roblox) This is a roblox typescript variant (heh, pun) of Variant. See the Variant documentation on how to use Variant. A variant type is

Jun 3, 2022
A Brainf*ck interpreter built in the TypeScript type system.

Brainf*ck Interpreter in the TypeScript type system Just another thing that no one asked for. Why? I love messing with the TypeScript type system. Som

Carter Snook 55 Dec 17, 2022
Demo running web assembly apps a terminal with blocking stdin/stdout/stderr

Python wasm-terminal Live version here: https://wasm-terminal.firebaseapp.com/ This is a small demo of running Python in the browser with a focus on i

Katie Bell 16 Nov 16, 2022
Dynamically-loading WebComponent Assembly UI Framework

Golgi: Dynamically-loading WebComponent Assembly Framework Rob Tweed [email protected] 14 February 2022, M/Gateway Developments Ltd http://www.mgate

null 28 Dec 18, 2022
An interpreter for College Board's specified pseudocode for the AP Computer Science Principles Exam.

College Board Pseudocode Interpreter A playground for this interpreter is up on my website. This project is a mostly-functioning interpreter for Colle

Daniel 7 Nov 16, 2022
Detect the executable python interpreter cmd in $PATH.

detect-python-interpreter Detect the executable python interpreter cmd in $PATH. Installation $ npm install --save detect-python-interpreter Usage con

Khaidi Chu 2 Apr 12, 2022
A browser-based Piet editor/interpreter

A browser-based Piet editor/interpreter Features An interpreter that fully conforms to the Piet specification Code editor with a palette with command

null 8 Nov 22, 2022
A simple tap test runner that can be used by any javascript interpreter.

just-tap A simple tap test runner that can be used in any client/server javascript app. Installation npm install --save-dev just-tap Usage import cre

Mark Wylde 58 Nov 7, 2022
Cloud Native, DevOps, GitOps, Open Source, industry news, culture, and the 'ish between.

DevOps'ish DevOps'ish is authored by Chris Short and Made in Michigan. What is DevOps? I'm glad you asked. Newsletter Writing Process Everyone needs a

Chris Short 7 Jan 12, 2022
A maybe slightly safer-ish wrapper around eval Function constructors

evalish A maybe slightly safer-ish wrapper around eval Function constructors Please maybe try something else first.. Please. evalish is a small helper

Phil Pluckthun 24 Sep 6, 2022
A maybe slightly safer-ish wrapper around eval Function constructors

evalish A maybe slightly safer-ish wrapper around eval Function constructors Please maybe try something else first.. Please. evalish is a small helper

0no.co 22 Aug 21, 2022