: near
.data?
x1y1array real4 ?, ?, 0, 0
x2y2array real4 ?, ?, 0, 0
.code
DLLEntry proc instance:DWORD,reason:DWORD,reserved:DWORD
mov eax, 1
ret
DLLEntry endp
distance proc
mov [x1y1array], ecx
mov [x2y2array], edx
mov [x1y1array + 4], r8d
mov [x2y2array + 4], r9d
movups xmm0, XMMWORD ptr [x1y1array]
movups xmm1, XMMWORD ptr [x2y2array]
subps xmm0, xmm1 ; повычитали регистры, результат в xmm0
mulps xmm0, xmm0 ; теперь в регистрах xmm0, xmm2 -- квадраты отрезков
movups x1y1array, xmm0 ; извлекли в x1y1array квадраты проложений
mov eax, [x1y1array + 4]
mov real4 ptr x2y2array, eax
movups xmm1, XMMWORD ptr [x2y2array]
addps xmm0, xmm1 ;
sqrtps xmm0, xmm0
movss x1y1array, xmm0
mov eax, [x1y1array]
call ExitProcess
distance endp
end DLLEntry
А ты не знал про блоки кода?
1. distance proc неправильная. ExitProcess в DLL не делают, да и eax запарывается. 2. не вижу описания таблицы экспорта.
Обсуждают сегодня