Programarea listei de asamblare a limbilor, programare

2.7. Bazele programării. Apeluri subrutine
Practic, în orice program, indiferent de conținutul său, există site-uri pe care doriți să le efectuați (probabil cu modificări minore) de mai multe ori în timpul programului. Astfel de site-uri repetitive ar trebui selectate din programul general, formalizate sub formă de subrutine și se vor referi la ele de fiecare dată când programul principal trebuie să le efectueze.






Subrutină, în funcție de funcțiile sale pot necesita transferul anumitor date din programul de asteptare (numite argumente sau parametri), reveniți la programul de asteptare rezultatele calculelor, sau de a face fără ea, și fără cealaltă.
Subrutina poate fi executată sub forma unei proceduri și apoi numele acestei proceduri va servi ca punct de intrare la subrutină:

procedură subprout
. Corpul subrutinei
ret; comanda retur la programul de asteptare
traseul final

Cu același succes, puteți face fără o procedură, pur și simplu marcând prima linie a programului cu o etichetă:







drawline: Subrutina care începe cu o etichetă
. Corpul subrutinei
ret; comanda retur la programul de asteptare
. Continuarea programului principal sau
, alte subrutine

cod
Procesul principal; Programul principal
...
cod apel E8 dddd
...
endp principal
sub proc aproape; Subprogram
...
ret; cod NW
sub endp
codul se termină

Programarea listei de asamblare a limbilor, programare

Fig. 2.16. Participarea la stack în mecanismul de apel al subrutinei apropiate.

codul de segment
presupun CS: codel
Procesul principal; Programul principal
apelați departe ptr subr; Cod 9A dddd ssss
...
endp principal
codurile se termină
cod2
presupun CS: code2
subr proc; Declare subrutina
...
ret; cod SW - retur cu rază lungă de acțiune
subr endp
code2 se termină

Programarea listei de asamblare a limbilor, programare

Fig. 2.17. Participarea la stack în mecanismul de apel al unei subrutine îndepărtate.







Articole similare

Trimiteți-le prietenilor: