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

Помоги те решить пример на языке ассемблера (c/4 - d*62)/(a*3 + 1)

.386
.model flat,stdcall
option casemap:none

include kernel32.inc
include msvcrt.inc
includelib kernel32.lib
includelib msvcrt.lib

.stack 100h

.data
Prompt db 'Введите A: ',0
Result db 'Значение выражения = %.4f',13,10,10
    db 'Для завершения работы нажмите любую клавишу... ',0
fInput db '%lf',0

.data
VarA dq ?
VarC dq ?
VarD dq ?
VarR dq ?
IntBuf dw ?

.code
N91158899:
    invoke crt_printf,addr Prompt
    invoke crt_scanf,addr fInput,addr VarA
    add byte ptr Prompt+8,2
    invoke crt_printf,addr Prompt
    invoke crt_scanf,addr fInput,addr VarC
    inc byte ptr Prompt+8
    invoke crt_printf,addr Prompt
    invoke crt_scanf,addr fInput,addr VarD
    finit
    mov word ptr IntBuf,4
    fld VarC
    fidiv IntBuf
    mov word ptr IntBuf,62
    fld VarD
    fimul IntBuf
    fsub
    fld1
    mov word ptr IntBuf,3
    fld VarA
    fimul IntBuf
    fadd
    fdiv
    fstp VarR
    invoke crt_printf,addr Result,dword ptr VarR,dword ptr VarR+4
    invoke crt__getch
    invoke ExitProcess,0
    end N91158899

Ошибки ввода и вычислений не проверяются.

Не Смотри А То.....
Не Смотри А То.....
51 590
Лучший ответ
Задействуй сопроцесор. Сделай запрос в поисковике: "ASM арифмитический сопроцесор исходник"