13.02.2013 09:27 | |
Beigetreten: 28.01.2009 Letzter Bes: 14.03.2024 Beiträge: 6836 Bewertung: (1358) |
Hallo, Mein Vorschlag ist, "indirekte Adressierung" . Es ist ein Beispiel dafür : Changing bit sequenceLAR1 P#M 100.0 LAR2 P#M 103.7 L 16 lp: T #zahlen A [AR1,P#0.0] = [AR2,P#0.0] +AR1 P#0.1 L -1 +AR2 end: NOP 0 L #zahlen LOOP lp[/code] Sie sollten auf "Adress Register" arbeiten, um das gute Ergebnis zu bekommen. Gruß Hamid Hoßeini |
Für diesen Beitrag bedanken sich1 Benutzer |
13.02.2013 15:44 | |
Beiträge: 9 Bewertung: (0) |
Hallo zusammen, Danke für die schnellen Antworten. Ich werde es heute ausprobieren. Gruß Jürgen |
15.02.2013 09:24 | |
Beigetreten: 07.10.2005 Letzter Bes: 28.03.2024 Beiträge: 3002 Bewertung: (1045) |
Hallo SPS -_- Neuling erstmal schoenen Dank das Du Deine Loesung hier zur Hilfe anderer bereitstellst und generell ist deinen Logikgut gemacht. Erlaube mir trotzdem einen Optimierungsvorschlag zu machen, frei nach dem Motto je weniger Befehle man in einer Schleife abarbeitet, je besser (das schoene an den Adress Registern ist das man einen offset angeben kann, von daher brauchst Du in Deinem Fall nur ein AR): AUF DB 10 // DB in dem die Bits geschoben werden sollen LAR1 P#DBX 8.6 // SetztePointer auf vorletztes Bit L 71 //Anzahl der Bits -1 lp: T #Anzahl_der_Wiederholungen // Schleifenzaehler U [AR1,P#0.0] = [AR1,P#0.1] //"bit+1" = status vom vorliegenden bit
|
Zuletzt bearbeitet von: fritz am: 15.02.2013 09:30fixed formatting Cheers |
|
Folgen Sie uns auf