Консольное 32-разрядное приложение Windows, процессор i80386/387 с сопроцессором. Компилятор MASM + SDK masm32.
.386
.model flat, stdcall
option casemap: none
include windows.inc
include kernel32.inc
include user32.inc
include masm32.inc
includelib kernel32.lib
includelib user32.lib
includelib masm32.lib
.stack 200h
.data
TextA db 'Введите A: ',0
TextB db 'Введите B: ',0
TextC db 'Введите C: ',0
Result db 'Результат R = ',0
.data?
hStdIn dd ?
hStdOut dd ?
varA dq ?
varB dq ?
varC dq ?
varR dq ?
Buff db 24 dup (?)
.code
Print proc
push ebp
mov ebp,esp
invoke lstrlenA,[ebp+8]
invoke WriteConsole,hStdOut,[ebp+8],eax,0,0
pop ebp
ret 4
Print endp
InputFloat proc
invoke ReadConsole,hStdIn,addr Buff+4,20,addr Buff,0
invoke StrToFloat,addr Buff+4,edi
ret
InputFloat endp
N69950314:
finit
invoke GetStdHandle,STD_INPUT_HANDLE
mov hStdIn,eax
invoke GetStdHandle,STD_OUTPUT_HANDLE
mov hStdOut,eax
push offset TextA
call Print
lea edi,varA
call InputFloat
push offset TextB
call Print
lea edi,varB
call InputFloat
push offset TextC
call Print
lea edi,varC
call InputFloat
fld varA; st(0):=a
fadd varB; st(0):=a+b
fsub varC; st(0):=a+b-c
fld st(0); st(1):=st(0)
fmul; st(0):=(a+b-c)^2
fld varB; st(0):=b
fmul varC; st(0):=b*c
fsub varA; st(0):=b*c-a
fld st(0); st(1):=st(0)
fmul; st(0):=(b*c-a)^2
fadd; st(0):=(a+b-c)^2+(b*c-a)^2
fstp varR
push offset Result
call Print
invoke FloatToStr,varR,addr Buff
push offset Buff
call Print
invoke ReadConsole,hStdIn,addr Buff+4,20,addr Buff,0
invoke ExitProcess,0
end N69950314
P.S. Корректность ввода с клавиатуры не проверяется.
Другие языки программирования и технологии
срочно помогите написать программу на ассемблере вычисляющую R. R=x2+y2, где x=a+b-c, y=b*c-a. a,b,c вводятся с клавы
пиши в личку
Похожие вопросы
- помогите составить таблицы истиности -А -> (B + C); (A B) * C; -A + -B + C; - (A + B) * C ; A * B _+ C; A B
- Напишите программу для С++, которая заменяет в символьной строке все буквы a на буквы b, буквы A на буквы B ...
- Помогите написать программу на ассемблере, завтра экзамен а я в нём совсем не шарю.
- помогите написать программы в ассемблере
- Помогите написать программу на ассемблере по условию
- Помогите написать программу на Ассемблере
- Помогите написать на ассемблере програму для вычисления виражения y=(c-(d/2)+33 )/(2*a*a-1). c=5,d=6,a=3.
- Помогите, разработать программу вычисления двух выражений, в ассемблереX= (a/2+b^2)/3*cY= (b^3-(12+x)/a)/c+2
- Может ли кирпич, имеющий форму прямоугольного параллепипеда с ребрами a,b,c, пройти через круглое отверстие радиуса R?
- Дано функцию f(x,y). Вивести на екран функцію g(x)=∫_a^b▒〖f(x,y)〗 dy. С++