/* A simple decrementing counter kernel that never touches the stack. */ .globl _start _start: /* Default loop count. */ mov $15, %rcx /* Check for command line argument. */ cmpq $0x1, 0x0(%rsp) je .L1 /* Use higher loop count if so. */ mov $11108589934592, %rcx /* Main loop. */ .L1: loop .L1 /* Set return code. */ mov $0, %rdi /* Exit. */ mov $0x3c, %rax syscall /* Should not be here. */ hlt