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, > > ich habe mir die Einführung in Assembler aus dem Buch "MSR mit der CControl II" angesehen und nachprogrammiert. Das setzen eines Digitalports mit bset und bclr funktioniert prima. So und hier ist meine Frage: > > Was muss ich machen, um in Assembler nicht nur einen Port, sondern mehrere gleichzeitig zu setzen. Ich habe, da ich schnelle Portwechsel auf 11 Ports brauche, versucht eine Bitmaske (also 10101010) auf P1L zu setzen (MOV P1L,#170). Auch das hat noch funktioniert. Aber wenn ich die Bitmaske variabel halten will (wird vom C2-Programm ans Assembler Programm übergeben) bekomme ich einer Fehlermeldung des Tasking-Assemblers. Mein Anweisung sieht wie folgt aus: > > MOV R4, [R1+#4], schieben der Bitmaske aus dem C2Programm nach R4 > MOV P1L, R4 (habs auch schon mit RL4 probiert) > > Fehlermeldung: > no DPP assigned to SYSTEM, connot convert system address to MEM address > > Wie muss ich auf die Special Function Register P1L und P1H zugreifen. Ich habe mir mal das disassemblierte Betriebssytem von der CC2NET Seite angesehen. Auch da wird nur mit einem MOV Befehl der komplette Digitalport (zumindest 1 Byte) gesetzt! > > Vielleicht hat ja einer eine Idee. > > Ralf