реклама на сайте
подробности

 
 
> Счётчик регенерации в Z80 7 или 8 битный?
GetSmart
сообщение Aug 24 2011, 19:19
Сообщение #1


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Читаю описание, вроде как 7 битный счётчик, хотя регистр 8 битный. Есть вопросы.

1. Может в каких-то версиях Z80 этот cчётчик 8 битный? (Z80A, Z80B, ...)
2. Можно ли в регистр R прописывать значения >= 128 ?
3. Какой смысл анализировать старший бит этого регистра, если он не меняется (или нулевой) ? Я это вижу в проге.

Для стандартного Z80 есть такое описание.
Цитата
The refresh register, R, increments each time the CPU fetches an opcode (or opcode prefix) and has therefore no simple relationship with program execution.

["While R is an 8 bit register, it wraps around at 128 instead of 256. If the programmer stores a value in the register, its high bit will be preserved regardless of what the CPU does to the remaining 7 bits. Incorrect implementation of this behaviour is a common source of problems when running games on emulated Z80-machines"]

На 2-ой вопрос ответ ясен.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 14)
Genadi Zawidowsk...
сообщение Aug 25 2011, 16:28
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Цитата(GetSmart @ Aug 24 2011, 23:19) *
Читаю описание, вроде как 7 битный счётчик, хотя регистр 8 битный. Есть вопросы.

1. Может в каких-то версиях Z80 этот cчётчик 8 битный? (Z80A, Z80B, ...)
2. Можно ли в регистр R прописывать значения >= 128 ?
3. Какой смысл анализировать старший бит этого регистра, если он не меняется (или нулевой) ? Я это вижу в проге.

Для стандартного Z80 есть такое описание.

На 2-ой вопрос ответ ясен.


У Вас не Rabbit? Если да - там регистр R другую функцию выполняет.
На Hitachi HD64180 документ не нашёл... Или у Вас точно от Zilog кристалл?

Для zilog:

Возможно, используют как ещё один флаг. Смотреть там, где записали. Правильно замечено, что проверка на работу под эмуляторами (или трассировщиками).
Да, вы в курсе про копирование флага iff2 в parity при выполнении этой команды??

ps: С удивлянием для себя обнаружил, что команда ld a,r устанавливает флаги sign и zero по содержимому регистра r.

Сообщение отредактировал Genadi Zawidowski - Aug 25 2011, 16:50
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Aug 25 2011, 16:44
Сообщение #3


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(Genadi Zawidowski @ Aug 25 2011, 21:28) *
ps: С удивлянием для себя обнаружил, что команда ld a,r устанавливает флаги sign и zero по содержимому регистра r.

Вы в железе проверили? Жаль у меня железа нет.

Цитата(Genadi Zawidowski @ Aug 25 2011, 21:28) *
Да, вы в курсе про копирование флага iff2 в parity при выполнении этой команды??

Нет, конечно я не в курсе. Я с Z80 не очень знаком. Только с 8080. Хотя расширение команд это мелкое отличие, но дьявол кроется в деталях.

Спасибо за помощь.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Aug 25 2011, 16:57
Сообщение #4


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Цитата
Вы в железе проверили? Жаль у меня железа нет.

По это явно в Zilog-овском документе с их сайта говорится. Если надо - можно будет проверить (но только на Z180).
А что, не известно точно, что за железо у Вас?
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Aug 25 2011, 17:02
Сообщение #5


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(Genadi Zawidowski @ Aug 25 2011, 21:57) *
А что, не известно точно, что за железо у Вас?

Не. Точно даже проц не знаю. Z80 совместимый.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Aug 25 2011, 17:27
Сообщение #6


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



В даташите на Hitachi HD64180 тоже написано про 7 бит.
Go to the top of the page
 
+Quote Post
Rst7
сообщение Aug 26 2011, 04:46
Сообщение #7


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Семь бит там инкрементируется. Старший бит можно использовать как флаг. Состояние разрешение/запрещение прерываний копируется в паритет как при чтении R, так и при чтении I.

Конечно, это все для оригинального Z80.

А еще там есть куча недокументированных команд. Очень полезных sm.gif


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Aug 26 2011, 04:59
Сообщение #8


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(GetSmart @ Aug 25 2011, 20:44) *
Нет, конечно я не в курсе. Я с Z80 не очень знаком. Только с 8080. Хотя расширение команд это мелкое отличие, но дьявол кроется в деталях.

Э нет, 8080 даже рядом не валялся.
Особенно мне нравился альтернативный набор регистров, переключаемый одной простой командой. Можно сделать РТОС практически без издержек на переключение контекста.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Aug 28 2011, 21:39
Сообщение #9


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Похоже нарвался на недокументированные команды. IDA 5.2 даже в шоке.

Команда CB,35 им была переведена как "SRR L". В инете нашёл другое название - "SLI L". Кто-нить знает, чего она делает? Предположительно какой-то сдвиг.
Вероятно это лог. сдвиг влево с уст. мл. бита в 1. У этой команды куча имён. Ещё SL1, SLL -> найдено в http://www.emuverse.ru/wiki/Zilog_Z80/%D0%...%B0%D0%BD%D0%B4

И ещё. IDA 5.2 вообще не понял команды DD/FD,CB,xx,yy. Тоже забавные команды. По крайней мере символьное обозначение команды. Значение берут из памяти, а результат суют в регистр. Или в память, если yy & 07 == 6.

IDA вроде предыдущего года выпуска, а такое не знает. Позор.

Цитата(Rst7 @ Aug 26 2011, 09:46) *
Состояние разрешение/запрещение прерываний копируется в паритет как при чтении R, так и при чтении I.

По этому поводу случайно прочитал это
http://ivr.webzone.ru/articles/ldar_new/index.htm
Копируется, да не всегда оно вернО.
Походу недокументированные не только команды, но и особенности.

Сообщение отредактировал GetSmart - Aug 29 2011, 03:51


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Harbinger
сообщение Aug 29 2011, 02:56
Сообщение #10


старший лаборант
******

Группа: Свой
Сообщений: 2 702
Регистрация: 30-09-05
Из: ЮЗЖД
Пользователь №: 9 097



DD/FD, насколько помню, префиксы для работы с индексными регистрами IX и IY соответственно. И здесь один из недокументированных приколов, который не положено знать дизассемблерам - можно работать с их половинками (аналогично H и L).


--------------------
Китайская комплектация - европейское качество! ;)
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Aug 29 2011, 03:48
Сообщение #11


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(Harbinger @ Aug 29 2011, 07:56) *
DD/FD, насколько помню, префиксы для работы с индексными регистрами IX и IY соответственно. И здесь один из недокументированных приколов, который не положено знать дизассемблерам - можно работать с их половинками (аналогично H и L).

Как раз это они знают. IDA 5.2 по крайней мере.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
_Bill
сообщение Aug 29 2011, 04:23
Сообщение #12


Местный
***

Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219



Цитата(Harbinger @ Aug 29 2011, 06:56) *
DD/FD, насколько помню, префиксы для работы с индексными регистрами IX и IY соответственно. И здесь один из недокументированных приколов, который не положено знать дизассемблерам - можно работать с их половинками (аналогично H и L).

Насколько я понял, сейчас эти все команды задокументированы. Просто нужно последние версии руководства почитать. Или нет?
Go to the top of the page
 
+Quote Post
gena_p1
сообщение Aug 29 2011, 15:31
Сообщение #13


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 11-05-10
Пользователь №: 57 193



Можно потревожить RST7 в личку.
Он в далеком 1992м году турбоассемблер на ZX-Spectrum написал и работал с Z80 минимум на ямахе MSX и спектруме.
Или пошерстить zx.pk.ru , ибо нюансы зетников от оригиналов, до русских Т34 давно разобраны по молекулам.
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Aug 29 2011, 22:13
Сообщение #14


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Цитата(gena_p1 @ Aug 29 2011, 19:31) *
Можно потревожить RST7 в личку.
Он в далеком 1992м году турбоассемблер на ZX-Spectrum написал и работал с Z80 минимум на ямахе MSX и спектруме.
Или пошерстить zx.pk.ru , ибо нюансы зетников от оригиналов, до русских Т34 давно разобраны по молекулам.


Ох, спасибо за ссылку... вспомнил прошлое (и не очень) - дизассемблирование ПЗУ от Ямахи - MSX-DOS потом использовал в своих домашних компютерах, написание компилятора С для 8080 и Z80 (MicroGenSf, если кто встречал).

Сообщение отредактировал Genadi Zawidowski - Aug 29 2011, 22:26
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Aug 29 2011, 22:40
Сообщение #15


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(gena_p1 @ Aug 29 2011, 20:31) *
Можно потревожить RST7 в личку.

Я уже разобрался вроде как. Удивило что IDA 5.2 такого не знал.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 26th June 2025 - 21:45
Рейтинг@Mail.ru


Страница сгенерированна за 0.01599 секунд с 7
ELECTRONIX ©2004-2016