Assignment 6, due Oct 1
Part of
the homework for 22C:60, Fall 2010
|
Always write your name legibly as it appears on your University ID and on the class list!
TITLE "mp1test.a, test program for MP1 by Douglas Jones" S START USE "hawk.macs" USE "monitor.h" EXT UNUSED EXT ROOT ; description of the structure of each node: LEFT = 0 RIGHT = 4 TEXT = 8 ; activation record structure for TRAVERSE NODE = 4 ARSIZE = ????(a)???? TRAVERSE: STORES R1,R2 TESTR R3 BZS TRAVQT ; if node not null STORE R3,R2,NODE LIS R3,'(' ; print '(' ADDI R2,R2,ARSIZE LIL R1,DSPCH JSRS R1,R1 ADDI R2,R2,-ARSIZE LOAD R3,R2,NODE ; traverse(node->left) LOAD R3,R3,LEFT ADDI R2,R2,ARSIZE JSR R1,TRAVERSE ADDI R2,R2,-ARSIZE LOAD R3,R2,NODE ; print(node->text) ?????(b)????? LIL R1,DSPST JSRS R1,R1 ?????(b)????? LOAD R3,R2,NODE ; traverse(node->right) ?????(c)????? ; something big is missing here ?????(d)????? ; something else big is missing here TRAVQT: ; endif ?????(e)????? ; return ; the program starts here! START: LIL R2,UNUSED ; set up the stack ; --- begin aplication code LIL R1,DSPINI JSRS R1,R1 ; initialize the display LIL R3,ROOT JSR R1,TRAVERSE ; traverse the tree ; --- end aplication code LIL R1,EXIT JSRS R1,R1 ; stop! END
The problem: Fix the above code. Several small pieces have been deleted. If you correctly repair the code, it will work as a test program for MP1. Comments in the code indicate each deletion of one or more lines. Parts a, b, c, d and e above are indicated by comments in the code. (0.4 points each, for a total of 2 points)
The Problem: Apply all of them that you can to your solution to problem 1. (1 point)