Студопедия  
Главная страница | Контакты | Случайная страница

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

Гипотаталамус

Функции обработки прерываний

Функции обработки прерываний отличаются от обычных функций C по этому:

· Если используется, флажки и рабочие регистраторы сохранены

· вызовы функций обработки прерываний сделаны через векторы прерывания; прямые вызовы не позволяются

· нет аргументов для передачи в функции обработки прерываний

· возврат из функции обработки прерываний использует команду RETI.

Функции Монитора

Функции монитора вызывают блокирование прерываний в течение выполнения функции. При функциональном входе, состояние регистра SREG сохраняется и глобальные прерывания заблокированы. При выходе из функции происходит восстановление регистра SREG, и таким образом состояние прерывания, существующее перед функциональным запросом, также будет восстановлено

Примеры

Далее приводиться ряд примеров объявления и соответствующих соглашений о вызовах. Сложность примеров увеличивается к концу.

Пример 1

Предположим, что мы имеем следующее объявление функции:

intadd1(int);

Эта функция берет один параметр из регистров R17:R16, и возвращает значение к вызывающей её программе в регистрах R17:R16.

Следующая подпрограмма ассемблера совместима с объявлением; возвратит значение, которое является на один больше чем значение передаваемого параметра:

SUBI R16,FF

SBCI R17,FF

Пример 2

Этот пример показывает, как структуры передаются через стек. Предположим, что мы имеем следующие объявление:

struct a_struct { int a; int b; int c;};

int a_function(struct a_struct x, int y);

Функция запроса должна резервировать шесть байтов на вершине стека и копировать содержание struct к тому местоположению. Целочисленный параметр y передается в регистрах R17:R16. Возвращаемое значение передается назад к вызывающей программе в регистрах R17:R16.

Пример 3

Функция возвращающая struct.

structa_struct { int a; };

structa_structa_function(int x);

Функция запроса должна распределить местоположение памяти для возвращаемого значения и передавать указатель на неё как скрытый первый параметр. Указатель на местоположение, где возвращаемое значение должно быть сохранено, передается в первой паре регистра/регистров, которая является R16, R17:R16, и R18:R17:R16 для Tiny, Small, и Large модели памяти соответственно. Параметр x передается в R19:R18, R19:R18, и R21:R20 Tiny, Small, и Large модели памяти соответственно.

Предположим, что функция вместо того как объявляли, возвращает указатель на структуру:

structa_struct * a_function(int x);

В этом случае, возвращаемое значение - скаляр, так не имеется никакого скрытого параметра. Параметр x пропускают в R17:R16. Возвращаемое значение возвращено в R16, R17:R16, и R18:R17:R16 для Tiny, Small, и Large модели памяти соответственно.

Информация о структуре вызовов

При отладке приложения, использующего C-SPY, возможно рассмотреть стек вызовов, то есть функции, которые вызвали текущую функцию. Компилятор делает этот возможным, добавляя информацию отладки, которая описывает размещение структуры запроса, в особенности информацию относительно того, где сохранен адрес возврата.

CFI директивы обеспечат C-SPY информацией относительно состояния функции(й) запроса. Наиболее важный из этого - адрес возврата, и значение указателя вершины стека при входе подпрограммы ассемблера или функции. По этим данным C-SPY может восстанавливать состояние для функции вызова, и таким образом раскручивать стек.

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

При описании информации структуры вызовов следующие три условия должны присутствовать:

· имя блока описания доступных ресурсов, которые будут прослежены

· общий блок, соответствующий соглашению о вызовах

· блок данных описание изменений, которые выполнены в структуре вызова. Это типично включает информацию относительно того, когда указатель вершины стека изменен, и когда постоянные регистры сохранены или восстановлены из стека.

 

Гипотаталамус

В промежуточном мозге расположен участок, называемый гипоталамусом. В нем есть нервные клетки, которые вырабатывают нейрогормоны. Особенность этих клеток в том, что их аксоны образуют синапсы в стенках кровеносных сосудов. И вещества, выделяемые синапсами, попадают в кровь. По кровеносным сосудам нейрогормоны с током крови попадают в центральную железу эндокринной системы – гипофиз. Он посылает свои гормоны другим железам, регулируя их работу так, что объединяются именно те органы, которые участвуют в данной функции организма.

Гормон роста гипофиза. Гипофиз вырабатывает несколько гормонов. Один из них влияет на рост человека. Проникая в клетки, он усиливает выработку белков на рибосомах, вследствие чего клетки быстрее растут и делятся. При недостатке этого гормона рост замедляется, и длина тела взрослого человека порой не превышает 120 см. Любопытно, что пропорции тела при этом остаются нормальными, умственные способности сохраняются. Гипофизарные карлики в ряде случаев добивались высоких результатов в различных видах деятельности. При избытке гормона роста увеличение длины тела происходит ненормально быстро и может превысить 240 см у взрослого человека. Это гигантизм. Бывают случаи, когда гормон роста вырабатывается с избытком в то время, когда процессы роста уже закончились. Тогда происходит непропорциональное увеличение органов, которые еще не потеряли возможность расти. Возникают усиленный рост носа, языка, конечностей или ушей. Эту болезнь называют акромегалией.

Свойства гормонов. Главное свойство гормонов заключается в том, что они действуют на определенные органы или клетки в ничтожно малых количествах. Органы, на которые действуют гормоны, называют органами-адресатами данного гормона или органами-мишенями. Другое свойство гормонов заключается в том, что после своего действия гормон разрушается. Благодаря этому создается возможность для следующих гормональных воздействий. Если бы предшествующие порции гормонов не разрушались, последующие не могли бы действовать. Но если гормоны непрерывно разрушаются, то они должны непрерывно вырабатываться в течении всей жизни, что и происходит в здоровом организме. Изменение активности желез внутренней секреции и нарушение их функций приводит к серьезным расстройствам.

 




Дата добавления: 2014-12-19; просмотров: 46 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав