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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.