mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik prob assembler 8085


Autor: schon-weg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hoi

haben vor gut ne woche angefangen, was in assembler zu
"programmieren". kurz darauf haben wir ne aufgabe gestellt bekommen.
- unterprogramm soll auf den speicherbereich 100h-1ffh schreiben
- wenn datum des speicherplatz == 00 ist, ist er mit 5ah zu
beschreiben, der nächste speicherpl. mit 00 mit a5h beschreiben
- ist datum des speicherplatzes ungleich 00 soll er mit 00 beschrieben
werden
- unterprogramm soll aus ne schleife gestartet werden, die für das
beschreiben von 8 aufeinernfolgenden speicherplätzen ~2s benötigen
soll
- start der schleife und damit des unterprogramms mit ir rst 6.5, nach
bearbeitung des gesamten speicherbereichs, ist die schleife zu
verlassen und neustart über ir muss möglich sein

da tun sich für mich erstmal diverse  fragen auf, ich weiß zwar wie ich
den speicher 100h-1ffh von 0 beginnend vollschreiben kann, unter
verwendung folgender zeilen:

LXI H, 100h     ;Zeiger auf Speicher
   MVI A, 0        ;Beschreiben des Speichers
M1:MOV M,A      ;Inhalt von A nach HL
   INR A        ;nächstes Datum
   INR L        ;nächster Speicherplatz
   JNZ M1       ;
end

aber damit hab ich ja nur den speicherbereich mit ne zahlenfolge
vollgeschrieben, und die kombination 00 kommt logischerweise nur 1x
vor.
nun frag ich mich, ob ich mit diesen codezeilen, voll auf dem holzweg
gelandet bin, oder ob man das irgendwie verwenden kann.
wäre da für einen tipp überaus dankbar.

sowie ich die aufgabe verstehe, gehört das beschreiben schon zu dem
unterprogramm, was durch den interrupt ausgelöst wird, nur dann die
frage, ob es nicht notwendig ist, erstmal ne art hauptprogramm zu
schreiben?

und dann mit dem abwechselnd schreiben, versteh ich nun auch net
wirklich (mal die zeitverzögerung außer acht gelassen ..).
muss dann erst verglichen(mit cmp oder sowas) werden ob der inhalt des
speicherplatzes 00 ist und wenn ja, mit 00 überschrieben werden? also
sprich ich vergleich, obs 00 is, und mit entsprechenden sprungbefehl
(je nachdem welches flag gesetzt ist) spring ich zu der zeile, wo es
mit 5a oder a5 oder gar 00 überschrieben wird?

sorry für meinen etwas undurchsichtigen fragehaufen, aber wäre euch für
jeden kleinen tipp dankbar.

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

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