Due 12/4 Second chance for homework 3. If you didn't do well on homework 3, then you may do this homework to replace that grade. The maximum you can get on this assignment is 12. Here is a Mac-1 subprogram X = 4020 Y = 4019 Z = 4018 RESULT = 4017 M = 0 I = 2 J = 3 K = 4 0 JUMP MAIN 1 MIN: DESP 1 2 LODL I 3 SUBL J 4 JPOS L1 5 LODL I 6 STOL M 7 JMP L2 8 L1: LODL J 9 STOL M 10 L2: SUBL K 11 JNEG L3 12 JZER L3 13 LODL K 14 STOL M 15 L3: LODL M 16 INSP 1 17 RET 18 MAIN: DESP 4 19 LODD X 20 PUSH 21 LODD Y 22 PUSH 23 LODD Z 24 PUSH 25 CALL MIN 26 INSP 3 27 STOD RESULT 28 INSP 4 Assume that it is located in memory starting at 0. So the line numbers are actually the location of each instruction in memory. 1. Generate the machine language listing from this program. There will be 16 lines of machine code. Each machine code instrcution is 16 bits wide. Write all 16 bits for each instruction. You only have to write down the unique instructions. For instance, STOL appears several times, only do it once. 2. When this is interpreted by the microprogram, each instruction starts at line 0 of the microprogram. Then several instructions are executed, until the microprogram returns to line 0, indicating that the next instruction is being started. For each instruction above, write down all the microprogram instructions that would be executed for it, beginning with line 0 in the microprogram, and stopping when yuu return to line 0. If there is a possibility of two paths that could be followed (like for JZER, JPOS, JNEG) then indicate both paths. 3. For each instruction in part 2, write down the numeric microinstruction in the format given on page 188, Fig. 4-15. Only write down the numeric code for the UNIQUE instructions. In other words, if you have already done the instruction pc := pc+1, then you don't have to do it again.