Online Compiler Nasm

; вход: eax = vx, ebx = vy, ecx = ax/2, edx = ay/2, esi = t ; x = vx * t + (ax/2) * t * t imul eax, esi ; eax = vx * t mov edi, esi imul edi, esi ; edi = t * t imul edi, ecx ; edi = (ax/2) * t^2 add eax, edi ; eax = x ; y = vy * t + (ay/2) * t * t imul ebx, esi ; ebx = vy * t mov edi, esi imul edi, esi imul edi, edx add ebx, edi ; ebx = y ; результат: eax = x, ebx = y
1) Этот код вычисляет координаты x и y для равноускоренного движения по формулам:  
   x = vx * t + (ax/2) * t² и y = vy * t + (ay/2) * t².  
   Результат возвращается в регистрах eax (x) и ebx (y).

2) Подсказки:  
   - Обрати внимание, что регистр edi используется как временный для промежуточных вычислений, но его значение не сохраняется между вычислениями x и y.  
   - Убедись, что входные значения (ax/2, ay/2) уже поделены на 2 до вызова этого кода, так как в формулах используется именно (ax/2) и (ay/2).