prob assembler 8085

Gast #130511
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

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