OSDev

для всех
Текущее время: 17 окт 2018, 23:05

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Bochs + fasm
СообщениеДобавлено: 03 авг 2010, 15:44 

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Bochs + fasm
СообщениеДобавлено: 04 авг 2010, 11:57 

Зарегистрирован: 16 фев 2010, 22:03
Сообщения: 101
Узнал, что файл симвлов Bochs должен иметь следующий формат:
"адрес_символа название_символа"
Где можно прочитать про формат файлов символов, который генерирует fasm?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Bochs + fasm
СообщениеДобавлено: 06 авг 2010, 10:16 

Зарегистрирован: 09 июл 2010, 20:00
Сообщения: 1
hxxp://board.flatassembler.net/topic.php?t=9792


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Bochs + fasm
СообщениеДобавлено: 06 авг 2010, 19:32 

Зарегистрирован: 16 фев 2010, 22:03
Сообщения: 101
Спасибо. Буду щас делать конвертер. Потом что получиться - выложу ту (исходники). Думаю необходимость сконвертировать сиимволы fasm в bochs возникает не только у меня.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Bochs + fasm
СообщениеДобавлено: 06 авг 2010, 21:31 

Зарегистрирован: 16 фев 2010, 22:03
Сообщения: 101
Что-то не получилось прикрепить 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 сказал, что файл некорректный)? Какие есть предположения?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Bochs + fasm
СообщениеДобавлено: 09 авг 2010, 11:55 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1065
Откуда: Балаково
Возможно, нужно прописывать с сегментом:
8:FFFFFFFFFFFFB24B kernel_entry
или так
cs:FFFFFFFFFFFFB24B kernel_entry


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB