Техника

Помогите перевести пожалуйста! Как перевести?

сишный код нужно перевести на ассемблерный, ибо я в ассемблере новичок (да и си не особо) , нужно сделать лабу

if ((a*a) > (b*b))
d = a/c;
else
d = (a*a)-(c*c);
if ((a*a) < (c*c));
d = (c*c*c);
else
d = a/c;

синтаксис не совсем правильный (i'm sorry :D)
N.
Nurda.... ....
94
> синтаксис не совсем правильный
У вас здесь не только синтаксис.. . Он в данном случае не важен.
Не понятен сам алгоритм.
Получается, что должно быть два результата при одних и тех же переменных a, b и c.

И, как обычно, не указано какой ассемблер.

Консольное 32-разрядное приложение Windows, компилятор MASM + SDK Masm32:

.686
.model flat, stdcall
option casemap:none

include windows.inc
include kernel32.inc
include masm32.inc
include msvcrt.inc
includelib kernel32.lib
includelib masm32.lib
includelib msvcrt.lib

.stack 100h

.data
PromptA db 'Введите A: ',0
PromptB db 'Введите B: ',0
PromptC db 'Введите C: ',0
Result db 'D = %s',13,10,0

.data?
hStdIn dd ?
VarA dq ?
VarB dq ?
VarC dq ?
VarD dq ?
Buff db 24 dup (?)

.code
Input proc
    push edi
    invoke crt_printf,edx
    invoke ReadConsole,hStdIn,addr Buff+4,20,addr Buff,NULL
    pop edi
    invoke StrToFloat,addr Buff+4,edi
    ret
Input endp

Print proc
    fstp VarD
    invoke FloatToStr,VarD,addr Buff
    invoke crt_printf,addr Result,addr Buff
    ret
Print endp

N80335066:
    invoke GetStdHandle,STD_INPUT_HANDLE
    mov hStdIn,eax
    lea edx,PromptA
    lea edi,VarA
    call Input
    lea edx,PromptB
    lea edi,VarB
    call Input
    lea edx,PromptC
    lea edi,VarC
    call Input
    finit
    fld VarA
    fmul VarA
    fld VarB
    fmul VarB
    fcomip st,st(1)
    fld VarC
    jb A_div_C
    fld st
    fmul
    fsub
    jmp Res1
A_div_C:
    ffree st(1)
    fdivr VarA
Res1:
    call Print
    fld VarA
    fmul VarA
    fld VarC
    fmul VarC
    fcomip st,st(1)
    ffree st
    jae cube_C
    fld VarA
    fdiv VarC
    jmp Res2
cube_C:
    fld VarC
    fmul VarC
    fmul VarC
Res2:
    call Print
    invoke ReadConsole,hStdIn,addr Buff+4,20,addr Buff,NULL
    invoke ExitProcess,NULL
    end N80335066

Пример работы программы:

Мария Савчук
Мария Савчук
51 590
Лучший ответ