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

Процедуры

Читайте также:
  1. Изменения соглашения о применения процедуры медиации
  2. Особенности и процедуры агентского бизнеса. Функции и виды турагентов.
  3. Особенности проведения процедуры обследования.
  4. Понятие таможенной процедуры и элементы составляющие ее.
  5. Процедуры аудита в условиях КОД.
  6. Тема 5. Процедуры и функции
  7. Что Вы понимаете под Реестром объекта недвижимости? Какие кадастровые процедуры выполняются при внесении в Реестр объекта недвижимости кадастровых сведений?

Основная функциональная единица декомпозиции некоторых задач. Команды обеспечения и исполнения процедур должны выполнять 3 функции:

1) обеспечить сохранение содержимого указателя команд (регистр IP). Когда процедура исполнена, находящийся в этом указателе адрес используется процессором для возврата к месту вызова, поэтому этот адрес носит название «адрес возврата»

2) заставить процессор выполнять эти процедуры

3) использовать сохраненное содержимое указателя команд для возврата в программу и обеспечить продолжение её исполнения с этого места

Назначение данных директив, которые описываются в теле процедуры, - помочь программисту выполнить некоторые рутинные действия при вызове и возврате. Первые 2 директивы (ARG и RETURNS) назначают входным и выходным параметрам процедуры значения, передаваемые через стек CPU или математического сопроцессора. Параметры всегда вычисляются и помещаются в стек в той последовательности, в которой они появляются в объявлении программы. Директива USES использует в качестве параметров имена используемых в процедуре регистров. RET – команда, которая выполняет функцию возврата из процедуры в программу, вызвавшую эту процедуру. Команда должна быть последней командой процедуры, исполняемой процессором.

Принципиальное различие описания процедур:

1) атрибут расстояния – NEAR и FAR. NEAR – для обращения к процедуре в текущем сегменте кода. FAR – для обращения к процедуре внешней по отношению к текущему сегменту кода. В этой связи следует обратить внимание, что основная процедура программы на ассемблере должна иметь атрибут расстояния FAR, так как для программы с загрузчика она является внешней

2) процедуру можно помещать в любое место программы, но таким образом, чтобы управление передавалось ей только в нужное время. Процедуру лучше размещать в начале программы, до первой исполняемой команды или в конце программы, после возвращения управления ОС

3) если процедура размещена внутри другой процедуры или основной программы, то следует не забыть предусмотреть обход процедуры, поставив перед началом процедуры безусловный переход

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

5) турбо ассемблер выполняет всю работу по генерации корректного кода начала (вход в процедуру) и завершения (выход из процедуры)


1 | 2 | 3 | 4 | 5 | 6 | 7 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.)