асмбл. вставки в делфи и Бс++билдер ???

Тема в разделе "WASM.BEGINNERS", создана пользователем ksacvet777, 24 ноя 2006.

  1. ksacvet777

    ksacvet777 Александр

    Публикаций:
    0
    Регистрация:
    9 ноя 2006
    Сообщения:
    180
    Адрес:
    Кемеровская обл.
    Подскажи те плз., где достать инфу по вставке асм-блоков в Борл. с++ билдер ???

    прогуглил , но там толком , почему-то нет ! ????
     
  2. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    См. в хелпах. В дельфях все расписано в разделе Object Pascal Guide \ The built-in assembler
    В билдере не знаю, как-то на шару пытался посмотреть, но ничего не нашел - может плохо искал. В принципе должно быть примерно также как и в дельфях, а сишный асм-синтаксис и доп.фишки (типа emit) можно посмотреть например в msdn в справках по visual studio
     
  3. assorted

    assorted New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    227
    Не проще ли прилинковывать obj?
     
  4. CrazyFun

    CrazyFun New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2005
    Сообщения:
    129
    в билдере всегад делал так -
    _asm
    {
    .....
    }
     
  5. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    assorted
    На самом деле небольшие вставки удобнее делать с помощью блоков, упомянутых CrazyFun.
     
  6. ksacvet777

    ksacvet777 Александр

    Публикаций:
    0
    Регистрация:
    9 ноя 2006
    Сообщения:
    180
    Адрес:
    Кемеровская обл.
    crypto
    CrazyFun
    ну хорошо , а как взаимодействовать переменным из асм-вставке с переменными в других блоках ????
     
  7. OioVologda

    OioVologda New Member

    Публикаций:
    0
    Регистрация:
    21 ноя 2006
    Сообщения:
    91
    В Delphi / Pascal:
    Код (Text):
    1. asm
    2.  
    3. {Ваш код}
    4.  
    5. end;
    Можно еще
    Код (Text):
    1. procedure MyAsm(...); assembler;
    2. asm
    3.  
    4. {Ваш код}
    5.  
    6. end;
    В коде можно использовать имена переменных, видимых в данном блоке приложения.
     
  8. seeQ

    seeQ New Member

    Публикаций:
    0
    Регистрация:
    3 сен 2003
    Сообщения:
    71
    Использование ассемблера в Дельфи
    http://www.programmersclub.ru/files/book_1asmindelphi.rar
     
  9. gilg

    gilg New Member

    Публикаций:
    0
    Регистрация:
    19 май 2005
    Сообщения:
    527
    http://info.borland.com/techpubs/delphi/delphi5/oplg/assemblr.html
     
  10. DPX

    DPX New Member

    Публикаций:
    0
    Регистрация:
    13 фев 2005
    Сообщения:
    47
    Адрес:
    Russia
    вот ещё:
    http://dennishomepage.gugs-cats.dk/BASM-filer/BASMForBeginners.htm
    взял с КС DelphiKingdom
     
  11. CrazyFun

    CrazyFun New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2005
    Сообщения:
    129
    ну прример чтоли:

    Код (Text):
    1. int a;
    2. _asm
    3. {
    4. mov eax,a
    5. xor eax,eax
    6. mov a,eax
    7. }
    8. cout <<a;
    9.  
    10. //надеюсь я не перепутал оператор вывода с вводом))
    11. //поидее выведется ноль.
    вобщем переменные бявленные во внешнем блоке он видит как объявленные с помощь db и тп
     
  12. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    int a, b;
    _asm
    {
    mov eax, [a]
    add eax,
    mov , eax
    }
     
  13. CT

    CT New Member

    Публикаций:
    0
    Регистрация:
    17 окт 2006
    Сообщения:
    72
    в билдере делаю так:

    asm

    {
    .............
    };

    Вот только не знаю - добавляет ли компилятор код сохранения используемых регистров, если нет - нужно сохранять самому, а то можно навернуться
     
  14. ksacvet777

    ksacvet777 Александр

    Публикаций:
    0
    Регистрация:
    9 ноя 2006
    Сообщения:
    180
    Адрес:
    Кемеровская обл.
    Ребята , огромное всем спасибо !!!!