AZreferate - Referate und hausaufgaben fur schule.
Referatesuche, Hausarbeiten und Seminararbeiten Kostenlose Online-Dokumente mit Bildern, Formeln und Grafiken. Referate, Facharbeiten, Hausarbeiten und Seminararbeiten findest für Ihre einfache Hausarbeiten.



BetriebstechnikBiographienBiologieChemieDeutschDigitaltechnik
ElectronicaEpochenFertigungstechnikGemeinschaftskundeGeographieGeschichte
InformatikKulturKunstLiteraturManagementMathematik
MedizinNachrichtentechnikPhilosophiePhysikPolitikProjekt
PsychologieRechtSonstigeSportTechnikWirtschaftskunde

Referat CDUR - Matrix, Objektorientierte Programmierung

informatik referate

informatik referate

CDUR - Matrix

 

 TABELLEN

PROZESSE /

Schüler

Lehrer

FUNKTIONEN

Schüler suchen

R

Klassenb. Blatt 1

X

X




C

Reorganisation

D

Versatz

R/U

nach Stärke geordnet


C Create

D Delete

U Update

R Read

oder höchste Stärke


CDUR T DFD nicht ableitbar; z.B.: externe Pfeile

CDUR T genauer bezüglich Flüsse


Objektorientierte Programmierung

Unterprogramme und Stacks

Der Stack (=Stapel) dient zur Variablen- oder Wertübergabe von einem Programm zu seinem Unterprogramm. Der Stack ermöglicht die Kommunikation zwischen Hauptprogramm und Unterprogramm. Der Stack funktioniert nach dem Prinzip First In Last Out.

PUSH ein Wert wird in den Stack geschrieben

PUSH x  T x wird auf den Stapel gelegt, Stapel wird erhöht

POP              ein Wert wird aus dem Stack geholt

POP x  T x wird vom Stapel genommen, der nächste Wert liegt nun oben

y=1;

for (i=1; i<=5; i++) y=y*a; T y=a5 T y=pot(a,5);

.

.

.

k=1;

for (u=1; u<=7; u++) k=k*z; T k=z7

.

.

.

p=1;

for (m=1; m<=4; m++) p=p*s; T p=s4

Sobald eine Aktion in einem Programm mehrmals vorkommt, ist es besser stattdessen ein Unterprogramm zu benützen.

long pot (int basis, int exp)


Übergabe von Werten:


a



  Call by Value

  Call by Reference

( Call by Name )

IMMEDIATE ADDRESSING (unmittelbar) : PUSH 7 (=Call by Value)

DIRECT ADDRESSING (direkt) : PUSH M[1000] (=Call by Reference)

INDIRECT ADDRESSING (indirekt) : PUSH M[M[2000]]

M Memory (Speicherstelle)

Beispiel:

int a; a 1078 Compiler vergibt die Plätze

int k;

e=pot (a, k);     pot 50000

<HP>

PUSH M[1090]


k wird auf den Stack gelegt

PUSH M[1078]


a wird auf den Stack gelegt

e = pot(a,k)

PUSH 1008


Rücksprungadresse auf Stack

JMP 50000


Sprung zum UP (eigentlicher UP-Aufruf)

POP M[1094]


Ergebnis (y) wird nach e geschrieben



a



Direct Addressing

Immediate Addressing

k



e





Stack (P1)



Stackbeginn

(P2)


(P3)




return address



x


y



basis



exp





POP M[29999]


Rücksprungaddresse von Stack

POP M[30004]


a (12) vom Stack nach basis

POP M[30006]


k (2) vom Stack nach exp

UP pot

Schleife

PUSH M[30002]


Ergebnis y (144) auf Stack

JMP[M[M29999]


Rücksprung ins HP ( Indirect Addressing )

Static Binding ( Statisches Binden )

= Die Adressen der Unterprogramme werden beim compilieren festgelegt

Parameter werden in den Stack geschrieben

JMP 10020

Unterprogrammaufruf


Rücksprungaddresse wird in den Stack geschrieben



JMP 10020





UP Anfang

CALLING OVERHEAD:  Das Schreiben in den Stack - benötigt viel Zeit

deshalb wird bei kleineren UP die INLINE DEFINITION (=MAKRO EXPANSION) verwendet.

Das UP wird in die Stellen geschrieben, wo eigentlich der Unterprogrammaufruf stehen sollte. Dadurch entfällt das Stacken und das Springen T Das Programm wird schneller, braucht aber mehr Speicher. Diese Methode wird auch für Makros verwendet.



Referate über:


Datenschutz




Copyright © 2024 - Alle Rechte vorbehalten
AZreferate.com
Verwenden sie diese referate ihre eigene arbeit zu schaffen. Kopieren oder herunterladen nicht einfach diese
# Hauptseite # Kontact / Impressum