OSDev
http://osdev.su/

Bochs + fasm
http://osdev.su/viewtopic.php?f=6&t=328
Страница 1 из 1

Автор:  KIV [ 03 авг 2010, 15:44 ]
Заголовок сообщения:  Bochs + fasm

Не знаю насколько правильный раздел выбрал...
Можно ли как нибудь символы сгенерированные flat assembler прикрутить к отладчику bochs? У Bochs есть опция подключения файла символов, но, разумеется, формат фасма он не понимает. Текстовый (утилита symbols из комплекта поставки fasm, которая делает из файла символов fasm текстовый файл) тоже. Как его можно сконвертировать в формат понятный bochs?

Автор:  KIV [ 04 авг 2010, 11:57 ]
Заголовок сообщения:  Re: Bochs + fasm

Узнал, что файл симвлов Bochs должен иметь следующий формат:
"адрес_символа название_символа"
Где можно прочитать про формат файлов символов, который генерирует fasm?

Автор:  izlesa [ 06 авг 2010, 10:16 ]
Заголовок сообщения:  Re: Bochs + fasm

hxxp://board.flatassembler.net/topic.php?t=9792

Автор:  KIV [ 06 авг 2010, 19:32 ]
Заголовок сообщения:  Re: Bochs + fasm

Спасибо. Буду щас делать конвертер. Потом что получиться - выложу ту (исходники). Думаю необходимость сконвертировать сиимволы fasm в bochs возникает не только у меня.

Автор:  KIV [ 06 авг 2010, 21:31 ]
Заголовок сообщения:  Re: Bochs + fasm

Что-то не получилось прикрепить zip-архив к сообщению. Пишет: Не удалось закачать вложение ./files/151_d8c66c656ca943f3b0e39ffc89bdbe9e.

Что-то не работает моя программа. Делает приблизительно такой файл:
Код:
FFFFFFFFFFFFB24B kernel_entry
0000000000000000 NULL
0000000000000001 TRUE
0000000000000000 FALSE
FFFFFFFFFFFF9010 boot_disk_id
FFFFFFFFFFFF9018 boot_modules_list
FFFFFFFFFFFF9020 boot_memory_map
... Ещё очень много строчек ...

А в bochs получается:
Код:
(0) [0x0000c24b] 0008:ffffffffffffb24b (no symbol): mov qword ptr ds:0xffffffffffff9010, rdx ; 488914251090ffff

Хотя вместо no symbol должно быть kernel_entry. Bochs не ругается => формат файла верный (если что-то подпортить. скажем нечисловое значение подставить, то бош сообщает об ошибке).

Пробовал убрать символы с одинаковым значением (например, NULL и FALSE) и даже преобразовать все шестнадцатеричные числа в нижний регистр, но проблему это не решило.

Кстати, вот собственно описание формата:
Цитата:
The symbol file consists of zero or more lines of the format

"%x %s"
.

В чём причина такого неправильного поведения Bochs (в кавычки заключать каждую строку не надо - пробовал - bochs сказал, что файл некорректный)? Какие есть предположения?

Автор:  Himik [ 09 авг 2010, 11:55 ]
Заголовок сообщения:  Re: Bochs + fasm

Возможно, нужно прописывать с сегментом:
8:FFFFFFFFFFFFB24B kernel_entry
или так
cs:FFFFFFFFFFFFB24B kernel_entry

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/