imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 04.01.2005, 19:37     # 1
phill
Full Member
 
Аватар для phill
 
Регистрация: 24.03.2003
Адрес: ~ukraine
Сообщения: 534

phill Имеются все основания чтобы гордиться собойphill Имеются все основания чтобы гордиться собойphill Имеются все основания чтобы гордиться собойphill Имеются все основания чтобы гордиться собойphill Имеются все основания чтобы гордиться собойphill Имеются все основания чтобы гордиться собойphill Имеются все основания чтобы гордиться собойphill Имеются все основания чтобы гордиться собойphill Имеются все основания чтобы гордиться собойphill Имеются все основания чтобы гордиться собойphill Имеются все основания чтобы гордиться собой
Помогите исправить програмку (assembler)

надо посчитать выражение: =)
//типо константы все, вводить ниче не надо
_http://w3.lvivonline.com:8080/boria/666.jpg
нет возможгости написать, там рисунок (формула) :Р

вот я набросал, но чето не работает, писал .386, тоже не работает чето, помогите плиз !

Код:
 
%TITLE "666"
IDEAL
MODEL small
STACK 256
DATASEG
x dq 13.45
y dq 1.57
z dq 2.13e2
CODESEG
START:	mov ax, @data
		mov ds,ax
		mov es, ax
finit		
	fld x
	fmul st(0), st(0)
	fmul st(0), 4
	fdiv st(0), 3
	fstp eax
ffree st(0)
	fld y
	fmul st(0), st(0)
	fld eax
	fadd st(0), st(1)
	fsqrt
	fstp eax

	neg eax

	fld z
	fcos

	fmul st(0), (0)
	fld x
	fdiv st(0), st(1)
ffree st(0)
	fld eax
	fsub st(0), st(1)

fstp eax
fstp eax

EXIT:	mov ax, 4C00h
	int 21h
	END START
на асемблере естественно !!
__________________
Морковь высевают 2 - 3 раза. Для получения пучковой продукции семена высевают рано весной или под зиму. <3

Последний раз редактировалось phill; 04.01.2005 в 19:40.
phill вне форума  
Старый 06.01.2005, 12:32     # 2
phill
Full Member
 
Аватар для phill
 
Регистрация: 24.03.2003
Адрес: ~ukraine
Сообщения: 534

phill Имеются все основания чтобы гордиться собойphill Имеются все основания чтобы гордиться собойphill Имеются все основания чтобы гордиться собойphill Имеются все основания чтобы гордиться собойphill Имеются все основания чтобы гордиться собойphill Имеются все основания чтобы гордиться собойphill Имеются все основания чтобы гордиться собойphill Имеются все основания чтобы гордиться собойphill Имеются все основания чтобы гордиться собойphill Имеются все основания чтобы гордиться собойphill Имеются все основания чтобы гордиться собой
посмотрите те кто знает асемблер, пжалуста ! тут пару сек работы при мин знаниях FPU
__________________
Морковь высевают 2 - 3 раза. Для получения пучковой продукции семена высевают рано весной или под зиму. <3
phill вне форума  
Старый 06.01.2005, 22:03     # 3
Madness
KpTeaM
 
Регистрация: 31.10.2002
Адрес: Russia
Пол: Male
Сообщения: 3 261

Madness СуперБогMadness СуперБогMadness СуперБог
Madness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБог
phill
У меня получилось так:
Код:
x dq 13.45
y dq 1.57
z dq 2.13e2
a4 dd 4.0
a3 dd 3.0
tmp dq ?

finit
fld x
fmul st(0), st(0)
fmul a4
fdiv a3
fstp tmp
fld y
fmul st(0), st(0)
fld tmp
fadd st(0), st(1)
ffree st(1)

fsqrt

fldz ;neg tmp
fsub st(0), st(1)
ffree st(1)

fld z
fcos

fmul st(0), st(0)
fmul st(0), st(0)
fld x
fdiv st(1), st(0)
fstp tmp
fsub st(1), st(0)

fstp tmp
fstp tmp
Можно написать короче. + fadd/sub st(0), st(1); ffree st(1) можно попробовать заменить на faddp/fsubp, только у меня компилятор ругался. А так с виду работает. Результат в [tmp].
__________________
Над струнами вен моих
Лезвия осени,
Их сталь леденящая
В просинь рук просится...
©Темнозорь
Madness вне форума  
Старый 07.01.2005, 20:53     # 4
phill
Full Member
 
Аватар для phill
 
Регистрация: 24.03.2003
Адрес: ~ukraine
Сообщения: 534

phill Имеются все основания чтобы гордиться собойphill Имеются все основания чтобы гордиться собойphill Имеются все основания чтобы гордиться собойphill Имеются все основания чтобы гордиться собойphill Имеются все основания чтобы гордиться собойphill Имеются все основания чтобы гордиться собойphill Имеются все основания чтобы гордиться собойphill Имеются все основания чтобы гордиться собойphill Имеются все основания чтобы гордиться собойphill Имеются все основания чтобы гордиться собойphill Имеются все основания чтобы гордиться собой
Код:
fldz ;neg tmp
fsub st(0), st(1)
ffree st(1)
тут надо поменять знак, neg tmp .. а зачем отнимать от tmp z ?
Код:
fmul st(0), st(0)
fmul st(0), st(0)
fld x
fdiv st(1), st(0)
fstp tmp
fsub st(1), st(0)
тут наверно наоборот - fdiv st(0), st(1), мы ж делим косинус на х, или я чето не допонял ?

спасибо большое
__________________
Морковь высевают 2 - 3 раза. Для получения пучковой продукции семена высевают рано весной или под зиму. <3
phill вне форума  
Старый 08.01.2005, 03:45     # 5
Madness
KpTeaM
 
Регистрация: 31.10.2002
Адрес: Russia
Пол: Male
Сообщения: 3 261

Madness СуперБогMadness СуперБогMadness СуперБог
Madness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБог
phill
Отладчик юзай чтоб все не объяснять.

>тут надо поменять знак, neg tmp .. а зачем отнимать от tmp z ?
В st(0) грузится 0 и от него отнимается параметр, типа отрицательное число получаем

>тут наверно наоборот
Возможно, я значения все не сверял, мож че и перепутал.
__________________
Над струнами вен моих
Лезвия осени,
Их сталь леденящая
В просинь рук просится...
©Темнозорь
Madness вне форума  

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 12:24.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.