1ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 2ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown # count for 1 million instructions 3ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown # total is 3 + 499997*2 + 3 4ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 5ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown .globl _start 6ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown_start: 7ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown nop # to give us an even million 8ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown lis 15,499997@ha # load high 16-bits of counter 9ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown addi 15,15,499997@l # load low 16-bits of counter 10ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Browntest_loop: 11ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown addic. 15,15,-1 # decrement counter 12ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown bne 0,test_loop # loop until zero 13ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 14ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown #================================ 15ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown # Exit 16ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown #================================ 17ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 18ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownexit: 19ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown li 3,0 # 0 exit value 20ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown li 0,1 # put the exit syscall number (1) in r0 21ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown sc # and exit 22ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 23ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 24