# xSpim Loops Program # # CPE 315 # Winter 2008 # # By: Dan Stearns # Modifications: # # Notes: Demonstrates how to code for loop, while loop and SLT # # # Data Area .data #Text Area (i.e. instructions) .text main: la $a0, 0x7fffffff # FOR loop demo # init t0 to count ori $t0, $0, 0 # load lcv - for loop ori $v0, $0, 4 # do something - body of loop loop: addi $t0, $t0, 1 # test for loop termination addi $v0, $v0, -1 bne $v0, $0, loop # WHILE loop demo # init v0 with some constant ori $v0, $0, 2222 # divide constant by 2 until 0 reached loop2: srl $v0, $v0, 1 # test for loop termination bne $v0, $0, loop2 # SLT demo # init v0 with some constant ori $v0, $0, 222 # multiply constant by 2 until 22222 reached loop3: sll $v0, $v0, 1 # test for loop termination slti $t0, $v0, 22222 bne $t0, $0, loop3 # Exit ori $v0, $0, 10 syscall