Ошибку с избыточным инкрементированием нашёл.
Первые 2 строки исправились, а третья что-то не хочет:
Ошибку с избыточным инкрементированием нашёл.
Первые 2 строки исправились, а третья что-то не хочет:
Последний раз редактировалось Lisitsin; 13.03.2011 в 00:20.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Последний раз редактировалось Higgins; 13.03.2011 в 11:16.
Higgins ZX Spectrum Emulator 8.10 alpha 3 available
Please write us to report a bug or request a feature.
Такая хорошая погода на улице. Весна: солнышко, птички ...
А слово FAILED всё настроение портит.
Higgins ZX Spectrum Emulator 8.10 alpha 3 available
Please write us to report a bug or request a feature.
И вправду !!! Слово PASSED на настроение влияет с обратной логикой.
Higgins ZX Spectrum Emulator 8.10 alpha 3 available
Please write us to report a bug or request a feature.
Я условие сделал #8858<=PC<=#887d
Во второй строке неправильно установлены флаги 3 и 5.
Как устанавливать эти флаги:
- Для "BIT n, r" -- копируются разряды 3 и 5 регистра "r".
- Для "BIT n, (HL)" -- копируются разряды 3 и 5 старшей половины MEMPTR. Сам MEMPTR при этом не меняется.
- Для "BIT n, (i+d)" -- тоже копируются разряды 3 и 5 старшей половины MEMPTR. Но поскольку это индексная инструкция, MEMPTR получает значение адреса (i+d). Копировать разряды из MEMPTR следует после присваивания ему (MEMPTR) значения адреса.
Higgins ZX Spectrum Emulator 8.10 alpha 3 available
Please write us to report a bug or request a feature.
А у меня MEMPTR ущё и не после каждой команды отрабатывается, после которой его нужно обрабатывать. BIT (IX/Y+d) исправил. BIT n (HL) и BIT n,r в отношении битов 3 и 5 прописаны.
Последний раз редактировалось Lisitsin; 13.03.2011 в 18:33.
Процедура тестирования для "BIT n, (HL)" начинается по адресу #8855. Вызывается она инструкцией "CALL #8855". Эта инструкция копирует #8855 в MEMPTR, поэтому тестирование всегда начинается с этого значения MEMPTR.
Во второй строке у вас F=#38 вместо #18. Старшая половина пправильного значения MEMPTR = #88 = %10001000 -- 3-й и 5-й разряды сброшены.
Если MEMPTR для "CALL #nn" не реализован, то сейчас самое время.
Higgins ZX Spectrum Emulator 8.10 alpha 3 available
Please write us to report a bug or request a feature.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)