In addition, explain in detail the function-calling conventions used by the C compiler "cc" on our SGI's (green, blue, and cyan.mathcs.carleton.edu). Among the questions you might address are:
The main technique I would use to investigate these questions
is to write lots of little C programs and compile them
to assembly using "cc -S". If you are not familiar with C,
please talk to me. Have fun.
Also, design and draw a 1-bit 4-function ALU with the following specifications. The unit should have five input lines: (1) A, a data line, (2) B, another data line, (3) Cin, the carry-in for addition, and (4-5) S0 and S1, a pair of control lines that determine the operation performed by the ALU. There should be two output lines--the result R, and the carry-out Cout. R should depend on the input as follows:
S1 S0 R ============================ 0 0 A 0 1 A + B + Cin 1 0 A OR B 1 1 NOT ACout should be the carry-out if the operation is addition (that is, S1 = 0 and S0 = 1), and 0 otherwise. Note that R is a single bit, so the result R of the addition operation is the right-most bit of the sum of A, B, and Cin.