for (j=66; j>0; j--) { key = DKEY[p--]; if (p<0) p+=8;
for (i=8; i>0; i--) { // NLF if ( BIT_TEST( Buffer[3],6)) { if ( !BIT_TEST( Buffer[3],1)) aux = 0b00111010; // 10 else aux = 0b01011100; // 11 } else { if ( !BIT_TEST( Buffer[3],1)) aux = 0b01110100; // 00 else aux = 0b00101110; // 01 }
// move bit in position 7 if ( BIT_TEST( Buffer[2],3)) #asm swapf aux,f #endasm if ( BIT_TEST( Buffer[1],0)) aux<<=2; if (BIT_TEST( Buffer[0],0)) aux<<=1;
// xor with Buffer and Dkey aux ^= Buffer[1] ^ Buffer[3] ^ key;
// shift in buffer shift_left( Buffer, 4, BIT_TEST( aux,7));