100 1-Byte-Werte addieren

Gast #328746
Lesenswert?
• ▲
▼
Hallo,

im Rahmen meiner Weiterbildung muss ich mich auch mit der
Programmierung von Mikrocontrollern befassen. Genauer mit dem Intel
8051.

Ich wäre sehr dankbar, wenn mir jemand bei nachfolgender Aufgabe
behilflich sein könnte.

Aufgabe:
Im RAM ab der externen Adresse 40H sin 100 Messwerte zu je 1-Byte
abgelegt. Zur Datenkontrolle ist die Prüfsumme durch einfache Addition
der Byte zu berechnen. Die Prüfsumme, eine eine 2-Byte-Zahl, ist den
Messwerten abzulegen.

Viele Grüße
Matthias
Gast #328749
Lesenswert?
• ▲
▼
Naja, Matthias, es ist schon etwas dreist, einfach mal die Aufgabe zu
posten und keinerlei Eigeninitaitve zu zeigen. Was genau erwartest du?
Hilfe beim Problem kann man dir nicht geben, da du nicht geschrieben
hast, welches Problem du denn nun hast.
Du kannst ja die Adresse des Lehrers mal posten, dann können wir die
fertige Lösung gleich dorthin schicken. Das wäre dann noch viel
einfacher für dich.
Gast #328752
Lesenswert?
• ▲
▼
Hallo zusammen,

es geht nicht darum, dass ich eine fertige Lösung haben möchte. Sondern
nur Hilfe bei der Code-Erstellung für die Addition.

Wie man 100 1-Byte-Werte addiert ohne den Übertrag zu berücksichtigen
ist ja nicht schwer. Nur wie muss ich den Code aufbauen, dass ich alle
100 1-Byte-Wert mit richtig einander addieren kann.

Viele Grüße
Matthias
Gast #328757
Lesenswert?
• ▲
▼
Weiter*bildung*.

Glaubste, das hat viel Sinn, wenn man dir die fertige Lösung postet?

Jetzt machst du dir mal 10 Minuten Gedanken über Problemstellung und
die Lösungsansätze.

Simon hat grad schon einen guten Lösungsansatz gemacht, jetzt kannste
den ja fast direkt so in Assembler übertragen. Wenns dabei Probleme
gibt, dann frag, aber nicht: machts für mich...
Gast #328761
Lesenswert?
• ▲
▼
Am besten, was die andere haben gesagt genug ist, aber:

Diese Programm von Ssss zu Compilieren ...
Oder deine Eigen machen !

Wenn ich mit assembler angenfangen ('92) ich habe ein Buch gelessen...
etwas wie, Assembler für 8086 by John Socha and Peter Norton. In diesem
Buch jede instruction hat eine erklärung mit Beispile. Sehr gut zu
anfangen.

Es gibt viele viele on-line Kursen zu Lehren, aber wenn es gibt kein
will, geht nicht.

Ich weiss asm 8051 nicht so, ein Beispiele mit z80 kann ich

registers : A,D,E,H,L
nur 8 byte adierung wird benutzt !!
DE ist die Speigerpunkt, wo diese daten stehen

ld h,0
ld l,0
ld c,100
ld b,0
1:
ld a,(de)
inc de
add a,l
ld l,a
ld a,0
adc a,h
djnz 1:

byte Beträge wenn adieren kann "overflow" (carry) geben, so du muss
es auch addieren !

Vielleicht es kann helfen. Nächste mal, mach ein Paar Beispiele und
Übungen. Die lösung findest du immer wenn du habst die Problem
verstanden

Antwort schreiben

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.

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.