mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Frage Assembeler Tabelle


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.
Autor: Jan K. (tester33)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Kann mir jemand erklären wie das 0xd2 berechnet wurde beim Befehl subi 
r17,0x30.

Wäre schön wenn das jemand erklären könnte .Danke

Autor: Karl M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Jan K.,

Wenn R17 = 0x02 gilt,
dann ist R17 := 0x02 - 0x30 = 0xD2 und Carry = 1.

Das geht so, wie die schriftliche Subtraktion im 10er System.
Nur hier im 16er System.

Schritt 1
__02 hex
-_30 hex
--------
  ?0 hex

Schritt 2
_102 hex
-_30 hex
--------
  ?2 hex

zwischen Rechnung
16 dec = 10 hex

10 hex - 3 hex
<==>
16 dec - 3 dec = 13 dec
<==>
10 hex - 3 hex = D hex

Es gilt ferner:
A hex = 10 dec
B hex = 11 dec
C hex = 12 dec
D hex = 13 dec
E hex = 14 dec
F hex = 15 dec

Schritt 2a
_102 hex
-_30 hex
--------
  D2 hex

Autor: Karl M. (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Vielleicht kannst Du mal auf deine Rechtschreibung achten?

Was ist hier falsch?
"Assembeler Tabelle"

Autor: Lars (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ein e extra

Autor: H.Joachim S. (crazyhorse)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
nur mal interessehalber: wozu macht man sowas heute noch?
Ja, ich habe es auch gemacht, vor 40+ Jahren.
Um das Prinzip zu verstehen, reichen deutlich weniger Zeilen.
Meinem ersten "Computer" habe ich so die ersten Schritte beigebracht, da 
ich keine alternative Maschine und auch keinen Assembler hatte. Aber 
heute? Masochismus?

Autor: Falk B. (falk)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Jan K. schrieb:

>Bildschirmfoto_2019-07-09_um_14.56.01.png
>1,26 MB, 27 Downloads

Ersten ist .png das falsche Format für so eine Bild, siehe 
Bildformate und 2. warum in aller Welt schreibt man das auf Papier? 
Sowas macht man digital am PC, dann kann man nämlich sehr einfach und 
mit nahezu Null Speicherbedarf den Quelltext versenden. Jaja, im 
Gbit-Zeitalter interessiert 1MB Speicher keine Sau mehr, dämlich ist es 
trotzdem.

> Kann mir jemand erklären wie das 0xd2 berechnet wurde beim Befehl
> subi
> r17,0x30.

Ganz einfach. Wenn man von 0x02 0x30 abzieht ergibt das einen Unterlauf 
des Zahlenbereichs.

0x02 - 0x030 = -0x2E = 0xD2

https://de.wikipedia.org/wiki/Zweierkomplement

Autor: Sebastian R. (sebastian_r569)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falk B. schrieb:
> warum in aller Welt schreibt man das auf Papier?

(Berufs-)Schule, Hausaufgaben mit ziemlicher Sicherheit.

H.Joachim S. schrieb:
> nur mal interessehalber: wozu macht man sowas heute noch?

Bei mir kam es vor ein paar Jahren (2014/15) auch noch in der Ausbildung 
zum Elektroniker für Geräte und Systeme dran. In den Tests dann schön 
"Program on Paper", Zyklenzeiten berechnen, Statusdiagramme zeichen,...

Ich bin auch ein Fan von Hochsprachen und habe trotz regelmäßigem 
Gebrauch von C noch kein Assembler benötigt. Nur mal aus Spaß was mit 
uralten windowed PICs gemacht, da ich keine Lust hatte, den uralten 
MPLAB-C-Compiler zu installieren.

Ansonsten.. Warum lernt man in der Schule Stochastik, Trigonometrie und 
Co. wenn man es im Alltag nicht mehr braucht?

Aber Assembler in der Berufsschule kann man vielleicht damit erklären, 
dass es sehr hardwarenah ist und sich daran die Funktionen von ALU, 
Registern,... anschaulich erklären kann, ohne, dass eine Abstraktion 
dazwischen liegt.


Und wenn man besonders speichereffizient programmieren möchte, dann 
schadet es auch nicht, sich mal den Assembler vom C-Compiler anzugucken, 
um zu sehen, wo man noch ein paar Befehle durch umschreiben einsparen 
kann.

Autor: Jan K. (tester33)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke leute

Autor: Karl B. (gustav)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

die Prozessoren haben da noch was auf Lager, wo man sonst nicht drauf 
kommt.
Die Flaggen. Also im Statusregister gibt es zum Beispiel (nicht nur) bei 
den Atmel AVRs eine ganze Trickkiste voll von.

Auschnitt aus dem Programm Zahlenumwandlung binär nach dezimal AsCII.


ciao
gustav

: Bearbeitet durch User
Autor: Gunnar Helves (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
H.Joachim S. schrieb:
> nur mal interessehalber: wozu macht man sowas heute noch?
> Ja, ich habe es auch gemacht, vor 40+ Jahren.
> Um das Prinzip zu verstehen, reichen deutlich weniger Zeilen.
> Meinem ersten "Computer" habe ich so die ersten Schritte beigebracht, da
> ich keine alternative Maschine und auch keinen Assembler hatte. Aber
> heute? Masochismus?

Nö. Ich mach bei 8 Bit MCs nur Assembler und hasse Hochsprachen. Die 
geben vor zu vereinfachen machen aber letztlich alles nur komplizierter. 
Dazu ist Asm flexibler, schneller, passgenauer, zeilenkürzer und hält 
dazu an bei den Hardwarefunktionen aus dem Vollen zu schöpfen und diese 
wirklich vollumfänglich auszunutzen. Nötig sind nur ein paar Asm 
Instruktionen und das Datenblatt. Anders schauts i.d.R. aber schnell aus 
wenn die Hardware komplexer wird. Dazu reichen schon 32Bit Controller. 
Aber, muss man ja nicht benutzen...

Autor: Falk B. (falk)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Gunnar Helves schrieb:

> Nö. Ich mach bei 8 Bit MCs nur Assembler und hasse Hochsprachen. Die
> geben vor zu vereinfachen machen aber letztlich alles nur komplizierter.

Hallo Moby, mal wieder getarnt unterwegs?

Autor: Gunnar Helves (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Falk B. schrieb noch vor ein paar Jahren

... den Abgesang auf 8-Bit Controller :-)

Autor: Falk B. (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gunnar Helves schrieb:
> Falk B. schrieb noch vor ein paar Jahren
>
> ... den Abgesang auf 8-Bit Controller :-)

Quellennachweis?

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.

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