0 / 0 / 0
Регистрация: 10.04.2019
Сообщений: 7
|
||||||
1 | ||||||
Вычисление выражения по формуле10.04.2019, 14:54. Показов 5865. Ответов 14
Имеется код на паскале со вставкой ассемблера, вычисляющий значение выражения (3a-4c2)/(b-2). Работает он только с "маленькими" числами, дело наверное в регистрах. Нужно чтобы программа работала и с большими числами (к примеру со всеми из диапазона значений Integer):
0
|
10.04.2019, 14:54 | |
Ответы с готовыми решениями:
14
Вычисление выражения по формуле Вычисление выражения по формуле Вычисление выражения по формуле Вычисление выражения по формуле. |
Ушел с форума
16276 / 7601 / 1064
Регистрация: 11.11.2010
Сообщений: 13,616
|
||||||
10.04.2019, 15:59 | 2 | |||||
(3a-4c2)/(b-2)
0
|
0 / 0 / 0
Регистрация: 10.04.2019
Сообщений: 7
|
|
10.04.2019, 16:15 [ТС] | 3 |
в 8 строке ошибку выдает
0
|
0 / 0 / 0
Регистрация: 10.04.2019
Сообщений: 7
|
|
10.04.2019, 17:19 [ТС] | 5 |
Работаю в Borland'e, нагуглил как включить 286 инструкции, но проблема сохранилась
0
|
Ушел с форума
16276 / 7601 / 1064
Регистрация: 11.11.2010
Сообщений: 13,616
|
|
10.04.2019, 17:35 | 6 |
AlbertKukowsky,
гугли дальше, я не выкладываю неработающие программы
0
|
0 / 0 / 0
Регистрация: 10.04.2019
Сообщений: 7
|
|
10.04.2019, 19:53 [ТС] | 7 |
Mikl___ , запустил в Лазарусе, выдает неверные результаты
Добавлено через 2 часа 11 минут точнее, выводит один и тот же ответ при любых входных значениях
0
|
6767 / 2737 / 384
Регистрация: 17.02.2013
Сообщений: 4,045
|
||||||
10.04.2019, 20:29 | 8 | |||||
Сообщение было отмечено AlbertKukowsky как решение
Решение
Да что-то вроде такого :
У него там переменные Integer, так-что надо бы знаковыми imul idiv оперировать.
1
|
0 / 0 / 0
Регистрация: 10.04.2019
Сообщений: 7
|
|
10.04.2019, 20:34 [ТС] | 9 |
Забавно, три раза запустил с одинаковым набором входных значений и три разных ответа
0
|
6767 / 2737 / 384
Регистрация: 17.02.2013
Сообщений: 4,045
|
|
10.04.2019, 21:29 | 10 |
Забавно, я запустил свою вставку и она идеально работает. Если она у тебя чудачит, то дело не в ней, а в том, что ты на Паскале вокруг нее наваял. Показывай исходник.
0
|
Модератор
|
|
10.04.2019, 22:01 | 11 |
AlbertKukowsky, попробуйте самой первой строчкой добавить директиву
{$mode TP} или {$mode FPC} .Да и разговор о вашей компиляции бесполезен - вы не предоставили исходник с ошибкой.
0
|
0 / 0 / 0
Регистрация: 10.04.2019
Сообщений: 7
|
||||||
10.04.2019, 23:09 [ТС] | 12 | |||||
Вот
0
|
Модератор
|
||||||
10.04.2019, 23:36 | 13 | |||||
Прогон даёт идентичные результаты.
Добавьте в начале программы строки
1
|
0 / 0 / 0
Регистрация: 10.04.2019
Сообщений: 7
|
|
16.04.2019, 13:01 [ТС] | 14 |
0
|
6767 / 2737 / 384
Регистрация: 17.02.2013
Сообщений: 4,045
|
|
16.04.2019, 22:44 | 15 |
А какой компилятор Паскаль у тебя тогда ? Ты-ж нигде не сказал. В первом сообщении топика был исходник для Turbo/Borland Pascal, а у него переменные integer 16-битные.
0
|
16.04.2019, 22:44 | |
16.04.2019, 22:44 | |
Помогаю со студенческими работами здесь
15
Вычисление выражения по формуле. Вычисление выражения по формуле Вычисление выражения по формуле Ax(B)^D Вычисление выражения по формуле Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |