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 liebe C-Control II Gemeinde, > > ich habe im Buch "MSR mit der C-Control II" die Möglichkeit entdeckt, einen Assembler Programm- > Code in einem unter C2 angelegtem Integer-Array zu speichern und dann im Segment 8 ausführen > zu lassen. Der Vorteil scheint klar, das Segment 3 braucht nicht verändert werden und nur kurzfristig > gebrauchte Programme können problemlos mal ebend in die C-Control geladen werden. > > Zum Detail: > Ich möchte das komplette Signal einer Fernbedienung ( FS20 ) abtasten um das Übertragungs- > protokoll bestimmen zu können. Zur Aufnahme der Daten ( Port P1H.7 ) habe ich ein 27000 > Integer-Werte umfassendes Array unter C2 angelegt, in dessem unteren Ende auch der Hexcode des > Programms steht. > Nun zum Programm: > > <asm> > mov R2,#2000 ; Anfangsspeicheradresse im Segment 8 > Loop1: mov R4,P1H ; Port einlesen > and R4,#0080h ; Bid 7 isolieren > shr R4,#7 ; und auf Bid 0 schieben > add r4,#30h ; ASCII erzeugen 0 / I > EXTS #8,#1 ; Speicherzugriff auf Segment 8 erzwingen > movb [R2],RL4 ; und ASCII im Speicher ablegen > cmpil r2,#48000 ; Schleifenzähler erhöhen und mit Endwert vergleichen > jmpr cc_SLT, Loop1 > pop R2 > pop R2 > rets > </asm> > > Das Problem: > Naja, das ausgelesene Integer-Array ( unter C2 ) zeigt keinerlei Veränderung. > Wohin werden die Daten bei meinem Programm geschrieben? > Ich habe das Programm gerade probeweise in das Segment 3 geladen und siehe da > ES FUNKTIONIERT! ( leider nur im Segment 3 ) > > Hat jemand eine Idee, wie ich den Code verändern muß, damit ich es auch wie gedacht im Segment 8 > korrekt zum laufen kriege oder ist der Speicherzugriff aus dem Segment 8 herraus garnicht möglich? > Eine Fehlermeldung bekomme ich nicht und das Programm stürzt auch nicht ab, nur die Daten > sind einfach nicht im Array, also nicht im Segment 8 gespeichert. > > Schöne Grüße Hansi