Bool und Byte

Anaconda55

Level-1
Beiträge
301
Reaktionspunkte
6
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo.

Habe ein Problem.

U DB23.DBX 96.3
L B#16#1
T DB112.DBB 137

UN DB23.DBX 96.3
L B#16#0
T DB112.DBB 137

Wenn DB23.DBX 96.3 true ist soll er B#16#1 nach DB112.DBB 137 transferieren.

Wer kann mir bitte weiterhelfen?
Gibt es da eine Lösung?
 
du mußt wissen, dass lade- und transferbefehle VKE-unabhängig ausgeführt werden. um diese auszublenden mußt du sie überspringen:

Code:
*
      U     DB23.DBX 96.3
      SPBN  end
      L     B#16#1
      T     DB112.DBB 137
end:  NOP   0
für deine anwendung aber sinnvoll, da es ja ein entweder oder ist:

Code:
*
      U     DB23.DBX 96.3
      SPBN  null
      L     B#16#1
      SPA   end
null: L     B#16#0
end:  T     DB112.DBB 137

bzw. kürzer:

Code:
*
      L     B#16#0
      U     DB23.DBX 96.3
      SPBN  end
      L     B#16#1
end:  T     DB112.DBB 137
 
Zuletzt bearbeitet:
Code:
        U DB23.DBX 96.3
        SPBN sp01
        L B#16#1
        T DB112.DBB 137
sp01: NOP 0

Wo ist die '0'?

Für deine Anwendung ist der Code von 4L am sinnvollsten.

Aber zur Aussage das Transferbefehle VKE unabhängig sind, gibt es eine Alternative über die MCR Funktionalität.
Da werden Transferbefehle VKE abhängig ausgeführt. Zumindest wird bei VKE = 0 nur 0 transferiert.
Code:
      MCRA  
      U     DB23.DBX   96.3
      MCR(  
      L     1
      T     DB112.DBB  137
      )MCR  
      MCRD

Grüße...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@ Simatiker: Wenn ich jetzt deins nehmen würde dann könnte ich warscheinlich später wenn ich das Byte auf B#16#3 schreiben möchte nicht ausführen oder?

Das geht nur wenn ich das Byte auf B#16#1 setzen möchte oder?
 
Nein musst dann halt:

Code:
L 3
oder:
Code:
L B#16#3

o.ä. schreiben

Der Nachteil ist hier nur das bei VKE = 0 halt ne null rein geschrieben wird!

Soweit das überhaupt ein Nachteil ist.
 
Zurück
Oben