Giter VIP home page Giter VIP logo

sic-xe-assembler's Introduction

SIC-XE-Assembler

The project is to implement SIC/XE assembler that produces code for the absolute loader used in the SIC/XE programming assignments.

In phase 1 of the project, it is required to implement Pass1 of the assembler. The output of this phase should be used as input for subsequent phase.

In phase 2 of the project, We are going to build on the previous phase and use its output to implement pass 2 of the assembler.

Prerequisites

install NetBeans IDE.

Phase 1 Specifications

  1. Built a parser that is capable of handling source lines that are instructions, storage declaration, comments, and assembler directives (a directive that is not implemented should be ignored possibly with a warning).

  2. For instructions, the parser is to minimally be capable of decoding 2, 3 and 4-byte instructions as follows:

a) 2-byte with 1 or 2 symbolic register reference (e.g., TIXR A, ADDR S,A)

b) RSUB (ignoring any operand or perhaps issuing a warning).

c) 3-byte PC-relative with symbolic operand to include immediate, indirect, and indexed addressing.

d) 3-byte absolute with non-symbolic operand to include immediate, indirect, and indexed addressing.

e) 4-byte absolute with symbolic or non-symbolic operand to include immediate, indirect, and indexed addressing.

  1. The parser is to handle all storage directives (BYTE, WORD, RESW, and RESB).

  2. The output of this phase should contain (at least):

a) The symbol table.

b) The source program in a format similar to the listing file.

c) A meaningful error message should be printed below the line in which the error occurred.

Phase 2 Specifications

  1. The output of the assembler should include:

a) Object-code file.

  1. The assembler should support:

a) EQU and ORG statements.

b) Simple expression evaluation. A simple expression includes simple (A B) operand arithmetic, where is one of +, -, *, / and no spaces surround the operation, eg. A+B.

Main data structures

-Array List

-Hash Map

Note

You must enter a Starting address.

sic-xe-assembler's People

Contributors

saraanwar97 avatar

Watchers

 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.