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