mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Hexadezimal in Assembler


Autor: Kcf Klfw (mt1988)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin moin,

Seit kurzer Zeit beschäftige ich mich mit Assembler.
Aber eins verstehe ich garnicht.

Warscheinlich wurde euch die frage schon 1000x gestehlt, aber was ich 
bis jetzt gefunden hab leider nicht weiter geholfen

Warum wird das Hexadezimal upt benötigt, wenn das assemlieren den Text 
code in binär umgewandelt wird.

Würde mich über eure antwort freuen.

lg mt1988

Autor: Er (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Hexadezimal upt
Mir ist in knapp 30 Jahren niemals ein "Hexadezimal upt" begegnet. 
Wahrscheinlich ein Tippfeler oder ? Zitat?

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Warum wird das Hexadezimal upt benötigt, wenn das assemlieren den Text
> code in binär umgewandelt wird.
Häh...?
Bis dahin konnte ich dir noch folgen...

> die frage schon 1000x gestehlt
stehlen -> gestohlen
stellen -> gestellt

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Zahlendarstellung die man als Mensch benutzt, richtet sich nach dem 
was man an dieser Stelle ausdrücken möchte.
Prinizipiell ist es egal, welche Darstellungsform man für Zahlen 
benutzt. Hex, Dezimal oder Binär sind alles nur unterschiedliche 
Präsentationsformen desselben Sachverhaltes: einer Zahl.

Aber je nach Aufgabenstellung und an welcher Stelle man sich im Programm 
gerade befindet, kann die eine oder die andere Darstellungsform insofern 
besser sein, als sie sich gerade hier anbietet.

Benötigst du in einem Programm zb die Anzahl der Sekunden in einer 
Minute (=60), dann wird es unsinnig sein, dafür eine Hex-Repräsentierung 
zu nehmen und einen Kommentar daneben hinzuschreiben

    ldi   r17, 0x3C     ; 1 Minute hat 60 Sekunden

schreib doch gleich 60 in dezimaler Schreibweise
    ldi   r17, 60       ; 1 Minute hat 60 Sekunden

dann kannst du dir den Kommentar sparen, bzw. du ermöglichst dem Leser 
die einfache Kontrolle, ob du auch wirklich 60 geschrieben hast.

Selbiges mit den anderen Darstellungsformen. Manchmal ist Binär besser, 
weil man sich tatsächlich auf Bitebene bewegt. Manchmal ist Hex besser. 
Hex nimmt man, weil man von Hex leicht auf die Bitdarstellung kommt.

Manchmal ist aber auch gar keine Zahlendarstellung die Beste
     ldi  r17, 'A'     ; ein 'A' per UART verschicken
kontra
     ldi  r17, 0x41    ; ein 'A' per UART verschicken

Autor: Er (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Womit wir nun auch über dieses Geheimnis des Lebens endlich aufgeklärt 
wären. ;-)

Autor: Reinhard R. (reirawb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ob Du eine Wert hexadezimal, oktal, binär oder dezimal darstellst, ist 
egal und eigentlich eine Frage der Les- und Interpretierbarkeit Deines 
Codes. Der Assembler macht daraus sowieso die dem Maschinencode 
entsprechenden Bits und Bytes. Wenn Du Dir den Maschinencode ansiehst, 
wird dieser meist auch im Hexadezimalformat dargestellt. Dies ist eben 
auch nur eine Art der Darstellung, Du könntest ihn Dir auch im 
Binärformat oder im Dezimalformat ansehen. Wäre aber viel 
unübersichtlicher :-)

Reinhard - der nie verstanden hat, warum IP-Adressen dezimal geschrieben 
werden, wo es sich doch um Bytes handelt, die hexadezimal viel 
verständlicher sind :-)

Autor: Hc Zimmerer (mizch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Reinhard R. schrieb:

> Reinhard - der nie verstanden hat, warum IP-Adressen dezimal geschrieben
> werden, wo es sich doch um Bytes handelt, die hexadezimal viel
> verständlicher sind :-)

Ein Wunsch, der mit IPv6 in Erfüllung gehen wird.

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
..der nie verstanden hat, warum IP-Adressen dezimal geschrieben
werden, wo es sich doch um Bytes handelt, die hexadezimal viel
verständlicher sind

Schon mal einen Hackerfilm gesehen. zB Sandra Bullock als Hackerin, die 
die Welt rettet ? Wenn man dann IP's sieht, die zB 192.168.344.39 
lauten, weiss man was Sache ist.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nebliger Tag schrieb:
> ..der nie verstanden hat, warum IP-Adressen dezimal geschrieben
> werden, wo es sich doch um Bytes handelt, die hexadezimal viel
> verständlicher sind
>
> Schon mal einen Hackerfilm gesehen. zB Sandra Bullock als Hackerin, die
> die Welt rettet ? Wenn man dann IP's sieht, die zB 192.168.344.39
> lauten, weiss man was Sache ist.

Dazu passend:

Schon alt, aber immer wieder gut!
http://www.stophiphop.com/modules/news/article.php...

Autor: Er (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Witzig

<bitchchecker> mach fire wall aus dann schick ich dir einen virus f...
<Elch> Nöö

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Reinhard - der nie verstanden hat, warum IP-Adressen dezimal geschrieben
> werden, wo es sich doch um Bytes handelt, die hexadezimal viel
> verständlicher sind :-)

Kommt drauf an. Eigentlich können sie auch in Hex geschrieben werden 
(allerdings dann mit 0x vor den Teil-Zahlen), aber das unterstützen 
viele Programme heute nicht mehr. Zumindest unter Linux geht aber noch 
ein
ping 0x7f.0x00.0x00.0x01

oder gar
ping 0x7f000001

Autor: Reinhard R. (reirawb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rolf Magnus schrieb:
>> Reinhard - der nie verstanden hat, warum IP-Adressen dezimal geschrieben
>> werden, wo es sich doch um Bytes handelt, die hexadezimal viel
>> verständlicher sind :-)
>
> Kommt drauf an. Eigentlich können sie auch in Hex geschrieben werden
> ...
Ja, man kann. Aber die allgemeine Schreibweise ist Dezimal. Ich wollte 
ja auch nur mal so bemerken, dass ich z.B. aus einer Netzmaske 
FF.FF.FF.F8 die Netzstruktur besser auslesen kann als aus 
255.255.255.248. Nur so am Rande.

Reinhard

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.