Важная информация

User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 13

Тема: 16 bit signed arithmetic on Z80

  1. #1
    Veteran Аватар для Raydac
    Регистрация
    16.08.2005
    Адрес
    Estonia,Tallinn
    Сообщений
    1,128
    Спасибо Благодарностей отдано 
    52
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    179 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию 16 bit signed arithmetic on Z80

    not a short message

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

  3. #2
    Veteran
    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,858
    Спасибо Благодарностей отдано 
    131
    Спасибо Благодарностей получено 
    104
    Поблагодарили
    62 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    вычитанием, ИМХО, sbc hl,bc

  4. #3
    Master
    Регистрация
    17.05.2011
    Адрес
    Днепропетровск
    Сообщений
    520
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Raydac Посмотреть сообщение
    я вот тоже так думаю, что sbc но как то у меня не проходят тесты сравнении (=<) когда одно число отрицательное, а другое положительное, странно, может у меня эмуль z80 кривой конечно
    http://ivr.webzone.ru/articles/dop_ar/

    Занятная статейка и о сравнении тоже
    ZXM-Phoenix v.03/2048/FDD/HD/YM-2149F/PS2-kbd; U8EP3C development board БК-0011М by Woland + SMK 512

  5. #4
    Veteran
    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,858
    Спасибо Благодарностей отдано 
    131
    Спасибо Благодарностей получено 
    104
    Поблагодарили
    62 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  6. #5
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,554
    Спасибо Благодарностей отдано 
    1,217
    Спасибо Благодарностей получено 
    1,754
    Поблагодарили
    683 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Raydac Посмотреть сообщение
    я вот тоже так думаю, что sbc но как то у меня не проходят тесты сравнении (=<) когда одно число отрицательное, а другое положительное, странно, может у меня эмуль z80 кривой конечно
    Надо выкладывать конкретный пример, где и как не сравнивает, и какие получаются флаги.

  7. #6
    Master
    Регистрация
    17.05.2011
    Адрес
    Днепропетровск
    Сообщений
    520
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Andrew771, Тут смотря, что важно: память или скорость. От этого и зависит оптимизация.
    ZXM-Phoenix v.03/2048/FDD/HD/YM-2149F/PS2-kbd; U8EP3C development board БК-0011М by Woland + SMK 512

  8. #7
    Activist
    Регистрация
    20.02.2008
    Адрес
    Siauliai, Lithuania
    Сообщений
    367
    Спасибо Благодарностей отдано 
    42
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

  9. #8
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,554
    Спасибо Благодарностей отдано 
    1,217
    Спасибо Благодарностей получено 
    1,754
    Поблагодарили
    683 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Raydac Посмотреть сообщение
    вот никак не могу понять
    пытаюсь сравнить два 16 битных числа 1000 и 2000 и надо переход по 1000 < 2000
    делаю

    никакого перехода, хрен а не переход и флаг оверфлоу в нуле
    взял эмуль unreal и глянул как этот флаг выставляется
    Должен устанавливаться. Значит в эмуле ошибка.

  10. #9
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,554
    Спасибо Благодарностей отдано 
    1,217
    Спасибо Благодарностей получено 
    1,754
    Поблагодарили
    683 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Raydac Посмотреть сообщение
    как видим флаг по маске #8000 будет именно 0, что и прописано во все просмотренных мною эмуляциях Z80 и JP PE работать разумеется не будет
    и вот непонятно, у кого ошибочка вышла, надо на реале наверное смотреть
    На сколько видно из алгоритма, флаг будет установлен если:
    a и b разных знаков, и a и результат тоже разных знаков.
    Следовательно, так как знаков может быть всего два, получаем установку флага при b и результате одного знака, а a - другого. Отсюда как минимум одна нестыковка - a и b - неравноценны! А как такое может быть?)

  11. #10
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,554
    Спасибо Благодарностей отдано 
    1,217
    Спасибо Благодарностей получено 
    1,754
    Поблагодарили
    683 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Raydac Посмотреть сообщение
    посмотрел еще эмулятор i8080 написанный на Java каким то иностранцем, там так же оверфлоу в sbc hl формируется
    Как так? Пример строчки.

Страница 1 из 2 12 ПоследняяПоследняя

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

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

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

Ваши права

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