8Bit + 16Bit addition

Gast #69973
Hallo zusammen..
Jetzt muss ich mal ganz dumm fragen:
Wie ist eigentlich der richtige ablauf bei einer addition von einer
8bit mit einer 16bit zahl???

in etwa so:

.equ bsp = 10000

ldi r16,low(bsp)    r16 und r17 sollen die 16 Bit Zahl darstellen
ldi r17,high(bsp)

ldi r18, 0xAC     r18 = 8Bit Zahl
clr r19

clc
add r16,r18
adc r17,r19

????????????

ist das richtig so ??
kann man was verbessern oder ist es gänzlich falsch??


danke schon mal im voraus für eure antworten
Gast #69974
Die clc-Anweisung ist überflüssig, add beachtet den Status des
Carry-Flags nicht. Der Rest ist okay, ist IMHO nicht schneller zu
bewerkstelligen.
Gast #69976
danke für die antworten...
ich hätte eigentlich gehofft das an dem code was falsch ist denn ich
habe das problem das ich nach meinen ganzen rechenoperation mein
16bittiges ergäbnis in den BCD_code umwandle und dann über das uart an
mein Hyperterminal sende um dort die ergebnisse zu betrachten.
leider seh ich dort immer nur werte wie z.b 5001 dann 5256 dann 5511
usw. also immer im  abstand von 256 obwohl rein rechnerisch auch werte
wie 5046 usw. rauskommen müssten... ich dachte es liegt an der addition
von 16 mit 8 bit werten... naja da werd ich mal weiter suchen...
gruß alex
Gast #69977
Hallo,
deine Routine funktioniert allerdings nur bei positiven 8Bit Werten,
ansonsten solltest du es wie folgt erweitern

...


ldi r18, 0xAC     r18 = 8Bit Zahl (wenn negativ)
clr r19
sbrc r18, 7
ser r19

...


Gruß
-=jens=-

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.