Всем доброго времени суток. Я только начинаю работать с Ассемблером, так что в нем "полный новичек". Есть задание вычислить факториал числа.
В данной части кода, описывающей умножение двух операндов, возникает ошибка "Нарушение прав доступа при записи". Никак не могу понять почему.
| Код | push ebp mov ebp, esp sub esp, 8
V equ <dword ptr[ebp-4]> Y equ <dword ptr[ebp-8]>
mov esi, [ebp+16] mov edi, [ebp+12]
mov V, 2
mov Y, 0 mov ebx, 0 mov ecx, 10 clc Cycle1:
mov eax, dword ptr[esi+4*ebx] mul V mov dword ptr[edi+4*ebx], eax mov eax, Y adc dword ptr[edi+4*ebx], eax
inc ebx
mov dword ptr[edi+4*ebx], edx mov eax, dword ptr[esi+4*ebx] mul V adc dword ptr[edi+4*ebx], eax mov Y, edx
inc ebx dec ecx jnz Cycle1
mov ebx, 0 mov ecx, 10 clc Cycle2: mov eax, dword ptr[edi+4*ebx] mov dword ptr[esi+4*ebx], eax ;<---------------------Ошибка возникает в этой строке inc ebx dec ecx jnz Cycle2
mov esp, ebp pop ebp ret 12
|
|