13 #if _ALLOW_MALLOC_ == 0
41 newObj =&bitStack_Instances[
nObjs];
70 bitStack_Objs[bitStackDescriptor]->
stackSize = 0;
73 bitStack_Objs[bitStackDescriptor]->
dataStack[i] = 0;
86 char *p = (
char *) &i;
106 memcpy(dataBuffer, data, (dataLength/8) + (((dataLength%8)>0)?1:0) );
108 if (dataLength==16 || dataLength==32){
121 if (dataLength>16 && dataLength<32){
125 if (dataLength>8 && dataLength<16){
136 dataByte = *dataBuffer;
137 auxByte = bitStack_Objs[bitStackDescriptor]->
dataStack[bitStack_Objs[bitStackDescriptor]->
stackSize];
139 for (i=0; i<dataLength; i++){
140 bitState = dataByte & 0x1;
141 auxByte = auxByte | (bitState<<bitStack_Objs[bitStackDescriptor]->
auxUsedBits);
145 if (bitStack_Objs[bitStackDescriptor]->
auxUsedBits==8){
146 bitStack_Objs[bitStackDescriptor]->
auxUsedBits = 0;
147 bitStack_Objs[bitStackDescriptor]->
dataStack[bitStack_Objs[bitStackDescriptor]->
stackSize++] = auxByte;
151 if (dataUsedBits==8 && (i+1)<dataLength)
155 dataByte = *(dataBuffer + byteCounter);
158 dataByte=dataByte>>1;
162 if (bitStack_Objs[bitStackDescriptor]->
auxUsedBits!=0){
163 bitStack_Objs[bitStackDescriptor]->
dataStack[bitStack_Objs[bitStackDescriptor]->
stackSize] = auxByte;
176 if (bitStack_Objs[bitStackDescriptor]->
firstUnstak){
184 _DBGMSG_(
"ERROR! Can't unstack more than 64bit at time.");
193 for (i=0; i<nBits; i++){
197 aux = aux | 0x80000000L;
203 if (bitStack_Objs[bitStackDescriptor]->
unstackedBit >= 8){
215 for (j=0; j<(32-nBits); j++){
241 printf(
"%.2X ",(
uint32)(bitStack_Objs[bitStackDescriptor]->
dataStack[i]));
249 if (bitStack_Objs[bitStackDescriptor]->
auxUsedBits>0){
261 return bitStack_Objs[bitStackDescriptor]->
dataStack;
266 memcpy(bitStack_Objs[bitStackDescriptor]->
dataStack,data,dataLength);
267 bitStack_Objs[bitStackDescriptor]->
stackSize = dataLength;
275 byte b0 = ((*data)&0x00FF)>>0;
276 byte b1 = ((*data)&0xFF00)>>8;
277 *data = (b1) | (b0<<8);
281 byte b0 = ((*data)&0x000000FF)>>0;
282 byte b1 = ((*data)&0x0000FF00)>>8;
283 byte b2 = ((*data)&0x00FF0000)>>16;
284 byte b3 = ((*data)&0xFF000000)>>24;
285 *data = b3 | (b2<<8) | (b1<<16) | (b0<<24);