Forum: Mikrocontroller und Digitale Elektronik Assembler Befehle


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Max (Gast)


Angehängte Dateien:

Bewertung
-3 lesenswert
nicht lesenswert
Hallo Zusammen,

ich brauche dringend eure Hilfe da, ich ein Klausur schreiben musss und 
ich nicht weiter mit dieser Aufgabe komme.

1-kann mir jemand erklären wieso R5= 0X0fe in diesem Befehl XOR.W R5,R4?

2-mov.B @R5,R4, warum R5= 0X202?

Danke im Voraus.

von Niklas G. (erlkoenig) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Aufgabe 1.: Prozessor-Architektur nennen.

von Max (Gast)


Bewertung
-3 lesenswert
nicht lesenswert
Von Neumann Architektur.

von Arduino Fanboy D. (ufuf)


Bewertung
-1 lesenswert
nicht lesenswert

von Niklas G. (erlkoenig) Benutzerseite


Bewertung
1 lesenswert
nicht lesenswert
Max schrieb:
> Von Neumann Architektur.

Ah. Zum Glück gibt's davon nur eine. Dann ist ja völlig klar was die 
Befehle bedeuten.

von Max (Gast)


Bewertung
-3 lesenswert
nicht lesenswert
für mich nicht.nach dem Befehl addc R4,R5 ist R5=0x301.

von Arduino Fanboy D. (ufuf)


Bewertung
-1 lesenswert
nicht lesenswert
Max schrieb:
> für mich nicht.nach dem Befehl addc R4,R5 ist R5=0x301.

Nein!

Nach
> add.w R6,R7
Und darauf folgendem
> addc.w R4,R5
ist R5 =  0x0204

von Max (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
wir arbeiten  MSP430G2553

von Max (Gast)


Bewertung
0 lesenswert
nicht lesenswert
kannst du bitte mir das erklären am besten mit binäre Zahlen??

von Arduino Fanboy D. (ufuf)


Bewertung
-1 lesenswert
nicht lesenswert
> add.w R6,R7
0xffff + 0x0003 = 0x0002 -> R7 plus Carrybit gesetzt

> addc.w R4,R5
0x0202 + 0x0001 + carry = 0x0204 -> R5

von Max (Gast)


Bewertung
0 lesenswert
nicht lesenswert
add.w R6,R7             R6---->  0000 0000 0000 0011
                        R7---->  1111 1111 1111 1111
                                ---------------------
                      Carry = 1  0000 0000 0000 0010   R7 = 0x0002


addc.wR4,R5             R4---->  0000 0000 0000 0001
                        R5---->  0000 0010 1111 1110
                                ---------------------
                                 0000 0010 1111 1111
                         Carry----->              1
                                 --------------------
                                 0000 0011 0000 0001   R5 = 0x301

wo ist mein Fehler?

wie kommst du auf die 0x0202?

Danke nochmal.

von Arduino Fanboy D. (ufuf)


Bewertung
-1 lesenswert
nicht lesenswert
Max schrieb:
> wie kommst du auf die 0x0202?

Die 0x02FF des R5 sind auf deinem Zettel durchgestrichen und durch 
0x0202 ersetzt worden.
Da nehme ich doch die Ersetzung und nicht das durchgestrichene.
Oder?


Hier hast du auch noch einen Rechenfehler drin:
1
        0000 0010 1111 1111
2
 Carry----->              1
3
Summe   0000 0011 0000 0000

: Bearbeitet durch User
von Max (Gast)


Bewertung
0 lesenswert
nicht lesenswert
in R5 steht 0x2FF nach ausführen des Befehles R5= 0x0202
Vorher
R5= 0x2FF

Nachher
R5=0x202

und das verstehe ich nicht.

von Arduino Fanboy D. (ufuf)


Bewertung
-1 lesenswert
nicht lesenswert
Max schrieb:
> in R5 steht 0x2FF nach ausführen des Befehles R5= 0x0202
> Vorher
> R5= 0x2FF

Sehe keinen "Befehl"  R5= 0x0202

von Max (Gast)


Bewertung
0 lesenswert
nicht lesenswert
es handelt  sich um die 16-Bit Version (Wort Version) des MOV-Befehls. 
Deshalb wird der Inhalt durch die Ausführung des Befehls um zwei erhöht 
(aus 8 wird zB. 10)
deswegen habe ich den Carry in die 2bit gemacht.

von Max (Gast)


Bewertung
0 lesenswert
nicht lesenswert
was aufm Zettel steht ist richtig,es war die Korrektur.
Ich verstehe es halt nicht.

von Zeno (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Wieso sind unsere Studenten nur immer wieder zu faul sich auf den 
Hosenboden zu setzen und zu lernen. Jede Woche möchte da einer das ihm 
die Aufgaben vorgekaut werden. Wissen selbst erarbeiten heißt die 
Devise. Das schult den Geist und selbst erarbeitetes Wissen sitzt auch 
besser.
Für so etwas gibt es, auch heute noch im Internetzeitalter,  Bücher wo 
das ausführlichst beschrieben und erklärt wird.

von Max (Gast)


Bewertung
0 lesenswert
nicht lesenswert
wie kommst du drauf dass Studenten Faul sind ??
nur weil sie sich Hilfe holen!!!

von Arduino Fanboy D. (ufuf)


Bewertung
-1 lesenswert
nicht lesenswert
Max schrieb:
> es handelt  sich um die 16-Bit Version (Wort Version) des MOV-Befehls.
> Deshalb wird der Inhalt durch die Ausführung des Befehls um zwei erhöht
> (aus 8 wird zB. 10)
> deswegen habe ich den Carry in die 2bit gemacht.

Auf deinem Zettel ist kein mov.w zu sehen.
Weit und breit nicht.

Und was das Carry Flag mit mov.w zu tun haben soll, will mir auch nicht 
einleuchten.



Max schrieb:
> was aufm Zettel steht ist richtig,es war die Korrektur.
Ist die Korrektur jetzt gültig, oder nicht?

von Max (Gast)


Bewertung
0 lesenswert
nicht lesenswert
ja die korrektur ist gültig

von Zeno (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Max schrieb:
> wie kommst du drauf dass Studenten Faul sind ??
> nur weil sie sich Hilfe holen!!!

Weil Studieren eben auch kein Ponyhof sondern auch harte Arbeit ist, 
wenn es gewissenhaft macht. Für solche Fragen wie Du sie hier stellst 
gibt es ausgezeichnete Fachbücher, wo das alles bestens erklärt wird. Da 
die meisten Bildungseinrichtungen in Deutschland Bibliotheken haben sind 
die Bücher auch für jeden Studenten zum Nulltarif einsehbar, man muß es 
nur wollen. Aber das ist eben deutlich mühsamer als in irgend einem 
Forum die Frage zu posten und auf Hilfe zu hoffen. Kaum einer unserer 
Studenten ist bereit sich Wissen zu erarbeiten (die Betonung liegt auf 
erarbeiten) und hofft darauf das ihm die gebratenen Tauben zu fliegen. 
In diesem Sinne sind unsere Studenten faul. google einfach mal nach dem 
lateinischen Wort "studere", dann sollte klar sein warum ich einen 
Großteil der heutigen Studenten für faul halte.

von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
Zeno schrieb:
> Kaum einer unserer
> Studenten ist bereit sich Wissen zu erarbeiten (die Betonung liegt auf
> erarbeiten) und hofft darauf das ihm die gebratenen Tauben zu fliegen.

Also der M.Eng Ing. Daniel D. hat gezeigt, dass nicht alle Faul und dumm 
sind. Immerhin besitzt er eine Firma, die zahlreiche Spitzenprodukte 
herstellt. Beitrag "Serial 232/TTL Kommunikation mit Atmega"

von rbx (Gast)


Bewertung
1 lesenswert
nicht lesenswert
@ Max  sag mal bist du bekifft? Was du hier angibst ist nicht besonders 
hilfreich.

Erstelle doch bitte mal eine Tabelle mit den 4 Einträgen

Befehl | Registerinhalt_alt |  Registerinhalt_neu | Carry Flag
(eventuell noch die Adresse dazu)

Das wäre schon mal eine (mehr oder weniger) große Hilfe.

von Zeno (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Stefanus F. schrieb:
> Zeno schrieb:
>> Kaum einer unserer
>> Studenten ist bereit sich Wissen zu erarbeiten (die Betonung liegt auf
>> erarbeiten) und hofft darauf das ihm die gebratenen Tauben zu fliegen.
>
> Also der M.Eng Ing. Daniel D. hat gezeigt, dass nicht alle Faul und dumm
> sind. Immerhin besitzt er eine Firma, die zahlreiche Spitzenprodukte
> herstellt. Beitrag "Serial 232/TTL Kommunikation mit Atmega"

Ich hab ja nicht gesagt das generell alle faul sind. Ich habe aber den 
Eindruck, das die Zahl derer die sich da nicht bemühen leider zunimmt. 
Es ist halt bequemer ein Forum zu befragen.
Das die Leute (Studenten) dumm sind habe ich nicht gesagt und könnte 
dies als böswillige Unterstellung Deinerseits bewerten.

Der Typ auf den Du da verlinkst spielt doch in einer ganz anderen Liga 
als der TO. Ich behaupte mal, das er sich eben auf den Hosenboden 
gesetzt hat und die Basics gelernt hat - sonst wäre er nicht so weit 
gekommen. Trotz seines offensichtlichen Wissens kann er doch trotzdem 
Fragen haben.

Bei dem TO handelt es sich ja offensichtlich um einen Test um das Wissen 
abzufragen. Ich denke mal das der Stoff auch behandelt wurde. Das ist 
doch Grundlagenwissen für einen Informatiker (denke mal das der TO in 
dieser Richtung studiert). Grundlagenwissen muß man sich nun mal (hart) 
erarbeiten - da kommt man nicht umhin.

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]
  • [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.