Э-э-э, а что тут переводить?
Инструкции INI/INIR/IND/INDR сначала декрементируют B, после чего используют BC, а инструкции OUTI/OTIR/OUTD/OTDR - наоборот.
В IFF2 ничего не копируется - копируется сам флаг IFF2 во флаг IFF1 при выполнении команд RETI/RETN. Но при заходе в маскируемое прерывание в оба флага заносится 0. Поэтому при выполнении RETI/RETN на выходе из маскируемого прерывания прерывания будут запрещены. А при выполнении RETI/RETN при выходе из НЕмаскируемого прерывания восстановится состояние маскируемых прерываний до входа в немаскируемое (IFF1:=IFF2).
- - - Добавлено - - -
Наоборот. INI/INIR/IND/INDR сначала читают из порта, потом декрементируют B,
OUTI/OTIR/OUTD/OTDR сначала декрементируют B, потом выводят в порт.
Ped7g (01.02.2022)
Блочные инструкции хорошо работают в реальных процессорах, и немножко нехорошо - в эмуляторах В некоторых правда - уже хорошо.
Вот видео теста флагов , полулегендарный как-бы-советский клон Т34
А вот флаги SCF\CCF на разных процессорах точно работают по разному)) Но это надо тестировать еще на чем нибудь, кроме жменьки моих процессоров ) Некомуу
Последний раз редактировалось zebest; 27.01.2022 в 22:36.
Profi v3.2 -=- Speccy2010,r2
Ну почти хорошо.
тест как бы не совсем утилита, но пусть будет утилитой.
Profi v3.2 -=- Speccy2010,r2
Реально для Спека, Амстрада и большинство компов на Z80 RETI и RET работают абсолютно одинаково. Особый эффект от RETI возникает только если используется режим 2 и есть дополнительная аппаратура для его поддержки (это не только Z80-DMA). И подозреваю, что из NMI никакой код по RETI не выходит.
Интересно! Не знал про такие открытия. Наверное есть только два варианта таких штук: NMOS и CMOS. И трудно понять, неужели это может быть важно? Что это может быть за код, который проверяет флаги PF или HF после OTxR/INxR?! Особенно на Спектруме или приставке для BBC Micro. В официальной документации эти флаги имеют неопределённое значение.
Последний раз редактировалось litwr; 28.01.2022 в 23:13.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)