Test0 中添加 asm volatile("nop 16");之后

输出结果


看不到指导书里面的 114b 位置的汇编代码

c3 之后这个函数就返回了,之后的 nop 可能是为了让下一个函数的代码对其。在这一点上不同版本的 gcc 可能有不同的行为(指导书里的输出使用 gcc 9 而大家的平台是 gcc 11)。虽然输出的二进制文件不一样,但只要把重定位做对了,最后的输出就是对的。