|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
01.06.2010, 19:35 | #1 |
Пользователь
Регистрация: 01.06.2010
Сообщений: 15
|
Мне нужно узнать как получившееся выражение разделить на пи...заранее спасибо))
Здравствуйте всем!!)))
Помогите пожалуйста дописать программу,мне дано выражение f(a,b)=((a-a mod b)div 16 - 8*(a div b))*2,сначала нужно вычислить его значение,это я сделала)))) а затем получившееся значение поделить на пи,вот в это вопрос и заключается,как мне поделить на пи,подскажите пожалуйста..!!))) .MODEL large, PASCAL .CODE ; kr2_40 PROC FAR a:WORD,b:WORD PUBLIC kr2_40 mov si,ds mov ax,a mov bx,b xor dx,dx div bx mov ax,dx mov bx,ax mov ax,a sub ax,bx shr ax,4 mov bx,ax mov ax,a mov cx,b xor dx,dx div cx shl ax,3 mov cx,ax mov ax,bx sub ax,cx shl ax,1 тут заканчивается вычисление выражения mov a,ax finit fild a fldpi fdiv mov ds,si ret kr2_40 ENDP END |
01.06.2010, 22:26 | #2 |
Форумчанин
Регистрация: 02.04.2008
Сообщений: 358
|
fpu поможет
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666 mail: airyashov(а)inbox.ru |
01.06.2010, 22:57 | #3 |
Пользователь
Регистрация: 01.06.2010
Сообщений: 15
|
можете мне сказать что именно там нужно писать чтобы выражение делилось на пи??
Последний раз редактировалось ***Виталия***; 02.06.2010 в 00:21. |
02.06.2010, 01:36 | #4 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,760
|
Код:
|
02.06.2010, 04:22 | #5 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
***Виталия***
если без использования FPU то Код:
|
02.06.2010, 13:19 | #6 |
Пользователь
Регистрация: 01.06.2010
Сообщений: 15
|
вот я сделала как вы и сказали,только при проверке на Паскале он выдает ошибку Invalid floating point operation. Что это значит?Можете посмотреть код,может я что-то неправильно написала...
PHP код:
|
02.06.2010, 13:41 | #7 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
***Виталия***
в AX результат mov bx,10000 mul bx; теперь результат в DX:AX ; xor DX,DX <-- этого делать не нужно, ; обнуление DX приведет к искажению результата при делении DIV pi; делим DX:AX на 31416 в AX частное, в DX остаток |
02.06.2010, 13:45 | #8 |
Пользователь
Регистрация: 01.06.2010
Сообщений: 15
|
Вот так именно я и написала,только вы написали чтобы в ax занести результат,а он же и так у меня в ax...
Но Паскаль выдает ошибку...как ее исправить(((??? |
02.06.2010, 13:49 | #9 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
***Виталия***
Закомментируй кусок в котором умножается на 10000 и делится на 31416 В AX какое число? Выведи его на экран |
02.06.2010, 13:50 | #10 |
Пользователь
Регистрация: 01.06.2010
Сообщений: 15
|
закоментировала,выводится если а = 300
b=300 то с = 20 Последний раз редактировалось ***Виталия***; 02.06.2010 в 13:54. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как задать команду перехода? Заранее спасибо! | Andbuba | Microsoft Office Excel | 6 | 15.01.2009 06:30 |
Помогите исправить задачу. Заранее спасибо | Liver | Помощь студентам | 1 | 20.12.2008 09:47 |