Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Вызов подпрограммы на ассемблере из программы на С

Регистры управления работой линк-портов ADSP-2106x | Регистр LSRQ и его назначение | Механизм арбитража общей внешней шины | Приоритетный доступ процессорного ядра | Общие сведения | Поддерживаемые типы данных | Ассемблерные вставки | Использование памяти | Регистры компилятора | Передача параметров в функции и возврат значений |


Читайте также:
  1. IV. Участники программы
  2. RENDERING 1. Глобальный язык как глобальный вызов
  3. V. Этапы Программы
  4. VI. Награждение победителей Программы
  5. Аграрные программы политических партии
  6. Актуальность программы
  7. Актуальность программы

Хорошим стилем программирования считается описание прототипа ассемблерной функции для определения аргументов функции и интерфейса между программой на С и подпрограммой на ассемблере.

Модель run-time среды выполнения определяет некоторые регистры как рабочие (Scratch), а некоторые – как "сохраняемые при вызове" (Call Preserved). Scratch-регистры могут использоваться в ассемблерной подпрограмме без ограничений, не нужно заботиться о восстановлении их старых значений при выходе из подпрограммы. Если рабочих регистров недостаточно, то можно использовать CallPreserved-регистры, однако при входе в функцию следует сохранить их значения, а при выходе – восстановить. Следует стремиться к тому, чтобы использовать выделенные регистры по их прямому назначению (например, для работы со стеком), поскольку компилятор, библиотечные функции и прерывания предполагают именно такое их использование.

Компилятор предполагает, что режимы работы процессора во время выполнения asm-функции не изменяются.

Пример взаимодействия подпрограмм на С и ассемблере.

 


Дата добавления: 2015-11-16; просмотров: 55 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Описания имен и области их видимости| Вызов подпрограммы на С из подпрограммы на ассемблере

mybiblioteka.su - 2015-2024 год. (0.006 сек.)