i have been trying time number keyboard , comparing value on stack. if correct print "hello world!" , if incorrect, should print out "nope!". however, happens no matter input "jne" called, nope printed, , segfault. perhaps 1 of lend hand. .section __data,__data str: .asciz "hello world!\n" sto: .asciz "nope!\n" .section __text,__text .globl _main _main: push %rbp mov %rsp,%rbp sub $0x20, %rsp movl $0x0, -0x4(%rbp) movl $0x2, -0x8(%rbp) movl $0x2000003, %eax mov $0, %edi subq $0x4, %rsi movq %rsi, %rcx syscall cmp -0x8(%rbp), %edx je l1 jne l2 xor %rbx, %rbx xor %rax, %rax movl $0x2000001, %eax syscall l1: xor %rax, %rax movl $0x2000004, %eax movl $1, %edi movq str@gotpcrel(%rip), %rsi movq $14, %rdx syscall ret l2: xor %eax, %eax movl $0x2000004, %eax