1dbebecc2bf00530ce09b3658641d1514d807aeeenjn		# many thanks to David Fang
2dbebecc2bf00530ce09b3658641d1514d807aeeenjn		# for providing an OSX 10.5 machine to test on
3dbebecc2bf00530ce09b3658641d1514d807aeeenjn
4dbebecc2bf00530ce09b3658641d1514d807aeeenjn     	     # count for 1 million instructions
5dbebecc2bf00530ce09b3658641d1514d807aeeenjn	     #   total is 1 + 1 + 499997*2 + 4
6dbebecc2bf00530ce09b3658641d1514d807aeeenjn
7dbebecc2bf00530ce09b3658641d1514d807aeeenjn	.globl _start
8dbebecc2bf00530ce09b3658641d1514d807aeeenjn_start:
9dbebecc2bf00530ce09b3658641d1514d807aeeenjn	xor	%ecx,%ecx		# not needed, pads total to 1M
10dbebecc2bf00530ce09b3658641d1514d807aeeenjn	mov	$499997,%ecx		# load counter
11dbebecc2bf00530ce09b3658641d1514d807aeeenjntest_loop:
12dbebecc2bf00530ce09b3658641d1514d807aeeenjn	dec	%ecx			# repeat count times
13dbebecc2bf00530ce09b3658641d1514d807aeeenjn	jnz	test_loop
14dbebecc2bf00530ce09b3658641d1514d807aeeenjn
15dbebecc2bf00530ce09b3658641d1514d807aeeenjn	#================================
16dbebecc2bf00530ce09b3658641d1514d807aeeenjn	# Exit
17dbebecc2bf00530ce09b3658641d1514d807aeeenjn	#================================
18dbebecc2bf00530ce09b3658641d1514d807aeeenjn
19dbebecc2bf00530ce09b3658641d1514d807aeeenjn	# syscall numbers in /usr/include/sys/syscall.h on OSX
20dbebecc2bf00530ce09b3658641d1514d807aeeenjn	#                 in arc/x86/include/asm/unistd_32.h on Linux
21dbebecc2bf00530ce09b3658641d1514d807aeeenjn	# disassemble on OSX otool -tV
22dbebecc2bf00530ce09b3658641d1514d807aeeenjnexit:
23dbebecc2bf00530ce09b3658641d1514d807aeeenjn	xor	%eax,%eax
24dbebecc2bf00530ce09b3658641d1514d807aeeenjn	inc	%eax	 		# put exit syscall number (1) in eax
258eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#if defined(VGO_darwin)
268eb8bab992e3998c33770b0cdb16059a8b918a06sewardj	pushl	$0			# we return 0
278eb8bab992e3998c33770b0cdb16059a8b918a06sewardj	int     $0x80			# and exit
288eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#elif defined(VGO_linux)
29dbebecc2bf00530ce09b3658641d1514d807aeeenjn	xor     %ebx,%ebx		# we return 0
308eb8bab992e3998c33770b0cdb16059a8b918a06sewardj	int     $0x80			# and exit
318eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#elif defined(VGO_solaris)
328eb8bab992e3998c33770b0cdb16059a8b918a06sewardj	pushl	$0			# we return 0
338eb8bab992e3998c33770b0cdb16059a8b918a06sewardj	int     $0x91			# and exit
348eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#else
358eb8bab992e3998c33770b0cdb16059a8b918a06sewardj#  error "Unknown OS"
36dbebecc2bf00530ce09b3658641d1514d807aeeenjn#endif
37