avva: (moose)
[personal profile] avva
В комментах к этой Открытой Записи приветствуются любые темы, любые комменты, любые вопросы, любые ответы, любые дискуссии.

Давайте поговорим о чем-нибудь.

Date: 2013-06-07 05:22 pm (UTC)
From: [identity profile] 109518.livejournal.com
Я на С меньше года работаю, а ассемблер совсем не знаю. Вы мне можете написать это в виде С функции? Типа :


void *memcpy2(void *dst, void *src, int nBytes){__asm{ <тут дописать> } return dst;}


Очень буду благодарен

Просто цикл

Date: 2013-06-07 06:13 pm (UTC)
From: [identity profile] bopstr.livejournal.com
Скорее всего, для тупого копирования вот это будет самый быстрый вариант:

BYTE * pThis = (BYTE*)src;
BYTE * pEnd = (BYTE*)src + nSize;
BYTE * pDst = (BYTE*)dst;
while(pThis != pEnd)
{
*pDst++ = *pThis++;
}

Копировать байты - ну очень типовая задача. Так что идея в том, чтобы объяснить компилятору и процессору, что собираешься делать, и позволить им всё оптимизировать так, как они это считают нужным.
Edited Date: 2013-06-07 06:26 pm (UTC)

January 2026

S M T W T F S
    1 2 3
4 5 6 78910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 8th, 2026 02:36 pm
Powered by Dreamwidth Studios