movl $-1, -4(%rbp) #constant assign movl -4(%rbp), %eax #assign start movl %eax, -8(%rbp) #assign end movl $-1, -12(%rbp) #constant assign movl -12(%rbp), %eax #assign start movl %eax, -16(%rbp) #assign end cmpl $0, -8(%rbp) #start and je .L1or2 cmpl $0, -16(%rbp) je .L1or2 movl $1, %eax jmp .L1or3 .L1or2: movl $0, %eax .L1or3: movb %al, -20(%rbp) andb $1, -20(%rbp) #and end movl -20(%rbp), %eax #assign start movl %eax, -16(%rbp) #assign end movl $1, -24(%rbp) #constant assign