Forum: Mikrocontroller und Digitale Elektronik Frage Assembeler Tabelle


von Jan K. (tester33)


Angehängte Dateien:

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

von Karl M. (Gast)


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

von Karl M. (Gast)


Lesenswert?

Vielleicht kannst Du mal auf deine Rechtschreibung achten?

Was ist hier falsch?
"Assembeler Tabelle"

von Lars (Gast)


Lesenswert?

ein e extra

von H.Joachim S. (crazyhorse)


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?

von Falk B. (falk)


Angehängte Dateien:

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

von Sebastian R. (sebastian_r569)


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.

von Jan K. (tester33)


Lesenswert?

danke leute

von Karl B. (gustav)


Angehängte Dateien:

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
von Gunnar Helves (Gast)


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...

von Falk B. (falk)


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?

von Gunnar Helves (Gast)


Lesenswert?

Falk B. schrieb noch vor ein paar Jahren

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

von Falk B. (falk)


Lesenswert?

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

Quellennachweis?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.