CS530, Spring 2019, Program Assignment #2 26 Feb 2019 You and your team shall develop, test, and deliver a disassembler program for the XE variant of the SIC/XE family of machines. XE DISASSEMBLER REQUIREMENTS: The XE disassembler program shall open an XE object file,

.obj and its accompanying symbol file,

.sym, then it will disassemble the object code, and generate an XE source file,

and XE listing file,

.lis using the disassembled code. The symbol file,

.sym will contain the SYMTAB and LITTAB the assembler generated when assembling the object file. Your Executable program shall be named ‘xed’. the user shall provide the filename on the command line when starting/running the disassembler: % xed < Filename > The Disassembler will then use “Filename” for the name of the source file it generates,

.sic, and the accompanying listing file,

.lis. Note, the symbol file

.sym will be provided with the object code file. If neither the

.obj or

.sym are present, the xed program shall gracefully exit. TEAMS: You shall work in teams of two – three people on this project. You may choose to use pair programming, dividing work up, or other methods for work completion, that is up to you although I strongly encourage you to attempt pair programming! ADDITIONAL REQUIREMENTS: README file – you shall create a README file; consult the instructions for README file content on the course Blackboard. Also, your source files SHALL CONTAIN sufficient comments for making the source easy to read. Points will be taken off for Poorly (or non) commentated source or inadequate README file documentation. Compiler and make (and Makefile) – You shall use C/C++ (gcc/g++) and use make to compile your program for this assignment; you will need to create a Makefile for your project, consult the example Makefile(s) on the course Blackboard. Name the executable, ‘XED’ (XE Disassembler). Test files — You should prepare and include Test files used during the development and Test of your project. Software Design Document – You are required to perform software design of this system. Include a software design document and turn it in with your project. Note, you will not be held to formal design specification/formatting or use any of the formal methods. Turn in a file which contains your software design. You may include a kanban (and stories), models, drawings, descriptions, diagrams or similar tools you used for your system/software design. This is a significant part of your grade and needs to be adequately captured in your documentation. Include a description of how your team was organized and how effectively you worked together and areas for improvement. Make sure that all files (README, source files, Header files, Makefile) contains each team member’s names and RedIDs! TURNING IN YOUR WORK: The assignment is due at 1730, Monday, 22 April 2019 Your project shall include C/C++ source files, an include/header file, a Makefile, and a README file. ONLY ONE MEMBER OF YOUR TEAM TURNS IN THE PROJECT. To turn in your project, each team shall select one person, All files shall be in that person’s class account on edoras in a directory named “a2” (~/a2).leave any test files in this directory as well. BE SURE ALL TEAM MEMBERS NAMES AND CLASS ACCOUNTS ARE IN THE README FILE. Finally, the designated person turns in the project by uploading a tarball with all project files to Blackboard and entering any Comments in the assignment’s turnin. WX: codehelp