User Tag List

Страница 41 из 157 ПерваяПервая ... 373839404142434445 ... ПоследняяПоследняя
Показано с 401 по 410 из 1564

Тема: Программирование на УКНЦ как?

  1. #401

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Если сложение флагов C по OR - правильное решение, то с флагом V - не факт.
    Почему флаги V нельзя объединять по OR?

  2. #402

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Не напишу. В БК тот же самый практически проц. А Z80 сильно отличается. А дикие тормоза не нужны.
    Тогда я не понял для чего интерпретивная и рекомпилируемая эмуляции?

  3. #403

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,383
    Спасибо Благодарностей отдано 
    1,699
    Спасибо Благодарностей получено 
    2,217
    Поблагодарили
    871 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Почему флаги V нельзя объединять по OR?
    Лень проверять, но интуитивно мне так кажется)

    ---------- Post added at 00:07 ---------- Previous post was at 00:06 ----------

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Тогда я не понял для чего интерпретивная и рекомпилируемая эмуляции?
    Интерпретивная - это обычная эмуляция. В данном случае, она бы торомозила раз... в 4 точно.
    Рекомпилируемая - это сначала в полу-автоматическом режиме программа перекомпилируется под PDP11, а потом уже этот нативный код запускается.
    Но это только идея.

  4. #404

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Лень проверять, но интитивно мне так кажется)
    Полагаю, что это ошибочное ощущение.

    Дело в том, что и C, и V - это "циклические" флаги, поэтому механизмы их "наследования" в цепочных операциях не могут быть разными.

    Т.е. если "суммарный" признак C двух операций можно и нужно определять по OR - значит и признак V - тоже.

  5. #405

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Подагаю, что это ошибочное ощущение.

    Дело в том, что и C, и V - это "циклические" флаги, поэтому механизмы их "наследования" в цепочных операциях не могут быть разными.

    Т.е. если "суммарный" признак C двух операций можно и нужно определять по OR - значит и признак V - тоже.
    Для V достаточно знать самый старший бит до и после операции по идее и ничего больше не нужно.

    ---------- Post added at 04:15 ---------- Previous post was at 04:14 ----------

    Есть впрочем одно исключение - при операции смены знака
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  6. #406

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Признак Z двух операций нужно определять по AND, а признак N - по результату последней (вроде так)..

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

  8. #407

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,383
    Спасибо Благодарностей отдано 
    1,699
    Спасибо Благодарностей получено 
    2,217
    Поблагодарили
    871 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Полагаю, что это ошибочное ощущение.

    Дело в том, что и C, и V - это "циклические" флаги, поэтому механизмы их "наследования" в цепочных операциях не могут быть разными.

    Т.е. если "суммарный" признак C двух операций можно и нужно определять по OR - значит и признак V - тоже.
    Ну тогда вот вам пример.


    Код:
    Складываем два числа 0x7FFF.FFFF и 0x8001.0001
    0x8001.0001 - это -0x7FFEFFFF
    Понятно, что в сумме они нам дадут 0x0001.0000
    Где флаг V = 0, т.к. арифметического переполнения не было.
    Теперь вычисляем каскадно.
    
    ADD L1,L2 L2 = 0xFFFF + 0x0001 = 0x0000
    ADC H2 H2 = 0x7FFF + C = 0x8000 (V установлен)
    ADD H1,H2 H2 = 0x8000 + 0x8001 = 0x0001 (V установлен)
    В итоге, в обоих двух последних каскадах получили флаги V, хотя финально он должен быть сброшен.

  9. #408

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Для V достаточно знать самый старший бит до и после операции по идее и ничего больше не нужно.
    При эмуляции команды ADD X,Y признак V определяется так:
    Код:
      if( ((X < 0 && Y < 0) || (X >= 0 && Y >= 0)) &&
          ((Res < 0 && Y >= 0) || (Res >= 0 && Y < 0)) )
      {
    	PSW |= V;
      }


    ---------- Post added at 00:31 ---------- Previous post was at 00:25 ----------

    Цитата Сообщение от Titus Посмотреть сообщение
    В итоге, в обоих двух последних каскадах получили флаги V, хотя финально он должен быть сброшен.
    Значит, флаг V цикличен с периодом на один бит меньше, чем флаг C, поэтому за один 16-битный цикл прибавлений единицы - флаг C установится один раз, а флаг V - два раза.

    Я правильно понял?

  10. #409

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,383
    Спасибо Благодарностей отдано 
    1,699
    Спасибо Благодарностей получено 
    2,217
    Поблагодарили
    871 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Значит, флаг V цикличен с периодом на один бит меньше, чем флаг C, поэтому за один 16-битный цикл прибавлений единицы - флаг C установится один раз, а флаг V - два раза.

    Я правильно понял?
    Нет, он цикличен с таким же периодом, но со смещением на пол-периода.
    Например, для 8-битных чисел, точка перехода для C - это 0xFF, а точка перехода для V - это 0x7F.

    ---------- Post added at 00:38 ---------- Previous post was at 00:34 ----------

    Кстати, смею предположить, что корректно будет брать флаги V с двух последних каскадов сложенные по xor.

  11. #410

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Нет, он цикличен с таким же периодом, но со смещением на пол-периода.
    Например, для 8-битных чисел, точка перехода для C - это 0xFF, а точка перехода для V - это 0x7F.
    Получается, что флаг V итоговой операции можно определять через флаг C, но для этого нужно повторить операцию, предварительно сместив биты операндов.

    А как нужно сместить операнды, чтобы "суммарный" бит C новой операции соответствовал суммарному биту V "оригинала" ?

Страница 41 из 157 ПерваяПервая ... 373839404142434445 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Программирование на Эмуляторе. Возможно ли это?
    от Toxic в разделе Программирование
    Ответов: 10
    Последнее: 20.01.2008, 19:20
  2. Программирование Altera и JTAG
    от Mikka_A в разделе Несортированное железо
    Ответов: 7
    Последнее: 18.01.2008, 09:07
  3. Программирование и софтмейк на NES
    от Splinter в разделе Nintendo
    Ответов: 7
    Последнее: 30.06.2006, 04:31

Ваши права

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