Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Hallo, > > so ich hatte vor einiger Zeit schon mal eine Frage zu "Variablen" in Assembler gestellt. Leider > habe ich anscheinend immer noch ein paar Verständnisprobleme. Ich habe nun einmal folgendes > probiert: > <pre> > zahl equ 11111111b > > public lauflicht > lauflicht proc far > ;alle Ports auf Ausgang setzen > extr#1 > mov DP1L,#255 > mov R2,#8 > loop1: > ;Adresse in R12 schreiben > mov R12,#zahl > ;Wert in R1 laden > mov R1,[R12] > ;Shift-Rechts > shr R1,#1 > ;zahl zurück auf Speicherplatz > mov [R12],R1 > ;Ausgabe > mov P1L,#zahl > mov R3,#65000 > loop2: > nop > nop > nop > nop > nop > nop > nop > nop > nop > nop > cmpd1 R3,#0 > jmpr cc_NE,loop2 > > cmpd1 R2,#0 > jmpr cc_NE,loop1 > > rets ;Ruecksprung > lauflicht endp > </pre> > > Das Programm sollte eigentlich ein Lauflicht erzeugen. Ich bekomme jedoch die Fehlermeldung ILL OPA. > Soweit ich weiß bedeutet dies das ich einen Speicherzugriff auf eine ungerade Adresse vorgenommen > habe. Ich habe also mal bei der Suche nach dem Fehler mit einer geraden Zahl angefangen, also > beispielsweise<pre>zahl equ 11111110b</pre>Nun bekomme ich zwar keine Fehlermeldung mehr, aber es leuchten auch nur die durch 11111110 > gesetzten LEDs. > Mir ist eigentlich klar, dass das auch nicht anders sein kann, da der Fehler logischerweise woanders > zu suchen ist, da es ja egal ist was für eine Zahl im Speicher steht. 'zahl' wird also bei einem > der Befehle nicht als Konstante betrachtet sondern als Speicheradresse. Leider habe ich nicht > herausgefunden bei welchem Befehl mein Fehler liegt. Ich hoffe ihr könnt mir mal wieder weiterhelfen. > > Vielen Dank schon einmal im Voraus für eure Hilfe > > Gruß > > Thomas >