User Tag List

Показано с 1 по 10 из 59

Тема: Разрядность мантиссы в различных языках

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,247
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    638
    Поблагодарили
    414 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от avivanov76 Посмотреть сообщение
    Так почему на Интеле результат 24, а на Деке 25?
    Подождите немного, ближе к вечеру выложу результаты по DEC-у. Довольно интересные.

    - - - Добавлено - - -

    Для работы с числами с плавающей запятой в PDP-11 применяются команды FIS и FP-11.

    Команды FIS используют только вещественные числа одинарной точности и имеют только четыре команды - FADD (сложение), FSUB (вычитание), FMUL (умножение) и FDIV (деление). Эти команды реализованы на PDP-11 35/40 (блок KE11-F) и LSI-11 (блок KEV-11). Соответственно, есть эти команды на "Электронике-60", как функциональном аналоге LSI-11. В процессорах серии 1801/1806 эти команды на аппаратном уровне не реализованы, но процессоры 1801ВМ2 и 1806ВМ2 содержат аппаратную поддержку для программной эмуляции команд FIS. Суть этой поддержки состоит в том, что при исполнении команд FIS процессор производит прерывание в HALT-режим по вектору SEL010, и данный вектор содержит адрес программы эмуляции команд FIS обычными командами микропроцессора. Данные эмуляторы FIS есть в УКНЦ, ДВК на базе платы МС1201.02 и в Союз-Неон ПК-11/16.

    Команды FP-11 содержат более большой набор команд и могут работать с вещественными числами как одинарной, так и двойной точности. Реализованы во многих системах PDP-11, например на базе процессора J-11. В отечественной схемотехнике это сборки 1811 (аналог F-11), 1831 (аналог J-11) и сопроцессор 1801ВМ4, работающий в паре с 1801ВМ3.

    Вещественные числа одинарной точности представляются следующим образом:
    15 14 07 06 00
    s Порядок Старшая часть мантиссы
    15 00
    Младшая часть мантиссы

    S - знаковый разряд, 1 - это минус. Порядок задается числом от 0 до 255, при этом порядок равный нулю используется для задания вещественного нуля, в иных случах он интерпретируется как 2(порядок-128), т.е. порядок может принимать значения от 2-127 до 2+127, или от 5,877471761E-39 до 1,7014118326E+38. Мантисса – 23 разряда дробной части с двоичной запятой слева. Мантисса всегда нормализована, то есть самый старший разряд справа от двоичной запятой всегда равен единице, является скрытым (избыточным) и он интерпретируется как 2–1. Остальные разряды мантиссы интерпретируются от 2–2 до 2–24. Соответственно, мантисса может принимать значения от 0.5 до 0.99999994. Таким образом вещественное число представляется формулой знак*2(порядок-128)*мантисса. По абсолютной величине самое малое число составляет 2.9387358805E–39, а самое большое 1,7014117311E+38.

    Вещественные числа двойной точности уже состоят из 64 разрядов, при этом размер порядка остался таким же, а мантисса соответственно увеличена на 32 разряда, итого 55 разрядов. Таким образом диапазон представления остался таким же, а точность увеличена.

    Для тестов удобно использовать языки высокого уровня Паскаль и Си для операционной системы RT-11. Язык Паскаль использует для операций с числами с плавающей запятой команды FIS (в Паскале это тип real), а язык Си команды FP-11 (тип float для чисел одинарной точности и тип double для чисел двойной точности). В данных языках предусмотрено, что на запускаемых системах могут отсутствовать команды FIS и FP-11 и при линковке к исполнимым модулям добавляются эмуляторы данных команд. При отсутствии команд возникает прерывание TRAP10 и программы при старте с помощью системного запроса .TRPSET перехватывают вектор 10. Если же перед запуском программы изменить вектор 10 с помощью команды D=10 12,0, то при первом применении команд FIS/FP-11 произойдет выход в пульт. Так можно узнать, есть ли аппаратная поддержка этих команд.

    Далее будут тестовые программы на Паскале и Си и результаты их работы.
    Последний раз редактировалось Alex_K; 23.05.2016 в 19:42.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    13.12.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,072
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    81
    Поблагодарили
    65 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Alex_K, Процессор 1801ВМ1 с драйвером EM.SYS тоже может FIS.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Зарубежная литература, на иностранных языках
    от Viktor2312 в разделе Техническая литература
    Ответов: 13
    Последнее: 31.03.2019, 09:47
  2. Тест различных эмуляторов AY
    от Vitamin в разделе Эмуляторы
    Ответов: 3
    Последнее: 11.04.2015, 17:58
  3. Подскажите пожалуйста, На каких языках пишутся игры.
    от sevol в разделе Программирование
    Ответов: 168
    Последнее: 14.01.2011, 15:42
  4. Схемы WAIT для различных клонов ZX Spectrum
    от ARTi в разделе Несортированное железо
    Ответов: 0
    Последнее: 28.04.2008, 16:57

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •