User: alciro    User
 Original    Translate to:  Deutsch  English  Français  中文  
 

Microcontroladores 8051

5.4. Unterprogramm oder Unterprogramm

Ein Unterprogramm oder Unterroutine in einem Abschnitt separates Programm oder einen Teil des Hauptprogramms, die spezifische Funktion kann ein genannt zu erfüllen. Das Unterprogramm kann von der Haupt-oder ein anderes Unterprogramm so oft wie erforderlich erforderlich sein. Wenn Sie das Programm ein Unterprogramm aufrufen Umsetzung des derzeitigen gestoppt, das Programm Zähler PC (program counter) ist Unterprogramm geladen mit dem Speicherplatz der, läuft bis zum RET (Ende der Subroutine), wo produzieren eine Rückkehr in das Hauptprogramm fortgesetzt läuft. Die Hochsprachen wie C, Basic sind Unterprogramme unter dem Namen Prozeduren oder Funktionen bekannt.

In der Unterprogramme müssen Berücksichtigung folgender Rechnung:

  • Führen Sie bestimmte Funktionen und sind nicht in Betrieb ist auf eigene Faust.
  • Sind immer verbunden mit einem großen Programm und jedes andere Unterprogramme.
  • Wiederverwenden können aufgerufen werden oft wie nötig, da es reduziert den Code des Programmcodes auf die Wirkung haben.
  • Lassen Sie die Aufteilung der Programmbausteine wie die Funktion des Bauwerks. Eine größere Transparenz und Verständnis für sie.

Wie gut beraten, empfehlen wir, wann immer möglich die Verteilung der Unterprogramme oder Sub-Programm und zur Minimierung der Inhalt der Sätze in das Hauptprogramm. Vor allem sind die Unterprogramme notwendig, wenn im Rahmen eines Programms mehrfach ausgeführt werden. Wir werden das Programm zu erleichtern und es nimmt weniger Platz im ROM.

Wenn ein Unterprogramm besteht aus wenigen Anweisungen gemacht, kann es ratsam sein, es nicht zu schaffen, da der Aufruf und Rückkehr Mechanismus kann es langsamer Ausführung Anweisungen, um direkt in das Hauptprogramm.

Unterprogramm oder Unterroutine in sensamblador

CALL-Anweisung

Der Aufruf eines Unterprogramms. Das Programm Zähler wird durch die Adresse, wo die Ausführung fortgesetzt ersetzt. Der Inhalt des PC (neben der aktuellen Position) ist in den Stack gespeichert.

Dir LCALL

1 º
(PC) = (PC) +3 Lesen Sie die Anleitung und das Programm gegen PC auf den nächsten
2 º
(SP) = (SP) +1 Stack gespeichert, um das Programm gegen PC ist die nächste Anweisung zeigt
3 º
((SP)) = (PC 7-0)
4 º
(SP) = (SP) +1
5 º
((SP)) = (PC 15-8)
6 º
(PC) = 15-0 addreses Die Programmsteuerung ist es, die Anweisung, deren Adresse in Bytes 2 und 3 des aktuellen CALL-Anweisung angegeben übertragen

RET-Anweisung

Unterprogramm zurück. Stack ist von der Program Counter PC abgerufen und das Programm wird die Ausführung bei der Anweisung nach dem Unterprogrammaufruf CALL.

RET

1 º
(PC 15-8) = ((SP)) Es holt das Programm gegen PC-Speicher-Stack
2 º
(SP) = (SP) -1
3 º
(PC 7-0) = ((SP)) Programmausführung wird an der nächsten Position, um den Anruf an das Unterprogramm
4 º
(SP) = (SP) -1

Verschachtelung von Unterprogrammen

Nesting Unterprogramme
Loading
copyright © 2007-2024  www.alciro.org  All rights reserved.         
Share |