Programmsequenz

Gast #2062228
Lesenswert?

Hallo,

hab von meinem Lehrer eine Aufgabe bekommen und weiß gar nicht was ich 
damit anfangen soll.

10.  Gegeben ist nachfolgende Programmsequenz:
Main: …
  jmp entprell
…
entprell PROC
  mov R3,#65535    ;Zeitzähler auf Anfangswert
  M1 sub R3,#1
  jmpr CC_NZ, M1;
  ret
  entprell ENDP

a)  Erläutern Sie kurz die Funktion. Wozu kann Sie verwendet werden?


b)  Ist die Programmsequenz lauffähig? Begründen Sie ihre Aussage.


c)  Schreiben Sie die Sequenz in C.


d)  Wie würden Sie eine Datensicherung vornehmen? Welche Daten sind zu 
sichern? Begründen Sie ihre Antwort.


e)  Wie erfolgt die Datensicherung mit dem Context-Pointer (CP)?


Wär cool wenn jemand eine Lösung hätte.

Gruß Hugo
Moderator (Firma: Titel) Persönliche Seite #2062242
Lesenswert?

Hugo Müller schrieb:
> a)  Erläutern Sie kurz die Funktion. Wozu kann Sie verwendet werden?
Zum Vernichten von Rechenzeit.

> b)  Ist die Programmsequenz lauffähig? Begründen Sie ihre Aussage.
Nach beheben evtl. Syntaxfehler wie
M1:  sub R3,#1
wahrscheinlich schon.

> c)  Schreiben Sie die Sequenz in C.
for(unsigned short r3=0xfff, r3, r3--);
Aber Compileroptimierungen abschalten!!!!

> d)  Wie würden Sie eine Datensicherung vornehmen? Welche Daten sind zu
> sichern? Begründen Sie ihre Antwort.
Datensicherung unnötig, weil keine Interruptroutine.

> e)  Wie erfolgt die Datensicherung mit dem Context-Pointer (CP)?
S.o.

Wenn du das jetzt aber einfach abschreibst, wirst du (obwohl meine 
Aussagen stimmen) in Erklärungnöte kommen, denn diese Argumentation will 
der Lehrer vermutlich nicht hören.
#2062389
Lesenswert?

Also wer als Lehrer ne Delay-Loop mit "Entprell" bezeichnet, der gehört 
fristlos entlassen. Der hat schonmal rein garnichts verstanden.
Kein Wunder, wenn dadurch haufenweise Geräte mit sauschlechter 
Tastenfunktion verkauft werden.
Nicht die Billigtasten sind die Hauptursache, sondern die fehlende 
Programmierkenntnis.

Delay und Entprellen sind 2 völlig verschiedenen Dinge.
Kurze Delays (einige µs) nimmt man, um das Timing an langsame Peripherie 
anzupassen, wie z.B. LCDs.
Lange Delays (>1ms) nimmt man garnicht, da sie die CPU massiv ausbremsen 
oder nur zum Austesten kleiner Programme.

Zum Entprellen nimmt man üblicher Weise einen Timerinterrupt. Wichtig 
ist dabei eine Mehrfachabtastung des Eingangs (2-fach Minimum, 4-fach 
empfohlen) in einem entsprechenden Zeitraster.


Peter

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren