нужно скопировать "большой" скажем так, массив данных, из одного места в другой. Так вот собственно вопрос. Как копировать данные, например mov eax dword ptr[123], mov dword ptr [123], eax или же mov eax dword ptr [123], mov ebx dword ptr[124], mov edx dword ptr [125] и после так же поочередно из регистров в память, как думаете?
Посмотри на контроллер памяти. Используй такой размер, с которым работает сам контроллер. И выравнивание. Пример: контроллер работает по 4 байта, начиная с 0000; надо скопировать с 0003 по 0100. Вывод: копировать с 0004 по 0100 как двойное слово (4 байта) и потом отдельно один байт из 0003.
Может так? mov esi, source mov edi, destination mov ecx, length rep movsd
Обсуждают сегодня