Hi for all,
I need translata a funcion from C to pascal
#define TMaskClear(E, M) ((M)[(E)/8] &= ~(1 << ((E)%8)))
"E" is Integer
"M" is TMask :
Type TMask = Array[0..64] of Byte;
This part is a Matrix asignation :
(M)[(E)/8]
Okay,
¿and this part?
&= ~(1 << ((E)%8))
For example :
If you use this funcion in C :
(First All set to $FF)
[255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
Executing this funcion for E=61 (3D hex)
[255,255,255,255,255,255,255,
223,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
In the index "7" the value change to 223.
Mc