Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему процедура

процедураПроцедура представляет собой код, который может выполняться многократно и к которому можно обращаться из разных частей программы. Обычно процедуры предназначены для выполнения каких-то отдельных, законченных действий программы и поэтому их иногда называют подпрограммами.
Процедуры процедураПроцедура представляет собой код, который может выполняться многократно и к которому можно Команды CALL и RETДля работы с процедурами предназначены команды CALL и RET. С помощью команды CALL выполняется retВозврат из процедуры выполняется командой RET. Эта команда восстанавливает значение из вершины стека Помещение параметров в стекПеред вызовом процедуры параметры необходимо поместить в стек с Обращение к параметрам внутри процедурыДля обращения к параметрам внутри процедуры обычно используют Извлечение параметров из стекаПосле того, как процедура выполнилась, необходимо очистить стек, вытолкнув регистрыРегистры-указатели BP и SP используются для работы со стеком. BP (Base Pointer) позволяет работать с переменными в стеке. SP (Stack Указатель командУказатель команд IP (Instruction Pointer) содержит адрес команды (в сегменте кода). Напрямую изменять NEGЕсли необходимо в программе поменять знак числа на противоположный, можно использовать команду NEG.
Слайды презентации

Слайд 2 процедура
Процедура представляет собой код, который может выполняться многократно

процедураПроцедура представляет собой код, который может выполняться многократно и к которому

и к которому можно обращаться из разных частей программы.

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

Слайд 3 Команды CALL и RET
Для работы с процедурами предназначены

Команды CALL и RETДля работы с процедурами предназначены команды CALL и RET. С помощью

команды CALL и RET. С помощью команды CALL выполняется вызов процедуры. Эта команда работает почти

также, как команда безусловного перехода (JMP), но с одним отличием — одновременно в стек сохраняется текущее значение регистра IP. Это позволяет потом вернуться к тому месту в коде, откуда была вызвана процедура. В качестве операнда указывается адрес перехода, который может быть непосредственным значением (меткой), 16-разрядным регистром (кроме сегментных) или ячейкой памяти, содержащей адрес.

Слайд 4 ret
Возврат из процедуры выполняется командой RET. Эта команда восстанавливает

retВозврат из процедуры выполняется командой RET. Эта команда восстанавливает значение из вершины

значение из вершины стека в регистр IP. Таким образом,

выполнение программы продолжается с команды, следующей сразу после команды CALL. Обычно код процедуры заканчивается этой командой. Команды CALL и RET не изменяют значения флагов .




Слайд 5 Помещение параметров в стек
Перед вызовом процедуры параметры необходимо

Помещение параметров в стекПеред вызовом процедуры параметры необходимо поместить в стек

поместить в стек с помощью команды PUSH. Обычно используется обратный

порядок.Параметры помещаются в стек, начиная с последнего, так что перед вызовом процедуры на вершине стека оказывается первый параметр:

Слайд 6 Обращение к параметрам внутри процедуры
Для обращения к параметрам

Обращение к параметрам внутри процедурыДля обращения к параметрам внутри процедуры обычно

внутри процедуры обычно используют регистр BP. В самом начале

процедуры содержимое регистра BP сохраняется в стеке и в него копируется значение регистра SP. Это позволяет «запомнить» положение вершины стека и адресовать параметры относительно регистра BP.

Слайд 7 Извлечение параметров из стека
После того, как процедура выполнилась,

Извлечение параметров из стекаПосле того, как процедура выполнилась, необходимо очистить стек,

необходимо очистить стек, вытолкнув из него параметры. Тут тоже

существует 2 способа: стек может быть очищен самой процедурой или кодом, который эту процедуру вызывал. Для первого способа используется команда RET с одним операндом, который должен быть равен количеству байтов, выталкиваемых из стека. В нашем случае он должен быть равен количеству параметров, умноженному на 2.

Слайд 8 регистры
Регистры-указатели BP и SP используются для работы со стеком. BP (Base Pointer) позволяет

регистрыРегистры-указатели BP и SP используются для работы со стеком. BP (Base Pointer) позволяет работать с переменными в стеке.

работать с переменными в стеке. SP (Stack Pointer) указывает на вершину стека.

Он используется командами, которые работают со стеком.

Слайд 9 Указатель команд
Указатель команд IP (Instruction Pointer) содержит адрес команды

Указатель командУказатель команд IP (Instruction Pointer) содержит адрес команды (в сегменте кода). Напрямую

(в сегменте кода). Напрямую изменять его содержимое нельзя, но процессор делает

это сам. При выполнении обычных команд значение IP увеличивается на размер выполненной команды. Существуют также команды передачи управления, которые изменяют значение IP для осуществления переходов внутри программы.

  • Имя файла: protsedura.pptx
  • Количество просмотров: 97
  • Количество скачиваний: 0