Последние исправления:
Вид для печати
Последние исправления:
Исправил:
Может, спрошу то что уже здесь обсуждалось (весь тред прочитать не осилю), но в глаза не бросилось чтобы применяли zexall для проверки. А между тем, эта утилита как раз для проверки корректности выполнения всех команд с учетом всех флагов. Ну типа чтобы не гадать что где недоэмулировано. И большинство эмуляторшиков ориентируются по ней чтобы вывести "базис" эмулируемых команд.
zexall очень медленно работает - я в эмуле выставил частоту 50 MHz и то приходиться долго ждать результатов.
Работаю ...
Я там вас ещё не замучил? Да, код у меня .... на какой мы там строчке от начала?
Я правильно понимаю, BIT n, (IX/Y+d):
1. при n=3, 5, 7 должна копировать ,бит 3, 5, 7 из тестируемого байта соответственно в F3, F5, SF. Тогда влияет ли она на флаги (F5, SF), (F3, SF), (F5, SF) при n=3, 5, 7 соответственно?
2. При n=0, 1, 2, 4, 6 копирует в F3, F5 биты 3, 5 из HIGH (IX(Y)+d). FS при этом не меняется. (?)
Трейсинг шлю.
Намана. :) На 225-й строке. Если игнорировать флаги 3 и 5, то на 695-й строке. Уже кое что. :)
Нет, во флаги 3 и 5 эти инструкции копируют биты 3 и 5 старшей половины IX/Y+d. Независимо от значения n. Если и только если тестируемый бит сброшен, эти инструкции взводят ZF и PF. Если и только если тестируется бит 7 и он взведен, взводится флаг SF. MEMPTR присваивается значение IX/Y+d. Тоже независимо от значения n.
---------- Post added at 20:42 ---------- Previous post was at 20:32 ----------
Сломали RRCA: при A=#01 взводит SF. Эта инструкция не должна менять SF, ZF и PF, что бы там ни получалось после сдвига.