Pull to refresh
36
0
Дмитрий Манушин @Dman95

User

Send message
Спасибо. Я добавил возможность просмотра всего списка регистров. Теперь ее можно включить в настройках.
Я проверял на NASM, так как в принципе для этого ассемблера все и писалось изначально. Там пришлось настраивать опции компиляции, что я делал наугад (там использовались цифры для обозначения входных/выходных файлов на каждом этапе сборки), потому что справка оказалась пустой.
Такое чувство, что это все нормально работало ранее (и опции были правильные, и справка, и мышка) и просто не работает на новых версиях Windows.

С MASM32 и правда ситуация получше. Настраивать пути и опции не нужно — все сразу собралось. И даже мышка работает. После некоторых шаманств, отладчик внутри запустился и даже остановился на каком-то брейкпоинте, но никакие другие команды в нем не работали. Может я делал что-то не так, может опять же все это из-за Windows 8.
Ну да, хорошо бы добавить.
Должна проскакивать. Возможно, функция check_http не формирует фрейм:
функция должна быть записана в виде
    push ebp
    mov ebp, esp
    <произвольный код>
    mov esp, ebp
    pop ebp ;или leave вместо последних 2 инструкций
    ret

Это написано в справке. Если функция не формирует фрейм, GDB может неправильно распознавать функцию и соответственно «Step over» будет работать неправильно. Более того, может неправильно работать определение текущей строки при отладке.
RadASM конечно же смотрел. Но там немного другая концепция. Я хотел сделать простую IDE, чтобы можно было сразу запустить и без особых настроек начать программировать. RadASM наоборот сделан более сложным и настраиваемым. К тому же, как я писал, в первую очередь SASM предназначался для контестов — там можно легко потестировать программу с помощью полей ввод и вывод.

Отладчик запустить внутри в нем тоже не получилось. Можно отлаживать только в ollydbg (что было бы вполне приемлимо, если бы не макросы, которые разворачиваются ассемблером в большой непонятный набор инструкций).

Из маленьких багов, которые бросились в глаза — мышка почему-то не прокручивает исходный код (Windows 8).
Да и на Linux его нет.
Вообще это не вписывается в начальную концепцию. Однако можно в опциях прописать соответствующие параметры и потом сохранять результат через «Сохранить .exe» в меню «Файл».
Не сталкивался с ARM. Но если для него бинарники строятся по сути такими же программами-ассемблерами, как и для PC, то прикрутить можно. Смотрите мой ответ на комментарий выше.
Возможно, если будет время. Проект открытый — так что можете и сами попробовать. Вообще добавить ассемблер не очень сложно — достаточно написать реализацию абстрактного класса Assembler и добавить выбор нового ассемблера в настройки.
У меня нет Mac OS — так что я не могу. Но теоретически программу можно собрать под нее.
Однако там есть некоторые системно-зависимые куски кода, которые тестировались только на Windows и Linux. Возможно их нужно будет немного подправить.
Да, я знаю. Но это было сделано из соображений того, чтобы можно было сразу запустить программу на Windows после клонирования и сборки. Не знаю как это сделать без бинарников ассемблеров в репозитории.

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity