/pseudo-assembler

Assembler project in C for an imaginary Assembly language.

Primary LanguageC

Assembler

This is an assembler for an imaginary computer and imaginary assembly language. (OpenU course project - https://www.openu.ac.il/courses/20465.htm)

Hardware: The computer has 16 registers: r0..r15 + PSW (program status word). Each register has 20 bits. Memory size: 8192*20 bits.

Software: There are 16 commands, each of which has funct and opcode (for more info, check the PDF file)

Input: .as files - Assembly-like source code. (the arguments are passed without the extension)

Output for each file:

  • .am file (with no macros)
  • .obj file, with the machine code
  • .ext file, with details about the .extern labels, if any.
  • .ent file, with details about the .entry labels, if any.

Score: 90%