Как переслать данные из Assembler в Delphi

Тема в разделе "WASM.BEGINNERS", создана пользователем Allexander, 25 окт 2006.

  1. Allexander

    Allexander New Member

    Публикаций:
    0
    Регистрация:
    25 окт 2006
    Сообщения:
    3
    Нужно переслать число из Assembler в Delphi, там изменить его, переслать обратно и вывести.
    Подскажите, кто знает!
    Please.
     
  2. Vasil

    Vasil Василь

    Публикаций:
    0
    Регистрация:
    7 янв 2006
    Сообщения:
    228
    Адрес:
    Ижевск
    - какой ассемблер, MASM32 или встроенный в Delphi?

    - где именно, в Delphi или в MASM32?!

    - то же самое...

    Allexander
    Писи конкретне!!!
     
  3. LazzY

    LazzY New Member

    Публикаций:
    0
    Регистрация:
    6 мар 2006
    Сообщения:
    123
    мэпинг и\или пайпы никто неоменял вроде :\\

    если я правельно понял вопрос)
     
  4. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    LazzY
    Может, ему задали написать приложение на Delphi с использованием асма или наоборот. Всё сводится к вызову функции Delphi из асма или асма из Delphi. В общем, поиск рулит.
     
  5. Allexander

    Allexander New Member

    Публикаций:
    0
    Регистрация:
    25 окт 2006
    Сообщения:
    3
    VASIL
    1. Assembler - любой
    2. Задача: в Assembler вводится число. Нужно из него вычислить корень квадратный, но сделать это (само вычисление корня) нужно, изпользуя Pascal/Delphi.
    P.S. В Assembler я не очень шарю.
     
  6. masquer

    masquer wasm.ru

    Публикаций:
    0
    Регистрация:
    13 сен 2002
    Сообщения:
    890
    Адрес:
    Николаев
    перфокарты подойдут?

    в связной речи и описании задачи, очевидно, тоже
     
  7. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Напиши DLL на Delphi, В ней экспортируй функцию _sqrt_.
    А в проге на асме подгружай DLL и вызывай _sqrt_.
    PS: Само собой это для WIndows.
     
  8. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Allexander
    Т.е. ассемблер (вернее код, который нужно написать на ассемблере) запрашивает у юзера число и читает его (через консоль, к примеру), так? Потом вызывает функцию на ЯВУ (Delphi), чтобы вычислить квадратный корень. Логичнее сделать всё наоборот, т.е. читать число на Delphi (с использованием графического интерфейса и т.д.), а обрабатывать в ассемблере. Логичнее так, потому что ассемблер обычно используется не для организации UI, а для реализации требовательных к машинным ресурсам алгоритмов.
     
  9. LazzY

    LazzY New Member

    Публикаций:
    0
    Регистрация:
    6 мар 2006
    Сообщения:
    123
    [17:01] lord_Phoenix: readln(Assembler);
    [17:01] lord_Phoenix: writeln(sqrt(Assembler));
     
  10. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    LazzY
    А где var Assembler : Integer; ? :)
     
  11. Allexander

    Allexander New Member

    Публикаций:
    0
    Регистрация:
    25 окт 2006
    Сообщения:
    3
    1. n0name напиши как подгрузить DLL в проге на асме.
    2. Quantum может и логичнее делать наоборот, но задача стоит такая!!!
     
  12. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Allexander
    LoadLibrary/GetProcAddress.
    Для асма
    Код (Text):
    1. LibName db "mylib.dll", 0
    2. ProcName db "_sqrt_", 0
    3. LibInst dd 0
    4. value dd 4
    5. ...
    6. invoke LoadLibrary, offset LibName
    7. mov LibInst, eax
    8. invoke GetProcAddress, eax, offset ProcName
    9. push value
    10. call eax
    11. invoke FreeLibrary, LibInst
     
  13. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    В Delphi добавь после объявления процедуры stdcall;
     
  14. P_F

    P_F New Member

    Публикаций:
    0
    Регистрация:
    27 мар 2006
    Сообщения:
    116
    Адрес:
    Russia
    Или вообще статически прилинкуй DLL...