Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Программирование (http://zx-pk.ru/forumdisplay.php?f=14)
-   -   Недокументированные команды (http://zx-pk.ru/showthread.php?t=216)

spensor 27th January 2011 17:33

1 Attachment(s)
Не прошло и пятилетки, но обращаюсь к старой теме. Попытался создать сводную таблицу команд Z80, надергал из нескольких источников в инете. Ходелось бы спросить о многоуважаемого All, все ли в ней корректно, и если он соизволит, то пусть укажет на ошибки.
В качестве небольшого комента: недокументированные команды записаны строчными буквами (за исключением регистров-операндов), команды вида res 0, (IX+d), B это то-же самое что и res B, 0, (IX+d) - встречалось оба варианта написания, какой вариант можно считать "узаконенным" не знаю.

Sinus 27th January 2011 19:13

1 Attachment(s)
Полный список комманд (включая все возможные недокументированные) в аттаче.

если в комманде написано:
[N] - числовой операнд, 1 байт
[NN] - числовой операнд, 2 байта
[O] - смещение адреса, байт со знаком
[SO] - смещение в индексных операция, байт со знаком

недокументированные комманды типа LD A,LX или RES 0,(IX+d) никак не выделены, ибо они такие же комманды, как и остальные :)
комманды-дубли начинаются со *
**NOP - это линейка префиксов, типа DD DD DD FD FD FD DD FD DD FD FF и т.д.

если не знаешь C, то формат такой:
{ "тут комманда", NULL }, // номер комманды

spensor 28th January 2011 18:42

Quote:

Originally Posted by Sinus (Post 353631)
Полный список комманд (включая все возможные недокументированные) в аттаче.

Спасибо за информацию, весьма исчерпывающе!
Исправил таблицу выше. Команды вида "res B,0,(IX+d)" в документе записаны (немного подогнав под привычную форму) как "ld B,res 0,(IX+d)". Возник вопрос, а ассемблеры которые способны компилировать в эти коды команд, в каком виде принимают мнемокод? Или нет ассемблеров работающих с этими недокументированными командами, и команда записывается через DEFB?
Параллельно хотелось бы спросить, возможно кто-то в теме, существует ли документ с описанием недокументированных команд на Z180? Официально вроде бы таковых нет, но Z380 и eZ80 программно совместимые с Z180 вполне легально оперируют половинками индексных регистров IXU/IXL и IXH/IXL соответственно. Насколько можно допустить в Z180 они работают тоже.
И последний вопрос. Не даст ли кто сслыку на описание архитектуры ASCII R800? Перечень команд находится быстро, а вот по программной модели (адресуемое пространство, работа MMU, etc) не удалось найти.

Sinus 28th January 2011 19:27

Quote:

Возник вопрос, а ассемблеры которые способны компилировать в эти коды команд, в каком виде принимают мнемокод?
много недокументированных комманд понимает ALASM (на спеке) и sjasmplus (кросс ассемблер). насчёт конкретно RES B,0,(IX+d) не знаю.

Vadim 2nd February 2011 09:29

Quote:

Originally Posted by spensor (Post 353892)
Насколько можно допустить в Z180 они работают тоже.

Начиная с Z-180 "узаконены" обращения к половинками IX & IY.

spensor 2nd February 2011 11:09

Quote:

Originally Posted by Vadim
Начиная с Z-180 "узаконены" обращения к половинками IX & IY.

А где можно прочесть подтверждение работоспособности половинок? Гугл на "undocumented opcode Z180" не отзывается, а в оффдоке их нет.

Еще один вопрос, может кто в курсе, в LR35992, который "GB Z80", как отрабатываются коды DD, ED, FD, D3, DB и прочие? Выполняются как NOP или какое-то иное действие?

Vadim 2nd February 2011 14:49

Quote:

Originally Posted by spensor (Post 355477)
который "GB Z80"

Помнится мне, что в доках к эмулю описано было. Точно не помню, но по ED там ничего нет, а по DD некие команды были.


All times are GMT +4. The time now is 21:01.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.