pythonwin
Янв. 5, 2007 10:20:06
Всем привет!
Пожалуйста, подскажите как в питоне подключить код на asm
код асемблера можно посмотреть на
http://forum.vingrad.ru/index.php?showtopic=116283&view=findpost&p=984833
slivlen
Янв. 5, 2007 11:32:13
Можно попробовать на Си написать питоновский модуль и в сишный код вставить ассемблерный.
-=<fantom>=-
Янв. 12, 2007 14:38:31
Почему собственно тут верховенствует Си?!
Дайшь ассемблер на Питоне!!! :)
-=<fantom>=-
Янв. 14, 2007 15:28:59
Вообще, почему бы и нет?
Парсер нада? На Python'е - легко!
Коды подставлять? Берём flat-assembler и выдёргиваем, что надо. :)
На практике, мои готовые файлы не выходили за пределы 4 кило.
Каждый раз всё компилить - смысла особого нет. Сырые бинарники и так можно сшивать. :)
А ещё лучше виртуальную машину нарисовать.
krwlr
Янв. 15, 2007 10:50:09
есть еще такое чудо: pyasm
http://mysite.verizon.net/olsongt/, еще не опробовал, только скачал.
pythonwin
Янв. 15, 2007 11:17:15
krwlr, спасибо - как опробуешь, пожалуйста, опиши :)
-=<fantom>=-
Янв. 16, 2007 23:04:57
Ну вот видите.
На Python'e да ассемблер не нарисовать - это же просто грех. ;)
krwlr
Янв. 17, 2007 09:05:39
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.
Короче ассемблер я знаю на уровне “хелло-ворлд”, так что не опытен и может быть чего-то недопонимаю или в чем-то неправ, мне не понравилось, но пробовать надо.