Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 07.09.2011, 13:51   #1 (permalink)
Avskeds
Новичок
 
Регистрация: 07.09.2011
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Arrow Вставки асемблера в паскале

Пользуясь ассемблерными вставками в Pascal написать программу вычисления выражения

3*sqr(a)*b+5*a*exp(3*ln(b)) / 2*sqr(sqr(a))+1

Код:
program labo7;
var A,B,Y:integer;
begin
 write('A,B?:'); read(A,B);
 asm
 mov ax,A
 imul ax
 imul B
 mov bx,3
 imul bx
 mov si,ax
 mov ax,A
 imul B
 imul B
 imul B
 mov bx,5
 imul bx

 add ax,si

 mov di,ax
 mov ax,A
 imul ax
 push ax
 imul ax
 mov bx,2
 imul bx
 inc ax
 XCHG di,ax
 cwd
 idiv di
 mov Y,ax
end;
writeln ('Result:',3*sqr(A)*B+5*A*exp(3*ln(B)) div 2*sqr(sqr(A))+1 , ',Y= ',Y) ;
end.
Вот то что у меня получилось,но там постоянно вылезает ошибка,не знаю уже что делать(
Avskeds вне форума   Ответить с цитированием

Старый 07.09.2011, 13:51
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Многие этим интересовались, например тут

Код вставки изображения
Модуль в Паскале
Программа на паскале
Программа на Паскале

Старый 07.09.2011, 18:29   #2 (permalink)
kreol
Member
 
Аватар для kreol
 
Регистрация: 27.02.2010
Сообщений: 659
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1312
По умолчанию

какая ошибка вылазит?
kreol вне форума   Ответить с цитированием
Старый 08.09.2011, 10:09   #3 (permalink)
Avskeds
Новичок
 
Регистрация: 07.09.2011
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Error 41 : Operand types do not match operator
Avskeds вне форума   Ответить с цитированием
Старый 08.09.2011, 15:24   #4 (permalink)
kreol
Member
 
Аватар для kreol
 
Регистрация: 27.02.2010
Сообщений: 659
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1312
По умолчанию

ну это хорошо. а где именно? на какой строке?
kreol вне форума   Ответить с цитированием
Старый 08.09.2011, 17:00   #5 (permalink)
Avskeds
Новичок
 
Регистрация: 07.09.2011
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Предпоследняя строка,после знаменателя.
Avskeds вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 08.09.2011, 17:23   #6 (permalink)
duc
Banned
 
Регистрация: 23.11.2010
Сообщений: 6,749
Сказал(а) спасибо: 18
Поблагодарили 27 раз(а) в 6 сообщениях
Репутация: 17514
По умолчанию

Это я круглый или голова у меня квадратная? Ты объявляешь переменные целочисленными, а работаешь с ними как с плавающей точкой. Помнится надо копать именно в направлении преобразования типов при математических операциях.
duc вне форума   Ответить с цитированием
Старый 08.09.2011, 17:33   #7 (permalink)
Avskeds
Новичок
 
Регистрация: 07.09.2011
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

А как работать чтобы они оставались целочисленными?
Avskeds вне форума   Ответить с цитированием
Старый 08.09.2011, 17:40   #8 (permalink)
Avskeds
Новичок
 
Регистрация: 07.09.2011
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Можете еще подсказать полезную информацию по вставкам асемблера в паскале,а то искал что то ничего не нашел понятного.
Avskeds вне форума   Ответить с цитированием
Старый 08.09.2011, 17:51   #9 (permalink)
duc
Banned
 
Регистрация: 23.11.2010
Сообщений: 6,749
Сказал(а) спасибо: 18
Поблагодарили 27 раз(а) в 6 сообщениях
Репутация: 17514
По умолчанию

Извини, последний раз писал ассемблерную вставку лет пятнадцать назад и я сейчас у клиента, полазить повспоминать не получится
duc вне форума   Ответить с цитированием
Старый 08.09.2011, 17:54   #10 (permalink)
Avskeds
Новичок
 
Регистрация: 07.09.2011
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Офигеть,зачем мне это задают))) 15 лет назад)) Ясно почему нормальной инфы нету в инете про это)
Avskeds вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


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

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




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

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.