求助
在写全局描述符表的时候,有这样的一句NASM汇编指令:
jmp 0x8:.flush
.flush
ret
这一句跳转指令在链接之后的机器码是:ea 4c 00 10 00 08 00
用gdb调试的时候,反汇编显示的是正确的代码
ljmp $0x8, $0x10004c
但是在bochs上跑的时候,bochs反汇编成了这个样子:
jmpf 0x0010:004c
并且bochs在这上面无法运行
我模模糊糊明白说,可能00是分隔符之类的,然后bochs可能是正着读过去,变成了4c、10,但是我这个地址是0x10004c,天然就带有一个00在里面,而且gdb也能正确识别,用objdump也能正确识别,唯独bochs运行不了
求助,我应该做什么操作或者更改bochs的什么配置才能解决这个错误,真的没办法了,有会的大佬能教我一下真的感激不尽!