Asm вставки

Тема в разделе "LANGS.C", создана пользователем P_F, 22 авг 2007.

  1. P_F

    P_F New Member

    Публикаций:
    0
    Регистрация:
    27 мар 2006
    Сообщения:
    116
    Адрес:
    Russia
    Кто-нибудь может пролить свет на вопрос Асм вставок в Си?
    Язык Си вроде как стандартизирован и платформо переносимым но что же тогда с Асм вставками?
    Насколько я понимаю они являются всего лишь "фишкой" компилятора - каждый компилятор поддерживает свой
    синтаксис вставок(есть вроде которые вообще не их поддерживаю)...
    Собственно кто интересовался этим вопросом или знает литературку был бы признателен.
     
  2. Quantum

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

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Какая в асме может быть переносимость?! Зачем тогда единый стандарт?
     
  3. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    #ifdef _MSVC_
    asm { ... }
    #elif _GNUC_
    asm { ... }
    #else
    ...
    #endif
     
  4. t00x

    t00x New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2007
    Сообщения:
    1.921
    Если C - стандартизирован, то:

    язык C - платформонезависимый и процессоронезависимый;
    assembler - процессорозависимый язык, синтаксис asm'а (но не команды) может меняться от платформы к платформе, а синтаксис C остаётся неизменным.

    P.S. существуют различные реализации версий языка Си на разные платформы, т.е. некоторые отличия всё же есть.
     
  5. rain

    rain New Member

    Публикаций:
    0
    Регистрация:
    22 апр 2006
    Сообщения:
    976
    а в гну С есть что-то вроде интристиков __movsb(..), __cpuid(..) ... ?
     
  6. P_F

    P_F New Member

    Публикаций:
    0
    Регистрация:
    27 мар 2006
    Сообщения:
    116
    Адрес:
    Russia
    Всем спасибо за ответы
    Интересно просто бы:
    компилятор Си gcc (с AT&T синтаксисом Асм вставок) портирован под макинтоши,
    соберётся ли код с Асм вставкой который собирался на интеле?
    Что то подсказывает что нет...