1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!
| marwell |
24.05.2012 12:17
Сообщение
#1
|
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 198 Пол: Мужской Репутация: 1 |
доброго дня
необходимо вычислить интеграл методом прямоугольников (ассемблерная вставка в Delphi или в паскаль) сам метод мне понятен но, на каждом шаге мне нужно будет вычислять значение функции в определенной точке. хотел было использовать макросы но не тут то было, ни паскаль ни Delphi макросы не принимают может я неправильно описываю эти макросы? var n,a,b: integer; [Error] Project1.dpr(18): Undeclared identifier: 'funct' думал что макросы описываются след образом: <имя> macro парам1, парам2... парам N ... ...набор команд ... endm |
![]() ![]() |
| IUnknown |
24.05.2012 15:27
Сообщение
#2
|
![]() a.k.a. volvo877 ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: 627 |
Функция какая у тебя, тангенс или котенгенс? Если тангенс - то вот так:
asm (логика очень проста: в стеке держим только приращение в ST1, и текущее значение X в ST0, все остальное сразу после вычисления убираем). Если функция - КОтангенс - поменяй fdivp на fdivrp |
| marwell |
24.05.2012 16:00
Сообщение
#3
|
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 198 Пол: Мужской Репутация: 1 |
Функция какая у тебя, тангенс или котенгенс? Если тангенс - то вот так: asm (логика очень проста: в стеке держим только приращение в ST1, и текущее значение X в ST0, все остальное сразу после вычисления убираем). Если функция - КОтангенс - поменяй fdivp на fdivrp спасибо! да, тангенс нужен. И логика понятна. Только Delphi ругается на эту строчку fadd st(1) говорит [Error] Project1.dpr(25): Invalid combination of opcode and operands |
marwell ассемблерная вставка в Delphi 24.05.2012 12:17
IUnknown MACRO встроенным ассемблером не поддерживается. По... 24.05.2012 12:43
marwell var n,a,b: integer;
res, h, x: real;
begin
rea... 24.05.2012 14:07
marwell аа, дело в fdivr st(1),st
кажется там на каждом ша... 24.05.2012 14:28
IUnknown А кто тебе сказал, что происходит деление на 0? :)... 24.05.2012 14:29
marwell сорри, успел отредактировать свое предыдущее сообщ... 24.05.2012 14:33
IUnknown Посмотри на содержимое стека FPU. Сколько там оста... 24.05.2012 14:41
marwell спасибо!
var n,a,b: integer;
res, h, x: re... 24.05.2012 15:00
IUnknown FPC не ругается, в Дельфи сейчас посмотрю.
Update... 24.05.2012 16:29
marwell
FPC не ругается, в Дельфи сейчас посмотрю.
Updat... 24.05.2012 16:49
IUnknown Не верю :) Ты просто не доделал метод прямоугольни... 24.05.2012 17:41
marwell
Не верю :) Ты просто не доделал метод прямоугольн... 24.05.2012 17:57
Fresselasuits И всётаки, как в Delphi, с помощью asm можно вызва... 9.04.2015 17:39![]() ![]() |
|
Текстовая версия | 9.12.2025 13:14 |