User Tag List

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

Тема: 16 bit signed arithmetic on Z80

  1. #1

    Регистрация
    16.08.2005
    Адрес
    Estonia,Tallinn
    Сообщений
    1,131
    Спасибо Благодарностей отдано 
    55
    Спасибо Благодарностей получено 
    257
    Поблагодарили
    195 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

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

    not a short message

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

  3. #2

    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,869
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    110
    Поблагодарили
    66 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  4. #3

    Регистрация
    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

    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,869
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    110
    Поблагодарили
    66 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  6. #5

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

    По умолчанию

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

  7. #6

    Регистрация
    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

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

  9. #8

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

    По умолчанию

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

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

  10. #9

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

    По умолчанию

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

  11. #10

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

    По умолчанию

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

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

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

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

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

Ваши права

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