Wildwest
Может, но в это строку надо ещё SSE32/SSE64/MMX128 и для AVX место оставить.
MTDBG - отладчик пользовательского уровня
Чтобы не потерялось - копирую из чата инструкцию от CleverMouse для генерирования *.dbg-файла (для MTDBG) из FASM под Linux:Mario wrote:Также, если кому интересно - список меток с адресами можно получить использовав утилиты идущие в комплекте с FASM.
Например для линуксовой версии это выглядит приблизительно так:Однако даже самый очищенный файл, полученный из утилиты symbols, содержит мусор. И к тому же порядок следования названий меток и адресов наоборот от требуемого для отладчика.Code: Select all
#!/bin/bash # echo "lang fix ru" echo "lang fix ru" > lang.inc fasm -m 16384 animage.asm animage -s animage.fas listing -b 4 animage.fas animage.dbg symbols animage.fas animage.sbl rm -f lang.inc exit 0
У меня есть планы прикрутить OpenDialog к отладчику для выбора отлаживаемого файла. Существующий синтаксис при этом не поменяется. Добавится только одна опция указывающая брать путь из области полученной от OpenDialog. По пути возможно доработаю утилиту symbols до необходимого отладчику формата *.dbg
CleverMouse « Fri Nov 21, 2014 5:16 pm » listing - утилита из комплекта fasm, если она даже не запускается, пусть сами разбираются, в чём дело
CleverMouse « Fri Nov 21, 2014 5:17 pm » yogev_ezra: я не удивлюсь, если они собрали tools/dos/listing.asm и удивляются, почему не работает
CleverMouse « Fri Nov 21, 2014 5:18 pm » я также не удивлюсь, если они скомпилировали tools/libc/listing.asm, но не слинковали
yogev_ezra « Fri Nov 21, 2014 5:18 pm » CleverMouse: А есть более простой способ получения .dbg для MTDBG под Linux?
CleverMouse « Fri Nov 21, 2014 5:21 pm » yogev_ezra: symbols kernel.fas kernel.lst && perl -ne 'print "$2\t$1\n" if m/([^:]*): (0x[^,]{16}),/ && $1 ne "@@"'
CleverMouse « Fri Nov 21, 2014 5:21 pm » listing - оно вообще не про то
yogev_ezra « Fri Nov 21, 2014 5:22 pm » CleverMouse: А symbols - тоже утилита из комплекта fasm, или встроенная в shell?
CleverMouse « Fri Nov 21, 2014 5:23 pm » yogev_ezra: утилита из комплекта fasm
yogev_ezra « Fri Nov 21, 2014 5:25 pm » CleverMouse: И kernel.lst можно будет скормить MTDBG, и будет достаточно?
CleverMouse « Fri Nov 21, 2014 5:26 pm » symbols kernel.fas kernel.lst && perl -ne 'print "$2\t$1\n" if m/([^:]*): (0x[^,]{16}),/ && $1 ne "@@"' kernel.lst > kernel.dbg
CleverMouse « Fri Nov 21, 2014 5:26 pm » kernel.lst в другом формате, однострочник на perl выбрасывает мусор и переводит формат
Багрепорт.
SLenik wrote:Увидел в MTDBG ошибку - неверно дизассемблировалась инструкция ЯМК: 66 83 C3 80. В переводе на асм это значит "add bx, -128" или "add bx, 0FF80h". Но отладчик показывает эту инструкцию как "add bx, 0FFFFFF80h" что очевидно неверно (в микропроцессоре Intel размеры операндов у команды сложения должны быть одинаковы).
Из хаоса в космос
I hacked the 'symbols' tool that comes distributed with fasm, to generate .dbg file from .fas files.
Replace symbols.inc that comes with fasm (in 'tools' directory) with my version (http://ftp.kolibrios.org/users/hidnplayr/SYMBOLS.INC) and you can assemble a converter for windows/dos/linux!
Replace symbols.inc that comes with fasm (in 'tools' directory) with my version (http://ftp.kolibrios.org/users/hidnplayr/SYMBOLS.INC) and you can assemble a converter for windows/dos/linux!
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." Albert Einstein
И правильно, так оно и было, спасибо %)я также не удивлюсь, если они скомпилировали tools/libc/listing.asm, но не слинковали
Thanks a lot.I hacked the 'symbols' tool that comes distributed with fasm, to generate .dbg file from .fas files.
При пошаговой отладке, примерно через каждые 10 шагов, происходит исключение 0D (General protection fault). При этом нельзя сделать следующий шаг. Однако можно ввести команду g <адрес_следующей_строки> и шагать дальше.
MTDBG хорошая вещь, но очень надоедает пошаговое выполнение. Желательно бы добавить отслеживание системных и библиотечных вызовов.
Как оказалось, ещё за год до моего сообщения (скриншот под вторым спойлером) viewtopic.php?f=2&t=3297&p=66501#p66501 было известно
Но похоже, что воз и ныне тамsam0delk1n wrote:При пошаговой отладке, примерно через каждые 10 шагов, происходит исключение 0D (General protection fault).
не сталкивался
Я когда-то что-то запускал под отладчиком - такого не было.
Оказалось, что наш дебаггер не понимает имена файлов, содержащие пробелы.
Пробовал через командную строку, также с помощью команды дебаггера load, и пробовал писать путь в кавычках.
В результате пишет: "Cannot load program. File not found."
Сам загружаемый файл существует.
Пробовал через командную строку, также с помощью команды дебаггера load, и пробовал писать путь в кавычках.
В результате пишет: "Cannot load program. File not found."
Сам загружаемый файл существует.
Spoiler:
Проверил http://board.kolibrios.org/viewtopic.ph ... 157#p68065 на реальном железе — проблем не было, наверное, это глюк VirtualBox.
Обнаружил ошибку в MTDBG, при загрузке системы с расширением 800*600 окно MTDBG с большим шрифтом не влазит в экран.
Но это еще пол беды, проблема в том что отладчик входит в вечный мигательный цикл и с ним ничего уже сделать нельзя.
При больших экранах все работает как надо.
Но это еще пол беды, проблема в том что отладчик входит в вечный мигательный цикл и с ним ничего уже сделать нельзя.
При больших экранах все работает как надо.
BTW: SSE and maybye AVX support will be IMHO very useful. I think it's not only my opinion.
SVN rev. 8591:
- исправлен баг с отображением меток, загруженных из отладочного файла; вот так он выглядел:
Spoiler:
- история команд (прокручивается с помощью стрелок вверх/вниз)
- слегка освежил документацию к программе
Who is online
Users browsing this forum: No registered users and 2 guests