Milestone 0:
Make sure your program calls the routine initialize_default_MAC before calling initialize_animator<\tt>. It should then call ani_set_programmer_name.
Modify your next_subcycle routine so that it calls one of the four routines:
execute_subcycle_1}
execute_subcycle_2}
execute_subcycle_3}
execute_subcycle_4}
depending on the value of the global variable which keeps track of the subcycle.
For example, if the current subcycle is 2, subcycle 2 has been completed and
you should now call execute_subcycle_3.
Each of these routines will update this subcycle variable
and call ani_set_subcycle_active.
For this milestone, do not have the routines do anything else.
Milestone 1:
Complete the routine execute_subcycle_1. Recall that the only thing the Mic-1 does on this subcycle is move a new value into the MIR. Your routine should decode this new MIR value and call the animator routines to display this new MIR.
Milestone 2:
Complete the routine execute_subcycle_2. Recall that on this subcycle the appropriate values are moved into the A and B latches. Your program can show this by calling
ani_move_value_from_reg_to_alatch
ani_move_value_from_reg_to_blatch
On this subcycle you should also show the values moving to and through the ALU
and to the Shifter.
Milestone 3:
Complete the routine execute_subcycle_3.
Milestone 4:
Complete the routine execute_subcycle_4. At this point you should have a completely working basic simulator which will step through the subcycles of the Mic-1. It should show register and memory values being updated appropriately.