ecx,eax
jecxz $+6
imul ecx
loop $-2
факториал. варианты?
Можешь рекурсией сделать
в АСМ такое есть?
Почему нет? Пиши call
я просто пока только начал)
Рекурсия это способ исполнять код. Язык практически не имеет значения.
а не касаясь стека?
Зачем ты делаешь adc?
Я не уверен, xchg устанавливает флаги?
cdq: edx = 0|-1 stc adc: edx = edx*2+1 = 1|-1
Как-то всё запутанно.
; eax = source mov edx,1 @@: imul edx,eax dec eax jnz @B ; edx = result
Тогда уж проще: mov ecx, 5 mov edx, 1 imul edx, ecx loop imul
loop медленнее раз в 5 :)
https://t.me/ChatAssembler/39779 А я считал что так)
Откуда такая математика? Вот тебе другая математика :)
А теперь вроде без ошибок: mov ecx, 5 (-5) call $+14 cdq inc edx imul edx, ecx loop $-3 xchg ecx, ebx mov ebx, ecx and ecx, ecx jns $+6 neg ecx neg edx ret Громоздко?
Обсуждают сегодня