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
我在理解寄存器 %bl 时遇到问题。寄存器 %eax 在地址下的值为“12345678”(字符串)。我知道在第二行中,我们将 $eax 的值移动到 %bl(8 位)。所以它应该从字符串“12”中获取前两个数字,对吗?我希望有人澄清这条线。非常感谢。