Вот по подробней:
Здрастьте!
Вопрос такой:
Есть два массива
unsigned char a[32];
unsigned char b[128];
Мне надо на с++ сделать так, чтобы с начал копировалость с лева на право частями,
каждая не char а int и так 3 раза, а 4й раз с права налево 1 раз.
На асме это так:
a BYTE 32d dup(?)
b BYTE 128d dup(?)
mov esi,offset a
mov edi,offset b
mov ecx,3d
@@:
push ecx
mov ecx,8d
rep movsd
pop ecx
loop @B
sub esi,4d
mov ecx,8d
@@:
mov eax,dword ptr[esi]
mov dword ptr[edi],eax
sub esi,4d
add edi,4d
loop @B
Делал так:
unsigned char a[32];
unsigned char b[128];
int k=0
for(int i=0;i<=3;i++)
{
for(int j=0;j<=7;j- -)
{
static_cast<int>b[k] = static_cast<int>b[j];
k++;
}
}
for(i=0;j>=0;j++)
{
static_cast<int>b[k] = static_cast<int>b[j];
k++;
}
Но меня не поняли!
)) Не удивительно, но почему, но как же на С++ написать такую вещь?