0x080484ad <+0>: xor %ebx,%ebx 0x080484af <+2>: mov (%eax),%bl ***** 0x080484b1 <+4>: xor $0x52,%bl 0x080484b4 <+7>: cmp $0x11,%bl 0x080484b7 <+10>: jne 0x8048510 0x080484b9 <+12>: mov 0x7(%eax),%bl 0x080484bc <+15>: sub $0x16,%bl 0x080484bf <+18>: cmp $0xd,%bl 0x080484c2 <+21>: jne 0x8048510 0x080484c4 <+23>: mov 0x1(%eax),%bl
I am having a problem understanding the register %bl. The register %eax has the value of "12345678" (string) under the address. I understand that in the second line we are moving the value of $eax to %bl (8 bits). So it is supposed to take the first two numbers from the string "12", right? I wish some clarify this line. Thanks a lot.