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