Когда я отлажена код, и нашел:Почему прыгать в недоступный адрес (GDB)
0x08048500 <+0>: push %ebp
0x08048501 <+1>: mov %esp,%ebp
...
0x08048563 <+99>: jmp 0x8048567 <Postion+103> <===0x8048567 doesn't exist an instruction.
0x08048565 <+101>: dec %edx
0x08048566 <+102>: cmp %bh,%al
0x08048568 <+104>: test %edx,%esp
Q: Почему "JMP 0x8048567" прыжок в < +103>? В нем нет инструкции. В чем смысл? Благодарю.
Как я могу получить настоящую инструкцию на 0x8048565? –
Там * нет * реальной инструкции в '0x8048565', есть только байты, которые вы можете интерпретировать как десятичные, или шестнадцатеричные, или с плавающей запятой, или как инструкции. Если вы интерпретируете байты в '0x8048565' в качестве инструкций, вы получите' dec% edx', который GDB уже показал вам. –