User Tag List

Показано с 1 по 2 из 2

Тема: Вопрос про EIS-деление

  1. #1

    Регистрация
    16.12.2014
    Адрес
    г. Ожерелье
    Сообщений
    769
    Спасибо Благодарностей отдано 
    252
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    42 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Вопрос про EIS-деление

    Что случается с аргументами деления, если делят не на 0, но получается переполнение? В PDP11 handbook написано, что результат неопределенный, а это означает, что исходное делимое из двух регистров (куда кладётся результат) теряется. С другой строны, BQT считает, что делимое в таком случае не меняется и подтверждает это результатами на своих 11/70 и 11/93. Интересно, как с этим на BM2, BM3, ...? Заранее благодарю за любую информацию

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

  3. #2

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

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    Интересно, как с этим на BM2
    DIV 071RSS (071000–071777)

    DIVIDE / ДЕЛЕНИЕ

    0 1 1 1 0 0 1 R R R s s s s s s
    Алгоритм: tmp32[31:16] := R; tmp32[15:0] := R or 1; tmp32[частное, остаток] := tmp32 / (src); R or 1 := tmp32[15:0](остаток) ; R := tmp32[31:16](частное)

    Описание: 32-разрядное слово в двоично-дополнительном коде, находящееся в регистрах R и R or 1, делится на операнд источника. Частное заносится в R, а остаток в R or 1. После выполнения операции деления знак остатка будет таким же, как и у делимого. Если в качестве R используется нечётный регистр, то старшая часть 32-разрядного делимого будет повторять его младшую часть, т.е. фактически выполняется операция ((R << 16) or R) и после завершения операции деления сохранится только частное. При арифметическом переполнении во время операции (частное не помещается в 16 разрядов) или делении на ноль выполнение операции прекращается, регистры не изменяются, очищаются признаки N и Z в PSW, устанавливается признак V.
    Признаки: N – устанавливается, если частное меньше нуля, в противном случае (и в случае арифметического переполнения) очищается, Z – устанавливается, если частное равно нулю, в противном случае (и в случае арифметического переполнения) очищается, V – устанавливается при арифметическом переполнении и делении на ноль ((src)==0), в противном случае очищается, C – устанавливается, если осуществляется деление на ноль ((src)==0), в противном случае очищается.

    Этот пользователь поблагодарил Alex_K за это полезное сообщение:

    nzeemin(22.12.2019)

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

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

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

Похожие темы

  1. Extended Instructions Set (EIS): MUL, DIV, ASH, ASHC
    от Manwe в разделе БК-0010/0011
    Ответов: 51
    Последнее: 14.12.2020, 18:33
  2. Ответов: 8
    Последнее: 19.10.2017, 15:08
  3. Ответов: 5
    Последнее: 22.03.2011, 13:00
  4. Вопрос про память
    от POIND в разделе Память
    Ответов: 104
    Последнее: 03.01.2006, 14:15

Ваши права

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