Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.04.2010, 23:45   #1
swatkiev
Пользователь
 
Регистрация: 05.04.2010
Сообщений: 15
По умолчанию Нужно запрограммировать пример на ассемблере

Задача простая: нужно запрограммировать уравнение на языке ассемблер для компьютеров Я пытался но что-то не выходит
Изображения
Тип файла: jpg Screenshot-27.jpg (21.7 Кб, 88 просмотров)
swatkiev вне форума Ответить с цитированием
Старый 06.04.2010, 08:07   #2
airyashov
Форумчанин
 
Регистрация: 02.04.2008
Сообщений: 358
По умолчанию

сопроцессор работает со своими регистрами и переменными в памяти, в поиск по форматам команд
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666
mail: airyashov(а)inbox.ru
airyashov вне форума Ответить с цитированием
Старый 06.04.2010, 08:42   #3
alexcoder
Форумчанин
 
Регистрация: 31.05.2009
Сообщений: 786
По умолчанию

Никогда не вставляй текст картинкой!
Код:
.model small
.stack 100h
.data
x dw 2
y dw ?
.code
begin:
mov ax,@data
mov ds,ax
finit
fild x
fild x
fild x
fmul
fmul
fild x
fild x
fmul
fadd
fld1
fsub
fild x
fld1
fadd
fsqrt
fdiv
fistp y
mov ax,4c00h
int 21h
end begin
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru
alexcoder вне форума Ответить с цитированием
Старый 06.04.2010, 19:30   #4
swatkiev
Пользователь
 
Регистрация: 05.04.2010
Сообщений: 15
По умолчанию

Спасибо alexcoder за помощь!
Тоесть как я понял не нужно перемещать полученные результаты в регистры как на КР580?
Просто мне интересно как потом процессор догадается, что на что нужно поделить?
swatkiev вне форума Ответить с цитированием
Старый 07.04.2010, 08:12   #5
alexcoder
Форумчанин
 
Регистрация: 31.05.2009
Сообщений: 786
По умолчанию

Разберитесь с принципом работы сопроцессора. Он работает по принципу стека. Операции обычно совершаются над операндами, находящимися в вершине стека сопроцессора(ST(0)), а результат также сохраняется в вершину стека сопроцессора. Поэтому их и не указывают.
Сопроцессор не работает с обычными регистрами!
Пройдитесь по программе Turbo Debuggerom и все станет ясно.
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru

Последний раз редактировалось alexcoder; 07.04.2010 в 08:15.
alexcoder вне форума Ответить с цитированием
Старый 07.04.2010, 12:48   #6
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

еще исходное уравнение y=(x^3 + x^2 -1)/sqrt(x+1)
можно представить как (x+1)^2,5 -2*(x+1)^1,5 + (x+1)^0,5 -(x+1)^(-0,5)
Mikl___ вне форума Ответить с цитированием
Старый 13.04.2010, 18:23   #7
swatkiev
Пользователь
 
Регистрация: 05.04.2010
Сообщений: 15
По умолчанию

alexcoder
Спасибо за помощь - программа работает прекрасно!
Только учитель попросил, чтобы я использовал команды для вычисления не только целых, но и дробовых чисел. Я так понял нужно заменить команду fild, вот только на какую? Спасибо за ответ
swatkiev вне форума Ответить с цитированием
Старый 13.04.2010, 21:31   #8
airyashov
Форумчанин
 
Регистрация: 02.04.2008
Сообщений: 358
По умолчанию

Код:
fld
--------
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666
mail: airyashov(а)inbox.ru
airyashov вне форума Ответить с цитированием
Старый 13.04.2010, 21:59   #9
swatkiev
Пользователь
 
Регистрация: 05.04.2010
Сообщений: 15
По умолчанию

airyashov
Тоесть будет вот так, как в этом документе Ворд, приложенном к сообщению?
Вложения
Тип файла: doc Задача на курсовую.doc (26.5 Кб, 13 просмотров)
swatkiev вне форума Ответить с цитированием
Старый 14.04.2010, 08:40   #10
alexcoder
Форумчанин
 
Регистрация: 31.05.2009
Сообщений: 786
По умолчанию

почти.
Код:
model small
.stack 100h
.data
x dd 2.0
y dd ?
.code
begin:
mov ax,@data
mov ds,ax
finit
fld x
fld x
fld x
fmul
fmul
fld x
fld x
fmul
fadd
fld1
fsub
fld x
fld1
fadd
fsqrt
fdiv
fstp y
mov ax,4c00h
int 21h
end begin
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru
alexcoder вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как запрограммировать этот пример? NATKA Помощь студентам 4 09.11.2008 17:33
Яркий пример того, как НЕ НУЖНО оформлять интерфейс JTG Софт 6 17.10.2008 21:08
Прога на Ассемблере, Нужно доделать: запись в файл azze Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 12.01.2008 13:59
Нужно запрограммировать микросхему Volya Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 26.03.2007 10:20