mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATmega163 - Welche Funktion ist hier gesucht?


Autor: Malte von dem Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

wir machen grad an der Uni ein Praktikum, in dessen Rahmen der ATmega163 
benutzt wird.
Aus einer Hausaufgabe kommt folgende Frage, bei der ich nicht das 
Problem habe, das ich die Antwort nicht weiß, sondern schon an der 
Fragestellung scheitere. Sämtliche anderen, auch schwierigeren Fragen 
konnte ich beantworten, nur hier weiß ich einfach nicht, was unser 
Betreuer von mir will. Vielleicht weiß ja einer von Euch Rat, denn 
interessieren tut es mich schon:

5. Ersetzen Sie die folgenden Anweisungen durch AVR Assembler Programme.
Überprüfen Sie die Programme mit der Entwicklungsumgebung
AVR Studio 4 und arbeiten Sie mit der Referenzdokumentation.

e) R1 : R0 <- R1 x (R16 + $1F) ;Multiplikation
f) R1 : R0 <- R1 x (R16 + $8F) ;Multiplikation

Meine Fragen dazu:

- Was konkret ist der signifikante Unterschied zwischen e) und f)? Ich 
sehe da nur unterschiedliche Werte - na und? Was für Konsequenzen hat 
das für die verwendeten Anweisungen?

- Welche Anweisung nehm ich da? Ich denke, zur Wahl stehen MUL, MULS und 
MULSU, aber warum sollten hier Vorzeichen eine Rolle spielen?

Über einen Tip würd ich mich freuen, weil mich das wie gesagt schon 
interessiert, und ich nicht einfach diese Fragen auslassen will, auch, 
wenn das wohl kein Beinbruch wäre.

Achja: Die Antworten sollen wohl in folgendem Stil sein:

b) R0 <- R0 • 127 ;Lösche Bit 7 des Registers R0

LDI R16, $7F
AND R0, R16

TIA && regards,

Malte.

Autor: thkais (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gibts eine Angabe zum Wertebereich von R16? Ich könnte mir lediglich 
vorstellen, daß u.U. ein Überlauf berücksichtigt werden soll, da in der 
zweiten Aufgabe ein recht großer Wert zu R16 hinzuaddiert wird. Die 
Konstante $8F kann auch eine negative Zahl repräsentieren, während $1F 
eine positive Zahl ist.

Autor: Malte von dem Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Nein, es gibt keine Angaben zum Wertebereich, alle Informationen hab ich 
gepostet. Ich habe auch in der Doku zum ATmega163 keine Angaben über 
Datentypen gefunden. Gibt's da n Link oder sowas?
Warum kann $8F auch negativ sein? Was passiert bei einem Überlauf, soll 
heissen, was hat das für Konsequenzen auf die verwendeten Operationen?

Ich weiß, daß das ziemliche Basic-Fragen sind, aber wir haben da keine 
besonders gute Einführung bekommen. Eine tabellarische Übersicht würde 
mir jedoch reichen, grundsätzlich sind mir Programmierung und Datentypen 
nicht fremd.

Danke && Gruß,

Malte

Autor: Malte von dem Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Vollständigkeit halber:

Mein Betreuer hat eingeräumt, daß die Aufgabe schlecht bzw. 
unvollständig gestellt sei und sie durch eine eindeutige ersetzt.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.