0 / 0 / 0
Регистрация: 29.09.2014
Сообщений: 6
1

Стек сопроцессора

29.09.2014, 09:30. Показов 3337. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Друзья, не могу до конца разобраться с работой стека.
В стек загружаются данные последовательно, последняя загруженная переменная становится вершиной стека, верно? Можно ли в дальнейшем при помощи какой либо команды изменить вершину стека, не загружая новых переменных, а используя лишь имеющиеся, т.е. собственно вопрос в том, как назначить вершина стека?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.09.2014, 09:30
Ответы с готовыми решениями:

Включение/отключение сопроцессора
Доброго времени суток. Подскажите, как можно выполнить включение и выключение арифметического...

Возвращение результата вычислений FPU из ассемблерной процедуры для TurboPascal
Как исправить программу так, чтобы она выдавала правильный результат? Заранее благодарен. ...

Вычисление выражение по формуле
Пишу dll для проекта MFC в VS 2012. Выражение : ln(1+x/2+x) Что-то наколдовал: extern "C"...

Команды арифметического сопроцессора и ввод
В программе хочу использовать функции сопроцессора. Как поняла, команда FABS - модуль числа, FCHS...

5
programmer
2391 / 525 / 69
Регистрация: 01.06.2011
Сообщений: 3,640
29.09.2014, 14:59 2
pokosmosu22,

FXCH ST(i) - Обменять содержимое ST(0) и ST(i)

Вобще программирование FPU это отдельная "философия".
Возможно вы еще плохо знаете его инструкции,что бы идти таким путем.Впрочем все зависит от поставленной задачи.
0
434 / 245 / 43
Регистрация: 05.08.2013
Сообщений: 1,670
30.09.2014, 11:18 3
в сопроцессоре есть регистр в котором хранится вершина стека, можно там изменить значение на нужный регистр стека сопроцессора и радоваться жизни. но это уже для извращенцев
0
Эксперт быдлокодинга
2091 / 525 / 69
Регистрация: 04.11.2010
Сообщений: 1,310
30.09.2014, 12:47 4
Не совсем понятен вопрос, что подразумевалось под "изменить вершину стека". Стек это та же память программы вершина которой хранится в регистре (Stack Pointer, SP). Т.е. если тебе нужно изменить адрес вершины стека - суй его в этот регистр. Если тебе нужно изменить значение по адресу хранящемуся в этом регистре, то это (повторюсь) обычная ячейка памяти адрес которой хранится в том самом SP.

А вообще в интернете и книжках полно наглядных пособий с наглядными картинками, скриншотами из отладчиков и просто примерами в коде...

Добавлено через 3 минуты
Цитата Сообщение от Мотороллер Посмотреть сообщение
в сопроцессоре есть регистр в котором хранится вершина стека
Регистр SP расположен в сопроцессоре?!? Дружище, скажи что это была шутка.
0
434 / 245 / 43
Регистрация: 05.08.2013
Сообщений: 1,670
30.09.2014, 15:44 5
я думаю если ты прочитаешь о чем речь, то сам поймешь шучу я или нет
0
693 / 303 / 99
Регистрация: 04.07.2014
Сообщений: 842
30.09.2014, 16:16 6
В довесок:
FLD1/FLDPI/... - для парочки констант,
FLD ST(i)/FSTP ST(i) - тоже работают
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.09.2014, 16:16
Помогаю со студенческими работами здесь

Команды сопроцессора и его стек
Вот кусок кода. fild fild fadd fldpi fmulp mov , 2048 fidiv ca изначально -...

При отладке в TurboDebugger не отображается содержимое стека FPU
У меня глупый вопрос= как мне сделать так, чтобы в процессе отладки (а не только при завершении...

Команды сопроцессора.
Подскажите, пожайлуста, как выполнить умножение при помощи сопроцессора и еще, как вводить числа с...

Вычислить lg(tg x)
Помогите плз найти значение этого примера: fild dword ptr i1 ;st=10grad fmul dword ptr const...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru