Assignment 3 Solutions
Part of
the homework for 22C:60, Fall 2010
|
int squares[]={0,1,4,9,16,25,36,49,64};
Assume that integers are 32-bit values and assume that this table is a constant -- that is, that there will be no assignments to squares or to any of the table entries other than this initializer.
The problem: Write SMAL code equivalent to this. (1 point)
ALIGN 4 ; recommended, no penalty if missing SQUARES: ; may be on same line as first W W 0 W 1 ; entries may be one per line W 4 ; or multiple words per line (as below) W 9 ; but should not be mixed like this W 16,25,36,49,64
The problem: Write SMAL code to represent a constant list of the first four squares, in ascending order, starting with the square of zero. (1 point)
NULL = 0 ; recommended definition ALIGN 4 ; recommended ; Specific label names are not determined ; but some kind of system should be used. HEAD: W SQUARE1 ; next W 0 ; zero squared SQUARE1: W SQUARE2 ; next W 1 ; one squared SQUARE2: W SQUARE3 ; next W 4 ; two squared SQUARE3: W NULL ; next W 9 ; three squared
const char dayname[][]={ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" };
This is actually a constant array of pointers to null-terminated strings, despite the fact that the declaration looks like a two-dimensional array of characters.
The problem: Write SMAL code to represent this. (1 point)
ALIGN 4 ; recommend ; After DAYNAME, label names are not ; determined by the assignment but some ; kind of system should be used. DAYNAME: W SUN,MON,TUE,WED,THU,FRI,SAT SUN: ASCII "Sunday",0 MON: ASCII "Monday",0 TUE: ASCII "Tuesday",0 WED: ASCII "Wednesday",0 THU: ASCII "Thursday",0 FRI: ASCII "Friday",0 SAT: ASCII "Saturday",0