Найти - Пользователи
Полная версия: python + asm
Начало » Python для экспертов » python + asm
1 2
pythonwin
Всем привет!

Пожалуйста, подскажите как в питоне подключить код на asm

код асемблера можно посмотреть на http://forum.vingrad.ru/index.php?showtopic=116283&view=findpost&p=984833
slivlen
Можно попробовать на Си написать питоновский модуль и в сишный код вставить ассемблерный.
pythonwin
slivlen
Можно попробовать на Си написать питоновский модуль и в сишный код вставить ассемблерный.
спасибо :)
-=<fantom>=-
Почему собственно тут верховенствует Си?!
Дайшь ассемблер на Питоне!!! :)
-=<fantom>=-
Вообще, почему бы и нет?
Парсер нада? На Python'е - легко!
Коды подставлять? Берём flat-assembler и выдёргиваем, что надо. :)
На практике, мои готовые файлы не выходили за пределы 4 кило.
Каждый раз всё компилить - смысла особого нет. Сырые бинарники и так можно сшивать. :)
А ещё лучше виртуальную машину нарисовать.
slav0nic
http://pyastra.sourceforge.net/
krwlr
есть еще такое чудо: pyasm
http://mysite.verizon.net/olsongt/, еще не опробовал, только скачал.
pythonwin
krwlr, спасибо - как опробуешь, пожалуйста, опиши :)
-=<fantom>=-
Ну вот видите.
На Python'e да ассемблер не нарисовать - это же просто грех. ;)
krwlr
2 pythonwin:
Что сказать?

Короче натравил профайлера на две процедуры “хелло ворлд” и вышло примерно это:
асм_процедура: 156 calls in 0,007 CPU
питон_процедура: 240 calls in 0,015 CPU.
а время выполнения timeit почти одинаковые, разница оочень маленькая, не запомнил.
Это примерно, проверял день назад, и забыл. Сам пакет так не установится, нужен еще winpy, или pywin, pythonwin короче :-), все пробовал на питон24, т.к сам пиасм и пивин под версии 2.4 были.
Там короче можешь забыть про всякие int 21h и т.п.
В документации вроде-бы говорится что идет под *nix и win, кроссасм :-), тогда нафиг устанавливать пивин? у меня по инструкции
int (любое hex число), выбивало “ошибка приложения, отправить сообщение об ошибка биллу? Да\Нет”. Такое ощущения что это просто позволяет писать опкоды вместо \xff\x5c\bla-bla.
Короче ассемблер я знаю на уровне “хелло-ворлд”, так что не опытен и может быть чего-то недопонимаю или в чем-то неправ, мне не понравилось, но пробовать надо.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB