Allego anche un esempio in linguaggio ST che esegue il set dei bit di una variabile DWORD.
VAR
Bit : ARRAY[ 0..31 ] OF BOOL; (* Bit da testare *)
Result : DWORD; (* DWORD risultato *)
END_VAR
(* Eseguo azzeramento risultato *)
Result:=0; (* DWORD risultato *)
(* Eseguo controllo stato di ogni bit. *)
IF (Bit[0]) THEN Result:=Result OR 16#00000001; END_IF;
IF (Bit[1]) THEN Result:=Result OR 16#00000002; END_IF;
IF (Bit[30]) THEN Result:=Result OR 16#40000000; END_IF;
IF (Bit[31]) THEN Result:=Result OR 16#80000000; END_IF;