Forum: Mikrocontroller und Digitale Elektronik prob assembler 8085


von schon-weg (Gast)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.