Microprogramming Contest Delayed until Fri, March 13 This is both a homework assignment and a contest. As a homework assignment it counts as three regular homework assignments! Thus it is the most important assignment. As a contest, a winner or winners will be named to try to honor those with the most creative and useful entries. The homework grade will be based primarily on correctness; the contest will be judged more on creativity and usefulness. There will be a small prize for the winner. The task is multifaceted: you are to design, implement, document, and test a new Mac-1 instruction. Try to aim for something useful and creative. Place everything in a file called mic300.txt. At the bottom of this file place comments describing your new instruction. In particular, give a 4-letter mnemonic for your new instruction, the binary encoding of it, its meaning in the usual Pascal-like pseudocode, and an explanation in words of what it does, including any constants or values that it uses. Thus, your description should give the opcode name, any parameters it takes, the meaning of the instruction, how it is encoded in binary, examples of usage (if not clear from the description), etc. The description should be a high-level description telling the Mac-1 programmer what this instruction does overall, not a detailed list of what the microcode does. Be sure to say where your instruction gets its data (if any) and where it places its answer (if any). If you really want to you may add 2 instructions, but no more than that. Try to add an instruction that does something that the existing ones do not do, or uses a new addressing mode, or supports some high-level programming construct, etc. See below for some ideas. | |
|