помогите с простыми программами в ассемблере, на c++ это легко сделать, а тут вообще не понимаю как.
1.Необходимо создать программу-модель анализа пожарного датчика в помещении, которая выводит сообщение «Опасная ситуация» , если t >= 45 grad C.
2.Составьте программу, определяющую, пройдет ли график функции y=5x2-7x+2 через заданную точку с координатами (а, b).
(данные водятся с клавиатуры)
Другие языки программирования и технологии
помогите написать программы в ассемблере
Вторая программа для TASM 5 в режиме Ideal. Проверка на корректность ввода с клавиатуры не производится.
title N88931612
ideal
p686
model flat,stdcall
includelib 'import32.lib'
includelib 'imp32i.lib'
procdesc ExitProcess winapi :dword
extrn scanf: near
extrn printf: near
extrn _getch: near
dataseg
PromptA db 'Введите A: ',0
PromptB db 'Введите B: ',0
Result1 db 'График функции не проходит через заданную точку',0
Result2 db 'График функции проходит через заданную точку',0
QuitPrompt db 13,10,10,'Для завершения работы нажмите любую клавишу... ',0
fInput db '%f',0
A dd ?
B dd ?
IntBuf dw ?
codeseg
Start:
push offset PromptA
call printf
add esp,4
push offset A
push offset fInput
call scanf
add esp,8
push offset PromptB
call printf
add esp,4
push offset B
push offset fInput
call scanf
add esp,8
finit
fld [A]
fld st
fmul
mov [IntBuf],5
fimul [IntBuf]
fld [A]
mov [IntBuf],7
fimul [IntBuf]
fsub
mov [IntBuf],2
fiadd [IntBuf]
fld [B]
fucomi st(1)
mov eax,offset Result2
je ResYes
mov eax,offset Result1
ResYes:
push eax
call printf
add esp,4
push offset QuitPrompt
call printf
add esp,4
call _getch
call ExitProcess,0
end Start
P.S. Библиотека imp32i.lib из комплекта Tasm 5 plus.
title N88931612
ideal
p686
model flat,stdcall
includelib 'import32.lib'
includelib 'imp32i.lib'
procdesc ExitProcess winapi :dword
extrn scanf: near
extrn printf: near
extrn _getch: near
dataseg
PromptA db 'Введите A: ',0
PromptB db 'Введите B: ',0
Result1 db 'График функции не проходит через заданную точку',0
Result2 db 'График функции проходит через заданную точку',0
QuitPrompt db 13,10,10,'Для завершения работы нажмите любую клавишу... ',0
fInput db '%f',0
A dd ?
B dd ?
IntBuf dw ?
codeseg
Start:
push offset PromptA
call printf
add esp,4
push offset A
push offset fInput
call scanf
add esp,8
push offset PromptB
call printf
add esp,4
push offset B
push offset fInput
call scanf
add esp,8
finit
fld [A]
fld st
fmul
mov [IntBuf],5
fimul [IntBuf]
fld [A]
mov [IntBuf],7
fimul [IntBuf]
fsub
mov [IntBuf],2
fiadd [IntBuf]
fld [B]
fucomi st(1)
mov eax,offset Result2
je ResYes
mov eax,offset Result1
ResYes:
push eax
call printf
add esp,4
push offset QuitPrompt
call printf
add esp,4
call _getch
call ExitProcess,0
end Start

P.S. Библиотека imp32i.lib из комплекта Tasm 5 plus.
Стоит сначала указать какой компилятор асм вы используете.
1) Задаете строку сначала в описании data seg, вот так Atata DB 'Opasnay sityachia $' , потом с помощью cmp (условный оператор) сравниваете регистр, регистр, далее с помощью jge label
(условного перехода) идете на вывод строки
lea dx,Atata
int 21h
mov ax, 4c00h
int 21h -закрываемся.
2) тоже самое, только будет больше сравнений.
1) Задаете строку сначала в описании data seg, вот так Atata DB 'Opasnay sityachia $' , потом с помощью cmp (условный оператор) сравниваете регистр, регистр, далее с помощью jge label
(условного перехода) идете на вывод строки
lea dx,Atata
int 21h
mov ax, 4c00h
int 21h -закрываемся.
2) тоже самое, только будет больше сравнений.
Похожие вопросы
- Помогите написать программу на ассемблере, завтра экзамен а я в нём совсем не шарю.
- срочно помогите написать программу на ассемблере вычисляющую R. R=x2+y2, где x=a+b-c, y=b*c-a. a,b,c вводятся с клавы
- Помогите написать программу на ассемблере по условию
- Помогите написать программу на Ассемблере
- Люди, которые хоть немного разбираются в ассемблере, помогите написать программу)
- Нужно написать программа на ассемблере для функции СигнумХ . Как правильно это сделать?
- помогите написать программу любой игры в ассемблере с блок-схемой. спасибо
- Ассемблер помогите написать программу..
- Помогите с программой на Ассемблере
- Помогите написать программу со switch в СИ