Пример с факториалом (FASM) - Assembler
Формулировка задачи:
Здравствуйте, уважаемые программисты. Прошу вашей помощи в такой задаче. Нужно написать процедуру по вычислению примера y = ((x! + z) / d)^2. Если можно, как-то попроще записать, в ассемблере полный профан)
Заранее спасибо
Решение задачи: «Пример с факториалом (FASM)»
textual
Листинг программы
format PE GUI include 'win32wxp.inc' .code start: mov ecx, [x] mov eax, 1 ;(edx:eax)=x! mov edx, 0 .factorial: mov esi, edx mul ecx mov edi, eax mov ebx, edx mov eax, esi mul ecx mov edx, eax add edx, ebx mov eax, edi loop .factorial add eax, [z] adc edx, 0 div dword [d] mul eax mov [y], eax cinvoke wsprintf, numstr, '%i', eax invoke MessageBox, HWND_DESKTOP, numstr, 'y = ((x! + z) / d)^2', MB_OK invoke ExitProcess, 0 .data numstr rb 15 x dd 15 z dd 123456 d dd 987654321 y rd 1 .end start
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д