.model tiny, C
.data
x dq 1234567812345678h
y dq 1234567812345678h
z dq 2 dup (?)
.code
.386
.startup
call mult64, offset x, offset y, offset z
.exit 0
;AB * CD
mult64 proc px:word, py:word, pz:word
mov di, px
mov si, py
mov bx, pz
mov eax, [di]
mul dword ptr [si]
mov [bx], eax
mov [bx+4], edx ;B * D
mov eax, [di+4]
mul dword ptr [si]
add [bx+4], eax
adc edx, 0
mov [bx+8], edx ;A * D
mov eax, [di]
mul dword ptr [si+4]
add [bx+4], eax
adc [bx+8], edx
mov eax, 0
adc eax, 0
mov [bx+12], eax ;B * C
mov eax, [di+4]
mul dword ptr [si+4]
add [bx+8], eax
adc [bx+12], edx ;A * C
ret
mult64 endp
end
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.