0 / 0 / 0
Регистрация: 01.11.2016
Сообщений: 89
|
||||||
1 | ||||||
Команда сопроцессора - fy12x04.04.2018, 19:41. Показов 3098. Ответов 12
Метки нет Все метки)
(
Здравствуйте!
Будьте добры, пожалуйста, укажите на ошибку. Код: Кликните здесь для просмотра всего текста
fy12x — команда вычисления значения функции z=ylog2(x). Исходное значение х размещается в вершине стека сопроцессора, а исходное значение y – в регистре st(1).
0
|
|
04.04.2018, 19:41 | |
Ответы с готовыми решениями:
12
Добрый день. Вероятность того что команда а и команда б забьет 2,3,4,5 голов Константы сопроцессора Команды сопроцессора. Стек сопроцессора |
Модератор
![]() |
||||||
04.04.2018, 22:37 | 2 | |||||
![]() Решение
Добавлено через 3 минуты Указывайте оба операнда fsub st(2), st(0)
0
|
0 / 0 / 0
Регистрация: 01.11.2016
Сообщений: 89
|
||||||
05.04.2018, 20:53 [ТС] | 3 | |||||
Спасибо большое!
Добавлено через 12 часов 48 минут Посмотрите, пожалуйста. Отрицательные числа рассчитывает, а с плюсом нет(начиная с 0). Код: Кликните здесь для просмотра всего текста
0
|
Модератор
![]() |
|
05.04.2018, 21:20 | 4 |
У программы нет кода возврата управления операционной системе (ExitProcess), нет переменной y.
Исходник не компилируется, да и сама ошибка неясна.
0
|
0 / 0 / 0
Регистрация: 01.11.2016
Сообщений: 89
|
||||||
06.04.2018, 17:11 [ТС] | 5 | |||||
Извиняюсь за невнимательность.
Фрагмент кода, представленный ниже, рассчитывает(неверно) значение y, при известном x. Выражение: Код: Кликните здесь для просмотра всего текста
Посмотрите, пожалуйста.
0
|
Модератор
![]() |
||||||
06.04.2018, 22:56 | 6 | |||||
![]() РешениеНе по теме: Marihuana, вы как не для себя спрашиваете - чтобы проверить ваш код нужно сделать минимальную тестовую программу, вставить ваш фрагмент, выловить ошибки компиляции и затем приступить к отладке. Как думаете - много желающих? Добавлено через 5 часов 11 минут Смотрите, все ваши вычисления с целочисленными результатами, отсюда и ошибки округлений. Без ввода X. Если нужен ввод - посмотрите в соседних темах подраздела - там есть применение библиотечных функций
А с отрицательными X будет ошибка, т.к. корень квадратный из отрицательного числа не определён на множестве действительных чисел.
0
|
0 / 0 / 0
Регистрация: 01.11.2016
Сообщений: 89
|
|
07.04.2018, 08:57 [ТС] | 7 |
Спасибо большое! Я разобрался) Код написал правильно. Действительно ошибка была в том, что извлекался кв. корень из отриц. числа.
0
|
0 / 0 / 0
Регистрация: 01.11.2016
Сообщений: 89
|
||||||
13.04.2018, 14:24 [ТС] | 8 | |||||
Имеется массив чисел, в котором дробные и целые числа. Все они используются для расчета.
Т.е. нужно сделать универсальный код, чтобы он мог считать при вещественном числе и целом. Для каждого случая отдельно написать код не составило труда. Но мне нужно, чтобы программа могла определить какое это число(дробное или целое), после чего продолжить расчет по одному из способов. Подскажите, пожалуйста, как определить имеет ли число дробную часть? Придумал способ, но он не подходит, т.к. для загрузки целого числа в стэк используется fild, а дробного fld.
0
|
Модератор
![]() |
||||||
13.04.2018, 14:48 | 9 | |||||
Добавьте переменную, которая принимает значения:
0 - для 8 битного целого 1 - для 16 битного целого 2 - для 32 битного целого 3 - для 64 битного целого 10 - для 32 битного float 11 - для 64 битного float 12 - для 80 битного float Потом исходя из этой переменной читайте значение из памяти. А универсальных команд - нет, процессор их не имеет. Или же вызывайте разные процедуры, которые имеют общую часть.
Прыжок внутрь процедуры (masm) Добавлено через 1 минуту Но не должно такого быть - смешение разнородных элементов в одном массиве. Т.к. нарушится сам смысл термина "массив".
0
|
0 / 0 / 0
Регистрация: 01.11.2016
Сообщений: 89
|
|
14.04.2018, 09:00 [ТС] | 10 |
Спасибо. А можно как-то преобразовать целые числа в вещественные?
0
|
Модератор
![]() |
|||||||||||
14.04.2018, 11:51 | 11 | ||||||||||
В смысле преобразовать? Записать в массиве?
Кажется, ещё можно
0
|
0 / 0 / 0
Регистрация: 01.11.2016
Сообщений: 89
|
|
14.04.2018, 12:00 [ТС] | 12 |
Значения вводятся с клавиатуры. 3,1,5 и т.д.. Можно ли как-то уже внутри их сделать 3.0,1.0,5.0 и т.д.
0
|
Модератор
![]() |
|
14.04.2018, 12:21 | 13 |
Сразу преобразуйте строку во float.
Пример с использованием библиотечной функции из masm32 (подобное есть и в msvcrt): https://www.cyberforum.ru/asse... 21026.html
0
|
14.04.2018, 12:21 | |
Помогаю со студенческими работами здесь
13
Работа сопроцессора Обновление сопроцессора
Программа с задеиствованием сопроцессора Включение/отключение сопроцессора Обработка исключений сопроцессора Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |