1ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
2ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown     	     # count for 1 million instructions
3ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	     #   total is 2 + 1 + 499997*2 + 3
4ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
5ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	.globl _start
6ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown_start:
7ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	xor	%rcx,%rcx		# not needed, pads total to 1M
8ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	xor	%rax,%rax		# not needed, pads total to 1M
9ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
10ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	mov	$499997,%rcx		# load counter
11ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Browntest_loop:
12ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	dec	%rcx			# repeat count times
13ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	jnz	test_loop
14ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
15ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	#================================
16ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	# Exit
17ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	#================================
18ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownexit:
19ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	xor     %rdi,%rdi		# we return 0
20ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	mov	$60,%rax		# put exit syscall number (60) in rax
21ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	syscall
22ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
23