#Rift Rift is an Intel 8051/52 assembler written in Java. Rift is built with the book "The 8051 Microcontroller and Embedded Systems" by Mazidi & Mazidi in mind.
- Rift can parse and perform error checking on standard 8051/52 based assembly programs.
- Errors, if any, are printed on the terminal for rectification.
- If no errors are found, a list and a hex file are created.
##Mnemonics The entire 8051/52 instruction set is supported. The error checking is through. Everything from unidentified Mnemonic to invalid operands to incompatible data/address size to improper jump ranges are reported.
##Directives Supported directives include ORG, END, DB, BIT & EQU.
New directives can be created by adding their definition to the "directives.gr" file and creating a class with the directive's name. The class should inherit the Directives class.
##Usage Compile with
javac Rift.java
Run with
java Rift [filename/path]
##TODO
- Make error statements more specific.
- Implement a full featured emulator.
- GUI.
##Note
- Rift considers the source file to be CASE INSENSITIVE (except for ascii data).
- All hex values MUST be suffixed with "h" and binary values MUST be suffixed with "b"; values without suffix are assumed to be decimal. This may lead to confusing errors. All hex values with a initial alphabet MUST be prefixed with 0 (As per Mazidi).
- The EQU/BIT directives have a slightly different syntax which is not in sync with Mazidi. * Mazidi ---> Symbol EQU/BIT Value * Rift ---> EQU/BIT Symbol Value
- Rift considers EQU and BIT to be identical in every way.
- The reserved opcode (A5) is considered to be equivalent to NOP.
- A single DB can at the most define 16 bytes.