Berechnung von Arithmetische-Operationen (Assembler,Atmega8)

Gast #2800339
Hallo ich bearbeite gerade eine kleine Übungsaufgabe aus einem anderen 
Tutorial und hab eine klein Frage und zwar habe ich folgendes Programm
geschrieben:

nolist
.include  "m8def.inc"
.list

.DEF  tmp1 = r16
.DEF  tmp2 = r17
.DEF  tmp3 = r18

main:

--------ldi    tmp1,   0x00--------
ldi    tmp2,  0x5A
ldi    tmp3,  0x37

--------inc    tmp1--------

add    tmp1,  tmp2
sub    tmp1,  tmp3

ldi    tmp2,  0x5A

add    tmp1,  tmp2

rjmp  main

Es geht mir um die markierten Zeilen (ldi tmp1,0x00 und inc tmp1)
ich lade mein Register-16 mit dem 0x00 und dann wird dieses Register
mit dem Befehl "inc" um 1 erhöht also ---> 0000 0000 + 1111 1111
in der Simulation ist das Ergebnis hex 0x01 ich hätte aber das Ergebnis 
0x00 erwartet ich addiere doch 0+ 256Werte???

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 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.