created 05/17/2015
For these programming exercises, use only those instructions that have been discussed so far in these notes:
ori | addu |
In the Simulator/Settings/MIPS menu of SPIM set Bare Machine ON, Accept Pseudo Instructions OFF, Enable Delayed Branches ON, Enable Delayed Loads ON, Enable Mapped I/O OFF, Load Exception Handler OFF.
Run the programs by single stepping (pushing F10). Observing the results in the SPIM Int Regs window. Check the Registers menu that the registers are displayed in HEX.
Create a source file for the program discussed in this chapter:
## Program to add two plus three .text .globl main main: ori $8,$0,0x2 # put two's comp. two into register 8 ori $9,$0,0x3 # put two's comp. three into register 9 addu $10,$8,$9 # add register 8 and 9, put result in 10
Load it into QtSPIM as explained in the chapter. Run the program by pushing F10 to single step. Check the register display after each step.
Click here to go back to the main menu.
Play with the program:
$10
?Click here to go back to the main menu.
Start with the original program, but change the program so that it adds two other values, 0xF and 0x7.
Load the program into QtSPIM, run it, and observe the result in register $10
.
## Program to add fifteen plus seven .text .globl main main: ori $8,$0,0xF # put two's comp. fifteen into register 8 ori $9,$0,0x7 # put two's comp. seven into register 9 addu $10,$8,$9 # add register 8 and 9, put result in 10
Change the program again so that the assembly statements uses decimal to express the same two values:
## Program to add fifteen plus seven .text .globl main main: ori $8,$0,15 # put two's comp. fifteen into register 8 ori $9,$0,7 # put two's comp. seven into register 9 addu $10,$8,$9 # add register 8 and 9, put result in 10
Run the program. Notice that the results are the same as when hex was used to describe the bit patterns (values) that were added.
Notice: assembly instructions can use decimal or hex to specify bit patterns.
In the above 15
and 0xF
result in the same bit pattern.
Click here to go back to the main menu.
Create a program that computes 5+5+5.
Do this by modifying (yet again) the chapter's program.
You will need to use two addu
instructions.
Click here to go back to the main menu.
* == easy program ** == moderately easy program *** == harder program **** == project
End of Exercises