Разделы презентаций


Организация подпрограмм

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

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

Слайд 1Организация подпрограмм
Подпрограмма-некоторый поименованный участок кода программы синтаксически оформленный так, что

имеется возможность его вызова из любого места программы.

Назначение подпрограмм:
Премирование на

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

Слайд 2Организация подпрограмм
С целью создания возможности оpганизации подпpогpамм в аpхитектуpу УМ

вклюючены специальные сpедства:
- pегистp связи L; - команда " Пеpеход к

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

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





Связь по данным

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

Слайд 4Связь по управлению
Пример иллюстрирует организацию обращения к подпрограмме
program Ex41;
var v:

Integer;
procedure inc;
begin v:=v+1 end; { inc }
begin v:=1; inc; inc

end.
Связь по управлениюПример иллюстрирует организацию обращения к подпрограммеprogram Ex41;var v: Integer;procedure inc;begin v:=v+1 end; { inc }begin

Слайд 5Связь по данным
Существуют следующие основные способы передачи данных между программными

единицами:

- передача данных через регистры (A и X);
- использование общих

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

Слайд 6Связь по данным
Пример передачи параметров к подпрограмме по адресу
program Ex42;
const

v: Integer = 5;
w: Integer = 7;
procedure inc(var i: Integer);
begin

i:=i+1 end; { inc }
begin inc(v); inc(w); inc(v) end.

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

Связь по даннымПример передачи параметров к подпрограмме по адресуprogram Ex42;const v: Integer = 5;w: Integer = 7;procedure

Слайд 7H 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

Связь по данным

Пример передачи параметров к подпрограмме по адресу и по значению

program Ex43;
const u: Integer =15;
var v,w: Integer;
procedure copy(x: Integer;
var y: Integer);
begin y:=x end; {copy}
begin copy(u,v); copy(v,w) end.

H Ex43    | Ex43 start 0T 000 00001F |    lda

Слайд 8H 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

Связь по данным

Пример организации подпрограмма, возвращающих значение

program Ex44;
const u: Integer = 10;
var v,w: Integer;
function inc(x: Integer): Integer;
begin inc:=x+1 end; { copy }
begin v:=inc(u); w:=inc(v) end.

H Ex44    | Ex44 start 0T 000 00001F |    lda

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

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

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

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


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

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