Merkerwortbereich überprüfen

mde

Level-2
Beiträge
14
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich möchste einen Merkerwortbereich überprüfen ob in diesem Bereich ein Bit gesetzt ist z.B. Bereich MW100 bis MW200. Ich muss nur wissen ob ein Bit in diesem Bereich gesetzt ist welches ist egal.

Ich dachte ich könnte einfach alle Wörter UND ververküpfungen aber das geht leider nicht.

Welche möglichleiten habe ich da Problem zu lösen?

Gruß

mde
 
Hallo,
du könntest eine Schleife programmieren und in der alle Worte ODER-verknüpfen. Das Ergebnis der Gesamt-Verknüpfung brauchst du dann nur auf <>0 überprüfen und schon weißt du, ob ein Bit gesetzt ist ...

Gruß
LL
 
Lies doch dazu vielleicht zunächst diesen Beitrag durch ...

Du kannst natürlich auch programmieren :
Code:
L MD100
L MD104
OD
L MD108
OD
 
usw.
 
L MD196
OD
L 0
<> D
= M 1.0   // es ist ein Bit gesetzt
aber das finde ich nicht sehr elegant ...

Gruß
LL
 
Ich habe das nicht verstanden wie ich den Pointer hochzählen kann.

L #EndLoop // Schleifenzyklen berechnen
L #StartLoop
-I
T #loops

L #loops //Lade die Anzahl der Schleifenzyklen in AKKU1-L.
NEXT: T #loops //Sprungmarke = Anfang der Schleife / Transferiere AKKU1-L in Schleifenzähler.

L MW 100
SLD 3
LAR1

L MW [AR1,P#0.0]

hier irgendwie Pointer um loops herhöhen aber wie???


L #loops //Lade den Inhalt des Schleifenzählers in AKKU 1.
LOOP NEXT //Dekrementiere den Inhalt von AKKU 1 und springe zur Sprungmarke NEXT, wenn AKKU1-L > 0 ist.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das könnte so aussehen :
Code:
L #Anfangswort  // hier steht z.B. 100 drin
SLD 3
T #Anfangspointer  //dies ist ein DWORD
 
L #Endwort        // hier steht dann z.B. 200 drin
SLD 3
T #Endepointer  //dies ist ein DWORD
 
L 0
T #Verknüpfung  // dies ist dein Vergleichswert
 
LOOP: L #Anfangspointer
L #Endepointer
>D
SPB Ende
 
L #Anfangspointer
LAR1
 
L MW [AR1,p#0.0]
L #Verknüpfung 
OW
T #Verknüpfung 
 
L#Anfangspointer
L p#2.0
+D
T #Anfangspointer
SPA Loop
 
Ende:L #Verknüpfung 
L 0
<> I
= #Bit_gesetzt
Achtung dies ist ein "Quick-and-dirty"-Code und nicht getestet - er kann also noch kleine Bugs beinhalten ...
Außerdem solltest du vielleicht auch überprüfen, ob sich das Anfangs-MW und das Ende-MW im "legalen" Bereich befinden und Ende-MW > Anfangs-MW ist ...

Gruß
LL
 
Zuletzt bearbeitet:
Zurück
Oben