_memcpy_r SEGMENT
memcpy_r PROC
mov r10, rdi
mov r11, rsi
mov rdi, rcx
mov rsi, rdx
mov rcx, r8
shr rcx, 3
rep movsq
mov rcx, r8
and rcx, 7
rep movsb
mov rsi, r11
mov rdi, r10
ret
memcpy_r ENDP
_memcpy_r ENDS
END
У меня есть вышеуказанный код в файле .asm, который я использую в проекте Visual Studio 2010.Он настроен на компиляцию с использованием Microsoft Macro Assembler (ml64.exe).Сбой программы с исключением нарушения прав доступа в первой строке процедуры (mov r10, rdi).Кто-нибудь знает почему?
РЕДАКТИРОВАТЬ: Я должен уточнить.Если я удаляю первую строку, исключение все еще происходит на следующей.Если я удаляю это, это происходит на следующем (mov rdi, rcx).