16,551
社区成员
发帖
与我相关
我的任务
分享
void s_r(unsigned char* array, unsigned int size)
{
_asm{
shr byte ptr array, 1
lea esi, array[1]
mov ecx, size - 1
l_rcr:
rcr byte ptr [esi], 1
add esi, 1
loop l_rcr
}
}
//ut中存放原始数据,从ut[ 1 ]开始存放
//offset是移位,0-7有效
//结果存放在ut1中
unsigned char ut[ 256 ] = "";
unsigned char ut1[ 256 ] = "";
ut[ 0 ] = 0;
ut[ j + 1 ] = 0;
for( i = 0; i < j; i++ )
{
ut1[ i + 1 ] = ( ( ut[ i + 1 ] >> offset ) & 0xff ) + ( ( ut[ i ] << ( 8 - offset ) ) & 0xff );
}