А если ввести 0 12?
- - - Добавлено - - -
Должно быть прерывание с FEC=4
А если ввести 0 12?
- - - Добавлено - - -
Должно быть прерывание с FEC=4
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Запуск на FPGA 12,144
- - - Добавлено - - -Код:.ru ftest Enter first value (int dec): 12 Enter second value (int dec): 144 *** Float operations *** *** ADD 156 007400 *** SUB 132 007400 *** MUL 1728 007400 *** DIV 12 007400 *** NEG 65524 007410 *** ABS 12 007400 *** Double operations *** *** ADD 156 007600 *** SUB 132 007600 *** MUL 1728 007600 !!! Interrupt has been captured !!! FEC=000205 FEA=002520 *** DIV 0 107604 *** NEG 65524 107610 *** ABS 12 107600
Такое значение FEC не имеет смысла (с точки зрения доки). Значение всегда четное в диапазоне 2 - 16
Там идёт взаимодействие между CPU и FPP при передаче аргументов - приёме результов, если они на стороне CPU и есть некоторая зависимость от команда, когда в качестве одно или обоих из них выступает регистр. То есть на некоторых командых FPU понадобится или взять содержимое регистра CPU или сохранить туда что-то. И вот тут может быть как ошибка в микрокоде, так и не синхронность взаимодействия. Мне кажется, что в случае ошибки в микрокоде - оно бы вылезло на тестах, но.. именно, что кажется. А в принципе - листинги тестов скорее всего доступны - можно глянуть, есть ли в них тестирование DIVx на регистрах
- - - Добавлено - - -
Потому что здесь всё всегда однозначно - память, а не регистр, и она будет браться через проц
Такое взаимодействие с CPU возможно, если методы адресации в FSRC или FDST отличаются от нуля. Там действительно идёт обмен с памятью и в качестве регистров используются РОН процессора. Также РОН сохраняются, т.к. например при методе адресации (Rx)+ для double надо делать увеличение регистра на 010. Но когда в команде DIVF/DIVD в качестве FSRC выступает один из акуумуляторов, то взаимодействия с CPU по идее не должно быть.
В некоторых командах (с ходу не скажу, но на вскидку - команды конвертирования из int - источником будет регистр CPU или в int - приёмником будет регистр CPU) будут и регистры процессора
По идее - да. Но детали взаимодействия - надо смотреть исходники. Может, ошибка не микрокоде выполнения инстркция - а в части взаимодействия с процом. И ещё - меня сильно смущает, что тесты проходят - но тут надо листинги смотреть
Не всегда. Если метод 27 (то есть #чтото), то PC увеличится по прежнему на два.
Ну и при -(Rx) будет уменьшение - на 4, на 8 или на 2 для PC
Например:
Код:.ru ftest Enter first value (int dec): 0 Enter second value (int dec): 144 *** Float operations *** *** ADD 144 007400 *** SUB 144 007400 *** MUL 0 007404 !!! Interrupt has been captured !!! FEC=000004 FEA=002520 *** DIV 144 107400 *** NEG 0 107404 *** ABS 0 107404 *** Double operations *** *** ADD 144 007600 *** SUB 144 007600 *** MUL 0 007604 !!! Interrupt has been captured !!! FEC=000004 FEA=002520 *** DIV 144 107600 *** NEG 0 107604 *** ABS 0 107604
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)