The lab asks you to interpret some microprograms and then write write your own simple microprograms.
Resources: Throughout this lab, you will need to consult Figures 4-8, 4-9, and 4-10 (section 4.2) in Tanenbaum's text.
Collaboration: As with the work for the previous labs, the following steps are to be done on paper collaboratively. Everyone should work in a group of two (preferred) or three students; within a group, each person should take responsibility for leading discussion for some of the problems.
Steps for this Lab: In the following, assume register A contains the address of the variable X, register B contains the address of variable Y, and register C contains the address of variable Z.
Z := X - Y .dvips ~walker/public_html/courses/211/labs/micro-code-1.dvi
dvips ~walker/public_html/courses/211/labs/micro-code-2.dviAnnotate each line of the code, following the approach used for the comments from step 1.
Make a summary statement indicating the overall effect of this code
(e.g., the code in step 1 computed Z := X - Y ).
dvips ~walker/public_html/courses/211/labs/micro-code-3.dviAnnotate each line of the code, following the approach used for the comments from step 1.
Make a summary statement indicating the overall effect of this code.
Z := 8*X - 17;
Work to be turned in:
dvips ~walker/public_html/courses/211/labs/micro-code-form.dviFor each instruction, indicate a 0 or 1 only in those fields where the value matters. Place a dash (-) in fields where the values are ignored. Also, be sure to annotate your code appropriately.
This document is available on the World Wide Web as
http://www.math.grin.edu/~walker/courses/211/labs/lab.microprogramming.html