Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 5, 2007 10:20:06

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

python + asm

Всем привет!

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

код асемблера можно посмотреть на http://forum.vingrad.ru/index.php?showtopic=116283&view=findpost&p=984833



Офлайн

#2 Янв. 5, 2007 11:32:13

slivlen
От:
Зарегистрирован: 2006-07-06
Сообщения: 764
Репутация: +  0  -
Профиль   Отправить e-mail  

python + asm

Можно попробовать на Си написать питоновский модуль и в сишный код вставить ассемблерный.



Офлайн

#3 Янв. 5, 2007 11:38:40

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

python + asm

slivlen
Можно попробовать на Си написать питоновский модуль и в сишный код вставить ассемблерный.
спасибо :)



Отредактировано (Янв. 5, 2007 11:38:52)

Офлайн

#4 Янв. 12, 2007 14:38:31

-=<fantom>=-
От:
Зарегистрирован: 2006-08-12
Сообщения: 121
Репутация: +  0  -
Профиль   Отправить e-mail  

python + asm

Почему собственно тут верховенствует Си?!
Дайшь ассемблер на Питоне!!! :)



Офлайн

#5 Янв. 14, 2007 15:28:59

-=<fantom>=-
От:
Зарегистрирован: 2006-08-12
Сообщения: 121
Репутация: +  0  -
Профиль   Отправить e-mail  

python + asm

Вообще, почему бы и нет?
Парсер нада? На Python'е - легко!
Коды подставлять? Берём flat-assembler и выдёргиваем, что надо. :)
На практике, мои готовые файлы не выходили за пределы 4 кило.
Каждый раз всё компилить - смысла особого нет. Сырые бинарники и так можно сшивать. :)
А ещё лучше виртуальную машину нарисовать.



Офлайн

#6 Янв. 14, 2007 16:15:21

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

Офлайн

#7 Янв. 15, 2007 10:50:09

krwlr
От:
Зарегистрирован: 2007-01-15
Сообщения: 26
Репутация: +  0  -
Профиль   Отправить e-mail  

python + asm

есть еще такое чудо: pyasm
http://mysite.verizon.net/olsongt/, еще не опробовал, только скачал.



Офлайн

#8 Янв. 15, 2007 11:17:15

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

python + asm

krwlr, спасибо - как опробуешь, пожалуйста, опиши :)



Отредактировано (Янв. 15, 2007 11:17:29)

Офлайн

#9 Янв. 16, 2007 23:04:57

-=<fantom>=-
От:
Зарегистрирован: 2006-08-12
Сообщения: 121
Репутация: +  0  -
Профиль   Отправить e-mail  

python + asm

Ну вот видите.
На Python'e да ассемблер не нарисовать - это же просто грех. ;)



Офлайн

#10 Янв. 17, 2007 09:05:39

krwlr
От:
Зарегистрирован: 2007-01-15
Сообщения: 26
Репутация: +  0  -
Профиль   Отправить e-mail  

python + asm

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.
Короче ассемблер я знаю на уровне “хелло-ворлд”, так что не опытен и может быть чего-то недопонимаю или в чем-то неправ, мне не понравилось, но пробовать надо.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version