In this project, you are going to implement an assembler for MIPS. You are given an assembler (1) written in C++. However, this assembler has missing instructions specified below. Your goal is to implement them in addition to several pseudo-instructions.
Missing instructions: add, addi, lbu, lhu, ll, slt, slti, sb, sc, sh, sub Pseudo-instructions: li, move, blt, ble Rules:
Your program has to take “input.asm” and produce “output.mcode” which contains binary machine code(s) regarding to each instruction. It already does that but make sure it does after your implementation as well. Otherwise, you cannot get more than 50.
Most of the work is in “assembleLine(…)” function. There are missing
unimplemented if clauses. Implementing them should be enough. If your program does not compile, you get 0.
You must change the name of main.cpp to surname.name1.name2.name3…nameN.studentID.cpp otherwise you get 0.
Honor code: It is not a group project. Any cheating means at least -100 for both sides. Do not share your codes and design to any one in any circumstances. Be honest and uncorrupt not to win but because it is right! If you are in trouble, appeal for help from teaching assistant.
https://github.com/mightydeveloper/MIPS-Assembler (Buradaki kodu kullanmayınız. Zipteki kodu kullanınız.)