неправильные места памяти при отладке в qemu с помощью gdb

Я пишу немного ядра на ассемблере. Я запускаю его в QEMU и у меня есть проблемы с некоторыми ошибками. Теперь я хочу отладить ядро ​​с помощью dbg. Итак, я собрал это так:

$ nasm -g -f elf -o myos.elf myos.asm
$ objcopy --only-keep-debug myos.elf myos.sym
$ objcopy -O binary myos.elf myos.bin

Затем я запускаю его в QEMU с помощью:

$ qemu-system-i386 -s -S myos.bin

Затем я соединяюсь с GDB:

$ gdb
(gdb) target remote localhost:1234
Remote debugging using localhost:1234
0x0000fff0 in ?? ()
symbol-file myos.sym
Reading symbols from /home/sven/Projekte/myos/myos.sym...done.

У меня есть ярлык с именемwelcome в моем ядре, которое указывает на строку. Во время тестирования я попытался посмотреть на эту строку, которая дала следующий результат:

(gdb) x/32b welcome
0x1e <welcome>: 0x00    0xf0    0xa5    0xfe    0x00    0xf0    0x87    0xe9
0x26:   0x00    0xf0    0x6e    0xc9    0x00    0xf0    0x6e    0xc9
0x2e:   0x00    0xf0    0x6e    0xc9    0x00    0xf0    0x6e    0xc9
0x36:   0x00    0xf0    0x57    0xef    0x00    0xf0    0x6e

Метка определяется следующим образом:

welcome: db "System started. Happy hacking!", 10, 0

Итак, вы можете видеть, что GDB притворяется, что приветствие начинается с нулевого байта, но по определению это не так. Однако ядро ​​использует метку правильно, так что это не похоже на проблему с моим кодом. Исследование других частей памяти вообще не соответствует загруженному ядру.

Кто-нибудь знает, почему память виртуальной машины не совпадает с загруженным ядром, в то время как машина все еще ведет себя корректно?