movl $-1, -4(%rbp) #constant assign movl -4(%rbp), %eax #assign start movl %eax, -8(%rbp) #assign end movzbl -8(%rbp), %eax #not start testl %eax, %eax setne %al xorl $1, %eax movzbl %al, %eax movb %al, -12(%rbp) andb $1, -12(%rbp) #not end movl -12(%rbp), %eax #assign start movl %eax, -16(%rbp) #assign end movl $1, -20(%rbp) #constant assign