Abfrage von Bits in DB's

Lockerbee

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

ich bräuchte eine Funktion die aus verschiedenen DB's
ein und das selbe bit auf 1 abfragt und mir dann ein out gibt, falls eins von den Bit's in den DB's gesetzt ist. Zum beispiel mit nem Pointer, weiß nur nicht wie.

Ich möchte an den FC den Pointer schreiben und am Out einen Merker
Die verschiedenen Db stehen im FC

z.b.
Auf db140
l p##pointer

=out
oder so, nur bekomme ich keine Anzeige
 
ich würde hier auf die übergabe eines pointers verzichten, lieber die schnittstelle als byte nummer INT und bit nummer INT definieren ... die festen DB-nummern machen mich bißchen, naja, nachdenklich ... aber das soll ja nicht mein problem sein :rolleyes:

aus byte und bit kannst du dir dann einen pointer selber basteln:

Code:
*
      L     #iByte
      SLD   3
      L     #iBit
      +D    
      LAR1
 
bei 6 DBs ist es wohl das einfachste mit ner normalen ODER Abfrage zu arbeiten.

Wenn du viel mehr DBs hättest, und dein Programm so strukturiert wäre, dass die DBs fortlaufend nummeriert sind (oder nen bestimten Abstand haben), dann wäre eine Schleife mit indirekter Adressierung das richtige.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
bei 6 DBs ist es wohl das einfachste mit ner normalen ODER Abfrage zu arbeiten.

Wenn du viel mehr DBs hättest, und dein Programm so strukturiert wäre, dass die DBs fortlaufend nummeriert sind (oder nen bestimten Abstand haben), dann wäre eine Schleife mit indirekter Adressierung das richtige.

indirekt ist doch immer schön :rolleyes:

Code:
*
      L     #iByteTemp
      SLD   3
      L     #iBitTemp
      +D    
      LAR1  
      L     #iNumberOfDBs
next: T     #iLoop
      AUF   DB [#iStartDB]
      U     DBX [AR1,P#0.0]
      SPB   end
      L     #iStartDB
      +     1
      T     #iStartDB
      L     #iLoop
      LOOP  next
      SPA   _be
end:  =     #xOut
_be:  SET   
      SAVE
 
Zuletzt bearbeitet:
Das sieht sehr gut aus.

Mal sehen ob ich die Db's noch schieben kann.
es werden mal an die ca 30 Db's sein.

Und wie geht jetzt die abfrage ob ein bit in einem von den dbs gesetzt ist ??
 
Zuviel Werbung?
-> Hier kostenlos registrieren
da hab ich wohl nicht ganz zu ende gelesen.
habs übersehen SORRY !!

habs probiert, bekomme aber eine Bereichslängenfehler beim lesen

da
U [AR1,P#0.0]

habe an den FC 2 für byte und 1 für bit
also dbx2.1
den gibt es auch
 
Zurück
Oben