ВУЗы и колледжи

помогите пожалуйста написать программу на ассемблере вычислить D = (A*B)*B E = (A-B)*(C-A)/B

PREPARSE EntryPoint Begin

[push | push #1 | #+1]
[cinvoke | push #L>2 | call #1
  #If #N>1
    add esp, ((#N - 1) * 4)
  #EndIf]

[Prompt: B$"Введите _: ", 0]
[Format: B$"%lf", 0]
[ResultD: B$0A, "D = %g", 0D, 0A, "E = ", 0]
[ResultE: B$"%g%", 0]
[Error: B$"Деление на ноль", 0]
[WaitMsg: B$0D, 0A, 0A, "Для завершения работы нажмите любую клавишу... ", 0]

[A: R$?]
[B: R$?]
[C: R$?]
[D: R$?]
[E: R$?]

Begin:
  mov B$Prompt + 8, "A"
  cinvoke "msvcrt.printf", Prompt
  cinvoke "msvcrt.scanf", Format, A
  inc B$Prompt + 8
  cinvoke "msvcrt.printf", Prompt
  cinvoke "msvcrt.scanf", Format, B
  inc B$Prompt + 8
  cinvoke "msvcrt.printf", Prompt
  cinvoke "msvcrt.scanf", Format, C
  finit
  fld R$A
  fld R$B
  fmul st0, st0
  fmul
  fstp R$D
  cinvoke "msvcrt.printf", ResultD, D$D, D$D + 4
  fld R$B
  fldz
  fcomip st0 st1
  fstp st0
  je ZeroDiv
  fld R$A
  fsub R$B
  fld R$C
  fsub R$A
  fmul
  fdiv R$B
  fstp R$E
  cinvoke "msvcrt.printf", ResultE, D$E, D$E + 4
  jmp Quit

ZeroDiv:
  cinvoke "msvcrt.printf", Error
Quit:
  cinvoke "msvcrt.printf", WaitMsg
  call "msvcrt._getch"
  cinvoke "msvcrt._exit", 0

Файруза Арасланова
Файруза Арасланова
51 590
Лучший ответ