Yousef-Diab / ReactJS_SIC_Two_Pass_Assembler

A SIC Machine Two Pass Assembler

Home Page:https://react-js-two-pass-assembler.vercel.app/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SIC Machine 2 Pass Assembler - React Application

Overview

This React application serves as a 2 Pass Assembler for the Simplified Instructional Computer (SIC) machine. The assembler processes assembly code written in SIC assembly language and generates the corresponding machine code in two passes.

Features

  • Two Pass Assembling: The assembler performs a two-pass assembly process, handling symbol resolution, generating intermediate files, and producing the final object code.

  • Indexed Addressing: Supports indexed addressing mode for instructions with the ,X suffix.

  • User-Friendly Interface: Provides a user-friendly interface for entering and processing assembly code.

  • Visual Output: Displays the assembled code and generated object program in a visually accessible format.

How It Looks Like

image

Installation

  1. Clone the repository:

    git clone https://github.com/Yousef-Diab/ReactJS_SIC_Two_Pass_Assembler.git
  2. Navigate to the project directory:

     cd ReactJS_SIC_Two_Pass_Assembler
  3. Install dependencies:

     npm install
  4. Start the application:

     npm start

The application will be accessible at 'http://localhost:3000' by default.

Usage

  1. Open the application in your web browser.

  2. Import a text file containing your program in the correct format.

    Example

     PGM1  START 1000
           LDA   ALPHA
           MUL   BETA
           STA   GAMMA
     ALPHA WORD  2
     BETA  WORD  4
     GAMMA RESW  1
           END   1000
    
  3. Click on "Pass One" Button to get the output for Pass 1

  4. Click on "Pass Two" Button to get the output for Pass 2

  5. View the generated object program and any relevant output on the UI.

Dependencies

  • NodeJS
  • npm

About

A SIC Machine Two Pass Assembler

https://react-js-two-pass-assembler.vercel.app/


Languages

Language:JavaScript 74.3%Language:CSS 20.4%Language:HTML 5.4%