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.