User Tag List

Страница 43 из 157 ПерваяПервая ... 394041424344454647 ... ПоследняяПоследняя
Показано с 421 по 430 из 1564

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

  1. #421

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Проверил ещё немного входных данных:
    Ошибок нет:
    Чтобы точно убедиться в правильности алгоритма, недостаточно умозрительных предположений, относительно поведений флагов. Нужно или же четко обосновать их, либо же сделать тест, который переберет все варианты, либо же все варианты в зоне влияния флагов, что опять же должно быть обосновано.

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

  3. #422

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Чтобы точно убедиться в правильности алгоритма, недостаточно умозрительных предположений, относительно поведений флагов. Нужно или же четко обосновать их, либо же сделать тест, который переберет все варианты, либо же все варианты в зоне влияния флагов, что опять же должно быть обосновано.
    1. Думаю, что относительно поведения флага N умозрительных предположений вполне достаточно.

    Флаг N копирует старший бит результата.

    2. Относительно флага Z тоже всё ясно - если хотя бы один бит результата отличен от 0 - флаг сбрасывается, иначе - устанавливается.

    3. С флагом C больших проблем также не видно. Если был перенос из старшего разряда - флаг C устанавливается, иначе - сбрасывается.

    4. Единственный не вполне очевидный флаг - флаг V.

    Но все возможные комбинации влияющих на него операндов я уже протестировал.

    Если не все - то какие ещё комбинации нужно протестировать ?

  4. #423

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Если не все - то какие ещё комбинации нужно протестировать ?
    Я не знаю, меня вопрос этого флага интересовал только вскользь, поэтому единственное, что могу предложить - это обосновать V теоретически, или же перебрать все 4 миллиарда в квадрате значения)

  5. #424

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Я не знаю, меня вопрос этого флага интересовал только вскользь, поэтому единственное, что могу предложить - это обосновать V теоретически, или же перебрать все 4 миллиарда в квадрате значения)
    Теоретическое обоснование (на мой взгляд) несложно.

    Флаг V устанавливается, только когда результат меняет знак. Поэтому, если результат меняет знак дважды (четырежды и т.д.) - флаг V сбрасывается.

    Отсюда - если при всех операциях со старшим словом приёмника флаг V был установлен нечётное число раз - итоговый флаг V устанавливается, иначе - сбрасывается (что и реализовано).

  6. #425

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Флаг V устанавливается, только когда результат меняет знак. Поэтому, если результат меняет знак дважды (четырежды и т.д.) - флаг V сбрасывается.
    Нет, флаг V устанавливается, когда результат не просто меняет знак, а меняет знак в связи с тем, что число вышло за пределы разрядности. Тогда как смена знака через ноль, на флаг V не влияет.

    Или говоря иначе. Если был перенос в знаковый разряд, но не было переноса во флаг C, или же был перенос во флаг C, но не было переноса в знаковый разряд - флаг V устанавливается.

  7. #426

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

    По умолчанию

    В описании KDJ11 дается четкое определение (взято из описания ADD):

    V: set if there was arithmetic overflow as a result of the operation, that is,
    both operands were of the same sign and the result was of the opposite
    sign; cleared otherwise
    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

  8. #427

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

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    В описании KDJ11 дается четкое определение (взято из описания ADD):

    V: set if there was arithmetic overflow as a result of the operation, that is,
    both operands were of the same sign and the result was of the opposite
    sign; cleared otherwise
    Это та же самая логика работы, что и я описал)

  9. #428

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

    По умолчанию

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

    ---------- Post added at 06:30 ---------- Previous post was at 06:20 ----------

    А что до логики, я уже раньше говорил, что достаточно знать старший разряд до и после операции, а C мы очень легко не теряем при 32битных операциях
    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

  10. #429

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Нет, флаг V устанавливается, когда результат не просто меняет знак, а меняет знак в связи с тем, что число вышло за пределы разрядности. Тогда как смена знака через ноль, на флаг V не влияет.
    Если внимательно прочитать написанное, то можно понять, что именно это и имелось в виду.

    Но помимо этого было отмечено, что установка флага V *всегда* означает смену знака результата.

    Если флаг V был установлен, значит результат изменил знак.

    Следовательно, если результат не изменил знак - флаг V не может быть установлен.

    Теперь понятнее..

  11. #430

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Если внимательно прочитать написанное, то можно понять, что именно это и имелось в виду.

    Но помимо этого было отмечено, что установка флага V *всегда* означает смену знака результата.

    Если флаг V был установлен, значит результат изменил знак.

    Следовательно, если результат не изменил знак - флаг V не может быть установлен.

    Теперь понятнее..
    Да. Главное не забыть, что обратное отсюда не следует - если результат сменил знак, отсюда не следует что установлен V
    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

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

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

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

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

Похожие темы

  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

Ваши права

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