Связка ассемблера + скриптовые языки

Тема в разделе "WASM.BEGINNERS", создана пользователем Shukuchi, 30 ноя 2009.

  1. Shukuchi

    Shukuchi New Member

    Публикаций:
    0
    Регистрация:
    1 апр 2009
    Сообщения:
    6
    Здравствуйте! Очень интересует такой вопрос, можно ли использовать Asm + Lua без посредников в виде COM ?(действительно ли технология COM так сложна ?)
    Имееются ли другие способы вызова каждой функции скриптового языка в асме отличные от:
    Код (Text):
    1. import custom,\
    2.          ByName,'FunctionName'
    P.S. использую Fasm, OpenGL, очень хочется подрубить Lua или другой скриптовый язык.
    Заранее благодарю! Хочется получить ответ, так как полюбил asm и не хочу уже расставаться с ним. =*
     
  2. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    при чем там вообще ком?
    А так можно
     
  3. Shukuchi

    Shukuchi New Member

    Публикаций:
    0
    Регистрация:
    1 апр 2009
    Сообщения:
    6
    а как это возможно реализовать ? Там же библиотеки импорта для высокоуровневых языков заточены поддержки ассемблера нет, как асм подцепит их ? Просьба не пинать(
     
  4. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    Shukuchi
    не знаю как кто, но я очевидные вещи не объясняю. ТАк что читай основы. И вообще асм тебе не нужен поверь, переходи на си.
     
  5. Shukuchi

    Shukuchi New Member

    Публикаций:
    0
    Регистрация:
    1 апр 2009
    Сообщения:
    6
    ну вот "хороший" ответ в рубрике для новичков "переходи на с" =\ . Возник вопрос так сразу на корню рубите. Не сталкивался с этим в "основах", прочитал Калашникова(хотя он под 16 бит), Уроки Iczelion'а, ещё книжки. Нигде не нашёл про связку асма и какого нибудь другого языка. Если это есть в "основах" я наверно плохо искал. Наверно разгадка где-то близко и через библиотеки импорта. Но что то я как гномы из изветсного мультика.
    Хотел получить ответ хотя бы ввида:
    1. Берёшь библиотеку из дистрибутива.
    2. Достаёшь описание функций (каким образом асм узнает по какому адресу искать функцию "lea" ?)
    3. ?????
    4. Вызываешь в асме invoke, stdcall-ом, макросом? передаёшь параметры в стек и работаешь.
     
  6. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    а что асм связывать с луа? особенно если хватает стандартного С апи

    единственно что не забываем, что С имена манглит (в зависимости от компилятора. мсвс перед именем добавляет "_") ну и в каком формате представляются числа. этот формат задается в конфиг-хидере перед компиляцией

    ну а далее читаем мануал к луа и вызываем

    пуш парН
    ...
    пуш пар2
    пуш Л
    салл луа_апифуу
    адд есп,4*Н

    стиль работы через С апи с виртуальной машиной - стандартный, стековый. вроде форта

    вот и все, в принципе. ничего сложного. если вам понадобятся возможности луа не присутствующие и не реализуемые стандартным апи.. вот тут и могут быть проблемы. иногда у начинающих, а иногда и движок надо до/переписывать
     
  7. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    SPA
    так и С не нужен. можно использовать и пас и С++ и другие ланги. вопрос в причине перехода - необходимость побыстрее сдать халтурку или разобраться как оно работает/выжать из кода-проца. оба варианта присутствуют на всех уровнях умений (при условии дальнейшего движения вперед. тс личный прогресс, а не соседский с полудемагогическим "общечеловеческим")
     
  8. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    Как писавший связку луа+си скажу что использовать здесь асм это
    1. Нерационально
    2. Очень тяжело
    Так что маловероятно тс когда-нибудь допишет свое детище.
     
  9. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    SPA
    как писавший связки луа с С, С++, масмом и фасмом и до/частично переписывавший сам луа, скажу
    дергать луа из асма и наоборот, используя стандартное луа-С апи не просто, а элементарно. и ничем кроме коррекций стека (с-калл конвенция) не отличается от вынь-апи (подробнее в #6).

    если не верите - экзампловый проект имени меня посмотрите. он как раз написан на смеси всего, включая луа, масм и фасм. ядро и граф либа там целиком и полностью на асме, те все сторонние либы так или иначе дергаются из него
     
  10. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    _basmp_
    ну вам может и элементарно, а мне не доставляет. Или там ктото все структуры уже прописал? все таки раз апи для си мне как то удобней на нем и писать, а так с вами не поспоришь там обычное сишное апи вызывай из чего хочешь.
     
  11. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    _basmp_
    да, про #6 ну простейшие примеры можно и на асме писать.... С усложнением программы мне уже как бы абстракции повыше хочеться.

    PS давайте уже завяжем с этим холиваром, он меня утоми ;(
     
  12. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    SPA
    да при чем тут холивар? я ж не говорю - долой С, С++ и прочее. я и сам ими пользуюсь когда надо. просто вопрос был про асм. так зачем сразу советовать переходить на мл, схему, дельфу и прочее?

    насчет простейшести. я пример привел. он простейший? тут скорее отношение сложности требований проги к возможностям проггера. вы уж извините меня, возможно таки да, задел меня вольфовый холивар против асма с кличем "ничего сложнее хеловорда на асме написать невозможно!".

    опять отмечу - я не против ни С, ни С++. и не пишу постоянно и все на асме. например счас у меня в проекте задействовано 5 - 6 языков, считая С и С++ за разные.
    я против криков и реклам святых граалей и философских камней. и стремления решать/называть простейшие вещи максимально доступным по вычурности способом. почти всегда практически не понимая его механизма и придумывая всякие детские оправдания этому
     
  13. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    _basmp_
    я советую от себя переходить на си. Мое имхо он с асмом только намучается.

    го стрелка пирса :derisive: шучу. Давайте завязывать!

    это точно оправдано? 0_о
     
  14. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.622
    Адрес:
    Russia
    пункт 2 - бред
    почитайте факу
     
  15. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    SPA
    ага. причем впоследствии надо будет добавить еще один, тк примененные уже не вытягивают один участок требований, а советы купить кластер поновее и подороже сильно сомневаюсь, что прокатят. + там надо будет сделать некоторые модификации в самом языке.. вобщем, зачем вам мои проблемы?
     
  16. Shukuchi

    Shukuchi New Member

    Публикаций:
    0
    Регистрация:
    1 апр 2009
    Сообщения:
    6
    _basmp_
    Вот поэтому!), Спасибо вам!) а ещё прочитавши холивары здесь на форуме и статью про деструктивный маркетинг дяди Билли. Мне важен личный прогресс именно поэтому хочу писать на асме.
    Пошёл разбираться дальше)
    Встретил на форуме колибриос "главный недостаток ассемблера - недостаточное количество ассемблерщиков."
    Спасибо.
    _basmp_ Вам особая благодарность!)