User Tag List

Страница 5 из 18 ПерваяПервая 123456789 ... ПоследняяПоследняя
Показано с 41 по 50 из 178

Тема: Справочник по Z80?

  1. #41

    Регистрация
    06.05.2010
    Адрес
    Бердск, НСО
    Сообщений
    4,967
    Спасибо Благодарностей отдано 
    1,074
    Спасибо Благодарностей получено 
    1,170
    Поблагодарили
    913 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    AzAtom, и да, порядок выполнения DJNZ запоминается по названию самой мнемоники: Dec B, Jump if Not Zero
    Личка заполнена! И чистить я ее не буду! Пользуйтесь адекватными средствами связи! Спасибо.

    Seamos realistas y hagamos lo imposible!

    Ernesto Che Guevara
    Переехал сюда: SteinBlume (ex ATM CP/M Explorer)
    http://era-cg.su

    Скрытый текст

    Speccy2010 r2 (Спасибо m.d. & xlat),
    Sinclair ZX Spectrum + (Спасибо stepmotor),
    ZX Evolution rev.C + 5'25 FDD Epson SD-700AA + NedoPC PAL-Coder (Спасибо m.d. & xlat)
    [свернуть]

  2. #42

    Регистрация
    05.04.2015
    Адрес
    г. Майкоп
    Сообщений
    294
    Спасибо Благодарностей отдано 
    47
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ещё один вопрос назрел. Что будет, если в программе после префикса DD будет идти не обычная команда, а префикс FD или подряд 2-3 префикса DD? Просто переключится на другой регистр?
    Если будут префиксы не DDCB, а наоборот CBDD, как отреагирует процессор?

    Здесь http://emuverse.ru/wiki/Zilog_Z80/%D...B0%D0%BD%D0%B4 хорошо описаны команды, но не написано, как будет вести себя процессор при другой последовательности префиксов.

    Прошу не отправлять проверять в эмуляторе.

  3. #43

    Регистрация
    07.10.2006
    Сообщений
    1,730
    Спасибо Благодарностей отдано 
    257
    Спасибо Благодарностей получено 
    275
    Поблагодарили
    167 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AzAtom Посмотреть сообщение
    Ещё один вопрос назрел. Что будет, если в программе после префикса DD будет идти не обычная команда, а префикс FD или подряд 2-3 префикса DD? Просто переключится на другой регистр?
    Если будут префиксы не DDCB, а наоборот CBDD, как отреагирует процессор?

    Здесь http://emuverse.ru/wiki/Zilog_Z80/%D...B0%D0%BD%D0%B4 хорошо описаны команды, но не написано, как будет вести себя процессор при другой последовательности префиксов.

    Прошу не отправлять проверять в эмуляторе.
    По первому вопросу - да, будет на каждый префикс переключаться на другой регистр. Причем вся эта последовательность префиксов с командой за ней будет считаться как одна команда, которая не может быть прервана прерыванием.
    По второму - CB DD нормальная команда Z80 - SET 3,L.

  4. #44

    Регистрация
    05.04.2015
    Адрес
    г. Майкоп
    Сообщений
    294
    Спасибо Благодарностей отдано 
    47
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Точно, ступил с CB DD.

  5. #45

    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,450
    Записей в дневнике
    42
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    162
    Поблагодарили
    119 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

  6. #46

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

    По умолчанию

    столкнулся тут с непоняткой на тему команды RETI у Z80, непонятно как она действует на флаги IFF, в одних справочниках пишут что "копируется IFF2 в IFF1", в других пишут что "не меняются", при этом в доке от Zilog написано
    However, this instruction does not enable interrupts that were disabled when the interrupt routine was entered. Before doing the RETI instruction, the enable interrupt instruction (EI) should be executed to allow recognition of interrupts after completion of the current service routine
    но у Ларченко и Родионова в книге написано что эти флаги копируются, в эмуле тогож Unreal исходниках в RETI тоже копия делается
    как в реальности то?

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

  8. #47

    Регистрация
    07.10.2006
    Сообщений
    1,730
    Спасибо Благодарностей отдано 
    257
    Спасибо Благодарностей получено 
    275
    Поблагодарили
    167 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Raydac Посмотреть сообщение
    столкнулся тут с непоняткой на тему команды RETI у Z80, непонятно как она действует на флаги IFF, в одних справочниках пишут что "копируется IFF2 в IFF1", в других пишут что "не меняются", при этом в доке от Zilog написано

    но у Ларченко и Родионова в книге написано что эти флаги копируются, в эмуле тогож Unreal исходниках в RETI тоже копия делается
    как в реальности то?
    В любом случае это важно только в обработчике немаскируемых прерываний с командой в конце RETI вместо RETN, т.к. при обработке маскируемых прерываний в оба флага IFF2 и IFF1 заносится 0. Дока от Zilog просто говорит, что RETI не включает прерывания, о копировании флагов ничего не сказано.

    "All the ED xx RET? instructions copy IFF2 to IFF1, even RETI (ED 4D), which the official documentation does not note. The only difference between RETI and RETN is that peripheral devices which allow daisy-chaining of interrupts (eg the Z80 PIO) recognise the ED 4D sequence as 'end of interrupt' and then know that they can allow a further interrupt to be passed to the processor." Отсюда: https://wwwold.fizyka.umk.pl/~jacek/...0reference.htm

    Этот пользователь поблагодарил Spectramine за это полезное сообщение:

    Raydac(30.08.2020)

  9. #48

    Регистрация
    01.03.2005
    Адрес
    Саранск
    Сообщений
    5,830
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    247
    Поблагодарили
    106 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я вот такую табличку забрал на https://vtrd.in/z80ops.html с clrhome.org
    Удобная.
    Свирепый агрессивно-депрессивный мордовец!
    Не уверен - не напрягай!

    Не сдавайся. Дыши?

    Virtual TR-DOS

  10. #49

    Регистрация
    06.05.2010
    Адрес
    Бердск, НСО
    Сообщений
    4,967
    Спасибо Благодарностей отдано 
    1,074
    Спасибо Благодарностей получено 
    1,170
    Поблагодарили
    913 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Shadow Maker Посмотреть сообщение
    Я вот такую табличку забрал на https://vtrd.in/z80ops.html с clrhome.org
    Удобная.
    ага. тоже пользуюсь ей.
    Личка заполнена! И чистить я ее не буду! Пользуйтесь адекватными средствами связи! Спасибо.

    Seamos realistas y hagamos lo imposible!

    Ernesto Che Guevara
    Переехал сюда: SteinBlume (ex ATM CP/M Explorer)
    http://era-cg.su

    Скрытый текст

    Speccy2010 r2 (Спасибо m.d. & xlat),
    Sinclair ZX Spectrum + (Спасибо stepmotor),
    ZX Evolution rev.C + 5'25 FDD Epson SD-700AA + NedoPC PAL-Coder (Спасибо m.d. & xlat)
    [свернуть]

  11. #50

    Регистрация
    16.12.2014
    Адрес
    г. Ожерелье
    Сообщений
    769
    Спасибо Благодарностей отдано 
    252
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    42 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Добавлю вроде бы лучшую книжку, где про Z80 изложено наверное всё. Спасибо китайскому товарищу. Может кому будет не лень с гуглом всё это обрусить. Книжице уже более 15 лет...


    Цитата Сообщение от Raydac Посмотреть сообщение
    столкнулся тут с непоняткой на тему команды RETI у Z80, непонятно как она действует на флаги IFF, в одних справочниках пишут что "копируется IFF2 в IFF1", в других пишут что "не меняются", при этом в доке от Zilog написано

    но у Ларченко и Родионова в книге написано что эти флаги копируются, в эмуле тогож Unreal исходниках в RETI тоже копия делается
    как в реальности то?
    Цитата Сообщение от weiv Посмотреть сообщение
    В любом случае это важно только в обработчике немаскируемых прерываний с командой в конце RETI вместо RETN, т.к. при обработке маскируемых прерываний в оба флага IFF2 и IFF1 заносится 0. Дока от Zilog просто говорит, что RETI не включает прерывания, о копировании флагов ничего не сказано.
    Несложно догадаться, что RETI при выходе из маскируемого прерывания, если обработчик флаги не менял, просто опять запишет запрет на прерывания. Поэтому Z80 и требует EI перед RET/RETI. Если RETI используется для выхода из немаскируемого прерывания, то флаг прерывания восстановится таким, каким он был на старте обработчика. Ничего в IFF2 не копируется - в официальных доках ошибка. Об этом и другая информация про Z80 изложена на русском года 3 назад - буду рад добавочной информации и критическим замечаниям.
    Последний раз редактировалось litwr; 26.01.2022 в 09:06. Причина: опечатка

Страница 5 из 18 ПерваяПервая 123456789 ... ПоследняяПоследняя

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

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

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

Ваши права

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