Презентация, доклад Организация подпрограмм

Здесь Вы можете изучить и скачать урок-презентацию на тему "Организация подпрограмм" бесплатно. Доклад-презентация для класса на заданную тему содержит 15 слайдов. Для просмотра воспользуйтесь проигрывателем, если презентация оказалась полезной для Вас - поделитесь ей с друзьями с помощью социальных кнопок и добавьте наш сайт презентаций в закладки!
Презентации» Информатика» Организация подпрограмм
500500500500500500500500500500500500500500500


Слайды и текст этой презентации
Слайд 1
Описание слайда:
Организация подпрограмм Подпрограмма-некоторый поименованный участок кода программы синтаксически оформленный так, что имеется возможность его вызова из любого места программы. Назначение подпрограмм: Программирование на более высоком уровне. Уменьшение размеров программы.

Слайд 2
Описание слайда:
Организация подпрограмм С целью создания возможности организации подпрограмм в архитектуру УМ включены специальные средства: - регистр связи L; - команда " Переход к подпрограмме " (jsub); - команда " Возврат из подпрограммы" (rsub); - посылочные команды ldl и stl.

Слайд 3
Описание слайда:
Организация подпрограмм Проблемы при работе с подпрограммами: Связь по управлению Связь по данным

Слайд 4
Описание слайда:
Связь по управлению Пример иллюстрирует организацию обращения к подпрограмме // Ex41.cpp #include "stdafx.h" int v; void inc() { v++; } int main() { v = 1; inc(); inc(); return 0; }

Слайд 5
Описание слайда:
Связь по данным Существуют следующие основные способы передачи данных между программными единицами: - передача данных через регистры (A и X); - использование общих переменных; - использование механизма формальных и фактических параметров.

Слайд 6
Описание слайда:
Связь по данным Пример передачи параметров к подпрограмме по адресу // Ex42.cpp : #include "stdafx.h" int v = 5, w = 7; void inc(int *i) { (*i)++; } int main() { inc(&v); inc(&w); inc(&v); return 0; } H Ex42 | Ex42 start 0 T 000 480019 | jsub inc T 003 000013 | word v ;адpес v T 006 480019 | jsub inc T 009 000016 | word w ;адpес w T 00C 480019 | jsub inc T 00F 000013 | word v ;адpес v T 012 FF | hlt | ; данные T 013 000005 | v word 5 T 016 000007 | w word 7 | ; подпpогpамма inc T 019 AC21 | inc rmo l,x ;X="адpес адpеса паpаметpа" T 01B 048000 | ldx 0,x ;X="адpес паpаметpа' T 01E 008000 | lda 0,x ;A="значение паpаметpа" T 021 18002F | add c1 ;A=A+1 T 024 0C8000 | sta 0,x ;"паpаметp" = A T 027 AC20 | rmo l,a ; Коppектиpовка T 029 180032 | add c3 ;адpеса возвpата T 02C AC02 | rmo a,l ;на длину ТАЗ. T 02E 4C | rsub | ; данные п/п inc T 02F 000001 | c1 word 1 T 032 000003 | c3 word 3 E 000 | end Ex42

Слайд 7
Описание слайда:
Связь по данным H Ex43 | Ex43 start 0 T 000 00001F | lda u;вызов copy(u,v) T 003 0C0009 | sta p11 T 006 480028 | jsub copy T 009 | p11 resb 3 T 00C 000022 | p12 word v T 00F 000022 | lda v ;вызов copy(v,w) T 012 0C0018 | sta p21 T 015 480028 | jsub copy T 018 | p21 resb 3 T 01B 000025 | p22 word w T 01E FF | hlt | ; данные T 01F 00000F | u word 15 T 022 | v resb 3 T 025 | w resb 3 | ; подпpогpамма copy T 028 AC21 | copy rmo l,x ;X = "адрес ТАЗ" T 02A 008000 | lda 0,x ;A = p1 T 02D 048003 | ldx 3,x ;X = p2 T 030 0C8000 | sta 0,x ;p2 = A T 033 AC20 | rmo l,a ; Коppектиpовка T 035 18003B | add c6 ;адpеса возвpата T 038 AC02 | rmo a,l ;на длину ТАЗ. T 03A 4C | rsub | ; данные п/п copy T 03B 000006 | c6 word 6 E 000 | end Ex43 Пример передачи параметров к подпрограмме по адресу и по значению // Ex43.cpp #include "stdafx.h" const int u = 15; int v, w; void copy(int x, int *y) { *y = x; } int main() { copy(u, &v); copy(v, &w); return 0; }

Слайд 8
Описание слайда:
Связь по данным H Ex44 | Ex44 start 0 T 000 00001F | lda u ;v=inc(u) T 003 0C0009 | sta p11 T 006 480028 | jsub inc T 009 | p11 resb 3 T 00C 0C0022 | sta v T 00F 000022 | lda v ;w=inc(v) T 012 0C0018 | sta p21 T 015 480028 | jsub inc T 018 | p21 resb 3 T 01B 0C0025 | sta w T 01E FF | hlt | ; данные T 01F 000011 | u word 17 T 022 | v resb 3 T 025 | w resb 3 | ; подпрограмма-функция inc T 028 AC21 | inc rmo l,x ;X="адрес ТАЗ" T 02A AC20 | rmo l,a ; Корректировка T 02C 18003B | add c3 ;адреса возврата T 02F AC02 | rmo a,l ;на длину ТАЗ. T 031 008000 | lda 0,x ;A=p1 T 034 180038 | add c1 T 037 4C | rsub | ; данные inc T 038 000001 | c1 word 1 T 03B 000003 | c3 word 3 E 000 | end Ex44 Пример организации подпрограмма, возвращающих значение // Ex44.cpp #include "stdafx.h" const int u = 10; int v, w; int inc(int x) { return x + 1; } int main() { v = inc(u); w = inc(v); return 0; }

Слайд 9
Описание слайда:
Пример Обработка массива подпрограммой #include "stdafx.h" void mas_max(int l, int *d, int *max) { int max_l=d[0]; for (int i =1; i < l; i++) if (d[i] > max_l) max_l = d[i]; *max = max_l; } int main() { int d1[5] = { 1,2,1,2,1 }; int d2[3] = { 1,2,13}; int max1, max2; mas_max(5, d1, &max1); mas_max(3, d2, &max2); return 0; }

Слайд 10
Описание слайда:
Пример H ExMas | ExMas start 0 T 000 480037 | jsub MasMax T 003 00000F | l1 word 15 ;значение l*3 T 006 000019 | word d1 ;адpес d1 T 009 000031 | word max1 ;адpес max1 T 00C 480037 | jsub MasMax T 00F 000009 | l2 word 9 ;значение l*3 T 012 000028 | word d2 ;адpес d2 T 015 000034 | word max2 ;адpес max2 T 018 FF | hlt | ; данные T 019 | d1 resb 15 T 028 | d2 resb 9 T 031 | max1 resb 3 T 034 | max2 resb 3 Обработка массива подпрограммой

Слайд 11
Описание слайда:
Пример T 037 AC21 | MasMax rmo l,x ;X="адpес паpаметpа l (адрес ТАЗ)" T 039 008000 | lda 0,x ;A="значение паpаметpа l" T 03C 188003 | add 3,x ;A=«адрес массива»+«длина массива(А)» T 03F 0C008A | sta ll ;ll = A(адрес ячейки памяти идущей ; следюущей после последнего элемента массива) T 042 048003 | ldx 3,x ;X="адpес паpаметpа d"(адрес начала массива) T 045 008000 | lda 0,x ;A="значение паpаметpа d[0]" T 048 0C008D | sta max ;сохранение певрого элемента массива ;в лок. перем. T 04B AC10 | rmo x,a ;i=i+1(X=X+3) T 04D 180084 | add c3 ;X-адрес элемента d[1] T 050 AC01 | rmo a,x T 052 008000 | rpt lda 0,x ;A=d[i] T 055 28008D | comp max ;A > max ? T 058 380061 | jlt m ;Переход, если "меньше". T 05B 300061 | jeq m ;Пеpеход, если "равно". T 05E 0C008D | sta max ;max=A T 061 AC10 | m rmo x,a ;i=i+1(X=X+3) T 063 180084 | add c3 T 066 AC01 | rmo a,x T 068 28008A | comp ll ;X < ll ? T 06B 380052 | jlt rpt ;Переход, если "да".(Если проверели не все ;элементы массива, то возвращаемся в начало цикла) Обработка массива подпрограммой

Слайд 12
Описание слайда:
Пример T 06E AC21 | rmo l,x ;X="адpес (адpеса паpаметpа max(глобальной)-6)" T 070 048006 | ldx 6,x ;X="адpес паpаметpа max(глобальной)" T 073 00008D | lda max ;Сохранение максимального значения в глобальную T 076 0C8000 | sta 0,x ;переменную | T 079 AC20 | rmo l,a ;Коppектиpовка T 07B 180087 | add c9 ;адpеса возвpата T 07E AC02 | rmo a,l ;на длину ТАЗ. T 080 4C | rsub | ; данные п/п MasMax T 081 000001 | c1 word 1 T 084 000003 | c3 word 3 T 087 000009 | c9 word 9 T 08A | ll resb 3 T 08D | max resb 3 E 000 | end ExMas Обработка массива подпрограммой

Слайд 13
Описание слайда:
Пример Организация вложенных подпрограмм #include "stdafx.h" void inc(int *i) { (*i)++; } void inc2(int *i) { inc(i); inc(i); } int main() { int v = 5; inc2(&v); return 0; }

Слайд 14
Описание слайда:
Пример H VPod | VPod start 0 T 000 48000A | jsub inc2 T 003 000007 | word v ;адpес v T 006 FF | hlt | ; данные T 007 000005 | v word 5 | | ; подпpогpамма inc2 T 00A AC21 | inc2 rmo l,x ;X="адpес адpеса паpаметpа" T 00C 008000 | lda 0,x ;A="адpес паpаметpа' T 00F 0C0020 | sta v1 T 012 0C0026 | sta v2 T 015 AC20 | rmo l,a ; Коppектиpовка T 017 18004B | add c3 ;адpеса возвpата T 01A 0C002F | sta ll ;на длину ТАЗ. Сохранение регистра L T 01D 480032 | jsub inc T 020 | v1 resb 3 ;адpес параметра T 023 480032 | jsub inc T 026 | v2 resb 3 ;адpес параметра T 029 00002F | lda ll T 02C AC02 | rmo a,l ; Восстановление регистра L T 02E 4C | rsub | ; данные п/п inc2 T 02F | ll resb 3 | Организация вложенных подпрограмм

Слайд 15
Описание слайда:
Пример | ; подпpогpамма inc T 032 AC21 | inc rmo l,x ;X="адpес адpеса паpаметpа" T 034 048000 | ldx 0,x ;X="адpес паpаметpа' T 037 008000 | lda 0,x ;A="значение паpаметpа" T 03A 180048 | add c1 ;A=A+1 T 03D 0C8000 | sta 0,x ;"паpаметp" = A T 040 AC20 | rmo l,a ; Коppектиpовка T 042 18004B | add c3 ;адpеса возвpата T 045 AC02 | rmo a,l ;на длину ТАЗ. T 047 4C | rsub | ; данные п/п inc T 048 000001 | c1 word 1 T 04B 000003 | c3 word 3 E 000 | end VPod Организация вложенных подпрограмм


Скачать урок презентацию на тему Организация подпрограмм можно ниже:

Похожие презентации