🗊 Презентация Подпрограммы. Выполнение подпрограмм

Нажмите для полного просмотра!
Подпрограммы. Выполнение подпрограмм, слайд №1 Подпрограммы. Выполнение подпрограмм, слайд №2 Подпрограммы. Выполнение подпрограмм, слайд №3 Подпрограммы. Выполнение подпрограмм, слайд №4 Подпрограммы. Выполнение подпрограмм, слайд №5 Подпрограммы. Выполнение подпрограмм, слайд №6 Подпрограммы. Выполнение подпрограмм, слайд №7 Подпрограммы. Выполнение подпрограмм, слайд №8 Подпрограммы. Выполнение подпрограмм, слайд №9 Подпрограммы. Выполнение подпрограмм, слайд №10 Подпрограммы. Выполнение подпрограмм, слайд №11 Подпрограммы. Выполнение подпрограмм, слайд №12 Подпрограммы. Выполнение подпрограмм, слайд №13 Подпрограммы. Выполнение подпрограмм, слайд №14 Подпрограммы. Выполнение подпрограмм, слайд №15 Подпрограммы. Выполнение подпрограмм, слайд №16 Подпрограммы. Выполнение подпрограмм, слайд №17 Подпрограммы. Выполнение подпрограмм, слайд №18 Подпрограммы. Выполнение подпрограмм, слайд №19 Подпрограммы. Выполнение подпрограмм, слайд №20 Подпрограммы. Выполнение подпрограмм, слайд №21 Подпрограммы. Выполнение подпрограмм, слайд №22 Подпрограммы. Выполнение подпрограмм, слайд №23 Подпрограммы. Выполнение подпрограмм, слайд №24 Подпрограммы. Выполнение подпрограмм, слайд №25 Подпрограммы. Выполнение подпрограмм, слайд №26 Подпрограммы. Выполнение подпрограмм, слайд №27 Подпрограммы. Выполнение подпрограмм, слайд №28 Подпрограммы. Выполнение подпрограмм, слайд №29 Подпрограммы. Выполнение подпрограмм, слайд №30 Подпрограммы. Выполнение подпрограмм, слайд №31 Подпрограммы. Выполнение подпрограмм, слайд №32 Подпрограммы. Выполнение подпрограмм, слайд №33 Подпрограммы. Выполнение подпрограмм, слайд №34 Подпрограммы. Выполнение подпрограмм, слайд №35 Подпрограммы. Выполнение подпрограмм, слайд №36 Подпрограммы. Выполнение подпрограмм, слайд №37 Подпрограммы. Выполнение подпрограмм, слайд №38 Подпрограммы. Выполнение подпрограмм, слайд №39 Подпрограммы. Выполнение подпрограмм, слайд №40 Подпрограммы. Выполнение подпрограмм, слайд №41 Подпрограммы. Выполнение подпрограмм, слайд №42 Подпрограммы. Выполнение подпрограмм, слайд №43 Подпрограммы. Выполнение подпрограмм, слайд №44 Подпрограммы. Выполнение подпрограмм, слайд №45 Подпрограммы. Выполнение подпрограмм, слайд №46 Подпрограммы. Выполнение подпрограмм, слайд №47 Подпрограммы. Выполнение подпрограмм, слайд №48 Подпрограммы. Выполнение подпрограмм, слайд №49

Содержание

Вы можете ознакомиться и скачать презентацию на тему Подпрограммы. Выполнение подпрограмм. Доклад-сообщение содержит 49 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Подпрограммы
Описание слайда:
Подпрограммы

Слайд 2


Выполнение подпрограмм
Описание слайда:
Выполнение подпрограмм

Слайд 3


Команды процессора для работы с подпрограммами Вызов подпрограммы – CALL Возврат из подпрограммы – RET команды относятся к командам передачи...
Описание слайда:
Команды процессора для работы с подпрограммами Вызов подпрограммы – CALL Возврат из подпрограммы – RET команды относятся к командам передачи управления

Слайд 4


Команды процессора для работы с подпрограммами
Описание слайда:
Команды процессора для работы с подпрограммами

Слайд 5


Команды процессора для работы с подпрограммами
Описание слайда:
Команды процессора для работы с подпрограммами

Слайд 6


Команды процессора для работы с подпрограммами
Описание слайда:
Команды процессора для работы с подпрограммами

Слайд 7


Команды процессора для работы с подпрограммами
Описание слайда:
Команды процессора для работы с подпрограммами

Слайд 8


Команды процессора для работы с подпрограммами
Описание слайда:
Команды процессора для работы с подпрограммами

Слайд 9


Команды процессора для работы с подпрограммами
Описание слайда:
Команды процессора для работы с подпрограммами

Слайд 10


Команды процессора для работы с подпрограммами
Описание слайда:
Команды процессора для работы с подпрограммами

Слайд 11


Команды процессора для работы с подпрограммами
Описание слайда:
Команды процессора для работы с подпрограммами

Слайд 12


Команды процессора для работы с подпрограммами
Описание слайда:
Команды процессора для работы с подпрограммами

Слайд 13


Команды процессора для работы с подпрограммами
Описание слайда:
Команды процессора для работы с подпрограммами

Слайд 14


Команды процессора для работы с подпрограммами
Описание слайда:
Команды процессора для работы с подпрограммами

Слайд 15


Команды процессора для работы с подпрограммами
Описание слайда:
Команды процессора для работы с подпрограммами

Слайд 16


Где описываются программы MOV … Procedure: ADD … NEG … RET SUB … MULL … CALL Procedure CDQ IDIV …
Описание слайда:
Где описываются программы MOV … Procedure: ADD … NEG … RET SUB … MULL … CALL Procedure CDQ IDIV …

Слайд 17


Где описываются программы MOV … JMP MainNext Procedure: ADD … NEG … RET MainNext: SUB … MULL … CALL Procedure CDQ IDIV …
Описание слайда:
Где описываются программы MOV … JMP MainNext Procedure: ADD … NEG … RET MainNext: SUB … MULL … CALL Procedure CDQ IDIV …

Слайд 18


Где описываются программы Перед основной программой После основной программы В отдельном модуле
Описание слайда:
Где описываются программы Перед основной программой После основной программы В отдельном модуле

Слайд 19


Где описываются программы Перед основной программой .code Procedure: ; код подпрограммы RET Start: ; код основной программы CALL Procedure ; код...
Описание слайда:
Где описываются программы Перед основной программой .code Procedure: ; код подпрограммы RET Start: ; код основной программы CALL Procedure ; код основной программы end Start

Слайд 20


Где описываются программы После основной программы .code Start: ; код основной программы CALL Procedure ; код основной программы CALL ExitProcess...
Описание слайда:
Где описываются программы После основной программы .code Start: ; код основной программы CALL Procedure ; код основной программы CALL ExitProcess Procedure: ; код подпрограммы RET end Start

Слайд 21


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

Слайд 22


Передача параметров через регистры общего назначения Factorial: MOV ECX, EAX MOV EBX, 2 MOV EAX, 1 Cycle: CMP EBX, ECX JG EndFunction MUL EBX INC EBX...
Описание слайда:
Передача параметров через регистры общего назначения Factorial: MOV ECX, EAX MOV EBX, 2 MOV EAX, 1 Cycle: CMP EBX, ECX JG EndFunction MUL EBX INC EBX JMP Cycle EndFunction: RET

Слайд 23


Передача параметров через регистры общего назначения .data n dd 5 .data? result dd ? .code Factorial: ; тело функции RET Start: MOV EAX, n CALL...
Описание слайда:
Передача параметров через регистры общего назначения .data n dd 5 .data? result dd ? .code Factorial: ; тело функции RET Start: MOV EAX, n CALL Factorial MOV result, EAX

Слайд 24


Передача параметров через регистры общего назначения Достоинства легко использовать большая скорость работы можно возвращать несколько значений
Описание слайда:
Передача параметров через регистры общего назначения Достоинства легко использовать большая скорость работы можно возвращать несколько значений

Слайд 25


Передача параметров через регистры общего назначения Недостатки малое количество параметров трудности использования регистров в подпрограмме...
Описание слайда:
Передача параметров через регистры общего назначения Недостатки малое количество параметров трудности использования регистров в подпрограмме трудности вложенных и рекурсивных вызовов

Слайд 26


Передача параметров через общую память Factorial: MOV ECX, param MOV EBX, 2 MOV EAX, 1 Cycle: CMP EBX, ECX JG EndFunction MUL EBX INC EBX JMP Cycle...
Описание слайда:
Передача параметров через общую память Factorial: MOV ECX, param MOV EBX, 2 MOV EAX, 1 Cycle: CMP EBX, ECX JG EndFunction MUL EBX INC EBX JMP Cycle EndFunction: MOV param+4, EAX RET

Слайд 27


Передача параметров через общую память .data n dd 5 .data? result dd ? param dd 2 dup(?) .code MOV EAX, n MOV param, EAX CALL Factorial MOV EAX,...
Описание слайда:
Передача параметров через общую память .data n dd 5 .data? result dd ? param dd 2 dup(?) .code MOV EAX, n MOV param, EAX CALL Factorial MOV EAX, param+4 MOV result, EAX

Слайд 28


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

Слайд 29


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

Слайд 30


Передача параметров через стек Команды работы со стеком push – помещает в вершину стека некоторое значение pop – извлекает из вершины стека некоторое...
Описание слайда:
Передача параметров через стек Команды работы со стеком push – помещает в вершину стека некоторое значение pop – извлекает из вершины стека некоторое значение

Слайд 31


Передача параметров через стек Команды работы со стеком pusha – помещает в вершину стека значения всех регистров общего назначения popa – извлекает...
Описание слайда:
Передача параметров через стек Команды работы со стеком pusha – помещает в вершину стека значения всех регистров общего назначения popa – извлекает из вершины стека значения всех регистров общего назначения

Слайд 32


Передача параметров через стек Команды работы со стеком pushf – помещает в вершину стека значение регистра флагов popf – извлекает из вершины стека...
Описание слайда:
Передача параметров через стек Команды работы со стеком pushf – помещает в вершину стека значение регистра флагов popf – извлекает из вершины стека значения регистра флагов

Слайд 33


Передача параметров через стек Стек: Позволяет обрабатывать только 32-разрядные числа Адрес вершины стека храниться в регистре ESP (смещение...
Описание слайда:
Передача параметров через стек Стек: Позволяет обрабатывать только 32-разрядные числа Адрес вершины стека храниться в регистре ESP (смещение относительно сегментного регистра SS) Вершина стека, это ячейка памяти, содержащая последнее помещённое в стек значение

Слайд 34


Передача параметров через стек Алгоритм работы команды push: add ESP, 4 mov [ESP],
Описание слайда:
Передача параметров через стек Алгоритм работы команды push: add ESP, 4 mov [ESP],

Слайд 35


Передача параметров через стек Алгоритм работы команды pop: mov , [ESP] sup ESP, 4
Описание слайда:
Передача параметров через стек Алгоритм работы команды pop: mov , [ESP] sup ESP, 4

Слайд 36


Передача параметров через стек Алгоритм работы команды call: add EIP, add ESP, 4 mov [ESP], EIP mov EIP,
Описание слайда:
Передача параметров через стек Алгоритм работы команды call: add EIP, add ESP, 4 mov [ESP], EIP mov EIP,

Слайд 37


Передача параметров через стек Алгоритм работы команды ret: mov EIP, [ESP] sub ESP, 4
Описание слайда:
Передача параметров через стек Алгоритм работы команды ret: mov EIP, [ESP] sub ESP, 4

Слайд 38


Передача параметров через стек Factorial: MOV ECX, [ESP+8] MOV EBX, 2 MOV EAX, 1 Cycle: CMP EBX, ECX JG EndFunction MUL EBX INC EBX JMP Cycle...
Описание слайда:
Передача параметров через стек Factorial: MOV ECX, [ESP+8] MOV EBX, 2 MOV EAX, 1 Cycle: CMP EBX, ECX JG EndFunction MUL EBX INC EBX JMP Cycle EndFunction: MOV [ESP+4], EAX RET

Слайд 39


Передача параметров через стек .data n dd 5 .data? result dd ? .code PUSH n PUSH 0 CALL Factorial POP result ADD ESP, 4
Описание слайда:
Передача параметров через стек .data n dd 5 .data? result dd ? .code PUSH n PUSH 0 CALL Factorial POP result ADD ESP, 4

Слайд 40


Передача параметров через стек Достоинства произвольное количество параметров переменное количество параметров простота использования легкая...
Описание слайда:
Передача параметров через стек Достоинства произвольное количество параметров переменное количество параметров простота использования легкая организация рекурсии

Слайд 41


Передача параметров через стек Недостатки трудно отслеживать состояние стека после вызова подпрограммы основная программа должна выравнивать стек
Описание слайда:
Передача параметров через стек Недостатки трудно отслеживать состояние стека после вызова подпрограммы основная программа должна выравнивать стек

Слайд 42


Подпрограммы в C параметры передаются через стек (при этом в стек параметры помещаются с конца) Результат возвращается в регистрах 1 байт – AL 2...
Описание слайда:
Подпрограммы в C параметры передаются через стек (при этом в стек параметры помещаются с конца) Результат возвращается в регистрах 1 байт – AL 2 байта – AX 4 байта – EAX 8 байт – (EAX, EDX)

Слайд 43


Функции Windows API после вызова функций с фиксированным числом параметров не нужно выравнивать стек
Описание слайда:
Функции Windows API после вызова функций с фиксированным числом параметров не нужно выравнивать стек

Слайд 44


Передача параметров с использование STDCALL Factorial: MOV ECX, [ESP+4] MOV EBX, 2 MOV EAX, 1 Cycle: CMP EBX, ECX JG EndFunction MUL EBX INC EBX JMP...
Описание слайда:
Передача параметров с использование STDCALL Factorial: MOV ECX, [ESP+4] MOV EBX, 2 MOV EAX, 1 Cycle: CMP EBX, ECX JG EndFunction MUL EBX INC EBX JMP Cycle EndFunction: RET 4

Слайд 45


Передача параметров с использование STDCALL .data n dd 5 .data? result dd ? .code PUSH n CALL Factorial MOV result, EAX
Описание слайда:
Передача параметров с использование STDCALL .data n dd 5 .data? result dd ? .code PUSH n CALL Factorial MOV result, EAX

Слайд 46


Создание локальных переменных в стеке [ESP] – точка возврата [ESP + 4] – первый параметр функции [ESP + 8] – второй параметр функции и т. д.
Описание слайда:
Создание локальных переменных в стеке [ESP] – точка возврата [ESP + 4] – первый параметр функции [ESP + 8] – второй параметр функции и т. д.

Слайд 47


Создание локальных переменных в стеке SUB ESP, 4 [ESP] – локальная переменная [ESP + 4] – точка возврата [ESP + 8] – первый параметр функции [ESP +...
Описание слайда:
Создание локальных переменных в стеке SUB ESP, 4 [ESP] – локальная переменная [ESP + 4] – точка возврата [ESP + 8] – первый параметр функции [ESP + 12] – второй параметр функции и т. д.

Слайд 48


Пролог функции PUSH EBP MOV EBP, ESP SUB ESP, 8 [EBP] – исходное значение EBP [EBP + 4] – точка возврата [EBP + 8] – первый параметр функции [EBP +...
Описание слайда:
Пролог функции PUSH EBP MOV EBP, ESP SUB ESP, 8 [EBP] – исходное значение EBP [EBP + 4] – точка возврата [EBP + 8] – первый параметр функции [EBP + 12] – второй параметр функции и т. д. [EBP – 4] – вторая локальная переменная [EBP – 8] – первая локальная переменная и т. д.

Слайд 49


Эпилог функции MOV ESP, EBP POP EBP RET 12
Описание слайда:
Эпилог функции MOV ESP, EBP POP EBP RET 12



Похожие презентации
Mypresentation.ru
Загрузить презентацию