movl $-1, -1(%rbp) #constant assign movl -1(%rbp), %eax #assign start movl %eax, -2(%rbp) #assign end movl $-1, -3(%rbp) #constant assign movl -3(%rbp), %eax #assign start movl %eax, -4(%rbp) #assign end cmpl $0, -2(%rbp) #start and je .L1or2 cmpl $0, -4(%rbp) je .L1or2 movl $1, %eax jmp .L1or3 .L1or2: movl $0, %eax .L1or3: movb %al, -5(%rbp) andb $1, -5(%rbp) #and end movl -5(%rbp), %eax #assign start movl %eax, -4(%rbp) #assign end movl $1, -9(%rbp) #constant assign