Другие языки программирования и технологии

"a+b/a-c"(дробь) нужно решить выражение, чтобы работало в ассемблере )

Дима Улько
Дима Улько
141
> "a+b/a-c"(дробь)
Это значит так: (a+b)/(a-c)?

from kernel32.dll
    import ExitProcess
from msvcrt.dll
    import printf
    import scanf_s
    import _getch

section "code" class_code
section "data" class_data
section "idata" class_imports

.data
    Prompt db "Введите A: ", 0
    Result db "Ответ: %f", 10, 10
            db "Для завершения работы нажмите любую клавишу...", 0
    Format db "%lf", 0
    A rq 1
    B rq 1
    C rq 1
    Y rq 1

.code
    .entry N98515613

N98515613:
        cinvoke printf, Prompt
        cinvoke scanf_s, Format, A
        inc byte [Prompt + 8]
        cinvoke printf, Prompt
        cinvoke scanf_s, Format, B
        inc byte [Prompt + 8]
        cinvoke printf, Prompt
        cinvoke scanf_s, Format, C
        finit
        fld [A]
        fsub [C]
        fstp [Y]
        fld [A]
        fadd [B]
        fdiv [Y]
        fstp [Y]
        push dword [Y + 4]
        push dword [Y]
        invoke printf, Result
        add esp, 12
        cinvoke _getch
        invoke ExitProcess, 0
        ret

"В ассемблере" работает:

Sergey Shklyaev
Sergey Shklyaev
51 590
Лучший ответ

Похожие вопросы