|
nedoPC.orgElectronics hobbyists community established in 2002 |
|
Last visit was: 15 Jun 2024 14:40
|
It is currently 15 Jun 2024 14:40
|
КР580ВМ80А - недокументированные инструкции
Author |
Message |
igi
Junior
Joined: 23 Mar 2006 13:00 Posts: 1
|
Драсте, господа, есть такой вопрос:
Слухи ходят, что ВМ80 имел две (вроде) недокументированные инструкции которых небыло в оригинальном, забугорном i8080.
Собственно, интересно, что эт были за инструкции?
Может ктонибудь из обитателей форума знает о них.
|
23 Mar 2006 13:15 |
|
|
Pyk
Maniac
Joined: 21 Jan 2003 04:08 Posts: 227
|
Вроде бы все коды, которые не соответствуют никакой документированной операции, на ВМ80 на самом деле выполняют действия одной из известных. Никиких дополнительных обнаружить не удалось.
|
28 Mar 2006 09:29 |
|
|
HardWareMan
Banned
Joined: 20 Mar 2005 13:41 Posts: 2141 Location: От туда
|
...и их коды?...
Last edited by HardWareMan on 05 Jan 2014 03:38, edited 1 time in total.
|
28 Mar 2006 10:54 |
|
|
Mac Buster
Retired
Joined: 03 Aug 2003 22:37 Posts: 1474 Location: Moscow
|
Что-то мне подсказывает, что речь идёт не о ВМ80, а о ВМ1, у которого в самом деле были такие команды. Позволю себе вольность привести цитату из FAQ по "Вектору-06Ц":
| | | | Code: Q1: "Что это за процессор - КР580ВМ1?" A1: "КР580ВМ1 - еще один пpоцессоp без аналогов. Питание - 5 вольт, система команд чуть шиpе, чем у КР580ВМ80А, pегистpов на 2 больше, паспоpтная частота до 5 МГц, паспоpтная адpесация - 128 Кб. Его в свое вpемя выпускал киевский завод "Квазаp", но с pазвалом Союза они захиpели и сдохли. Знаю только, что в связи с отсутствием спpоса на новый пpоцессоp на Укpаине, последнюю паpтию готовых чипов они пpосто пустили под пpесс. Еще были слухи о выпуске ВМ1 в Омске. В "Вектоp" ВМ1 вставляется элементаpно, pаботает очень надежно, совместимость с ВМ80 после этого- абсолютная. Из адаптиpованного ПО есть веpсия ДОС Т-34 для этого пpоцессоpа. Ускоpение основных функций заметно даже на глаз." /Сергей Терентьев/ | | | | |
_________________ Extreme Entertainment
|
28 Mar 2006 11:22 |
|
|
Shiru Otaku
Doomed
Joined: 16 Mar 2002 17:00 Posts: 490
|
Вопрос по сабжу - а что у него за операции с кодами #08, #10, #18, #20, #28, #30, #38, #CB, #D9, #DD, #ED, #FD? Что-то во всём интернете по 8080 и ВМ80 информации - с гулькин нос, в отличии от всяких Z80/6502/прочих.
|
05 Jun 2006 18:17 |
|
|
Shiru Otaku
Doomed
Joined: 16 Mar 2002 17:00 Posts: 490
|
Сам и нашёл ответ (в исходниках MAME):
* - Undocumented i8080 opcodes added:
* 08h, 10h, 18h, 20h, 28h, 30h, 38h - NOP
* 0CBh - JMP
* 0D9h - RET
* 0DDh, 0EDh, 0FDh - CALL
* Thanks for the info go to Anton V. Ignatichev.
|
05 Jun 2006 19:23 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22879 Location: Silicon Valley
|
Надо проверить 8085 на это дело - а так прикольный путь создания программ, неработающих на всемогущем Z80
|
05 Jun 2006 19:30 |
|
|
Shiru Otaku
Doomed
Joined: 16 Mar 2002 17:00 Posts: 490
|
Про 8085 там особо отмечено, у него другие команды с этими кодами. Комментарии разбросаны по коду, но вроде так:
#08 DSUB
#10 ASRH
#18 RLDE
#20 RIM
#28 LDEH nn
#2f CMA (устанавливает флаги, в отличии от 8080)
#30 SIM
#38 LDES nn
#CB RST 8 либо RST V (в зависимости от флага)
#D9 SHLX
#DD JNX nnnn
#ED LHLX
#FD JX nnnn
Что именно делают эти команды - можно посмотреть в коде эмулятора, но я вроде встречал в интернете инфу о недокументированных командах 8085.
А ещё в исходниках отмечено:
|
05 Jun 2006 19:41 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22879 Location: Silicon Valley
|
RIM и SIM - документированные дополнительные команды, а вот все остальные по видимому являются недокументированными и мне неизвестны - надо чтоли покопать в инете
|
05 Jun 2006 19:57 |
|
|
Pyk
Maniac
Joined: 21 Jan 2003 04:08 Posts: 227
|
Действительно, интересно. Про недокументированные команды 8080 знаю, они еализованы у меня, а вот про недокументированные команды 8085 впервые слышу. Я так понял, что они даже не дублируют документированные, как в 8080?
|
05 Jun 2006 22:14 |
|
|
Shiru Otaku
Doomed
Joined: 16 Mar 2002 17:00 Posts: 490
|
Вот чего я ещё нашёл по 8085:
А что за история с недокументированными флагами сабжа? Т.е. биты 1, 3, 5. Бит 1 - флаг N на Z80; в коде эмуляции 8080/8085 в MAME этот флаг есть, и юзается в обоих режимах. Но нигде в документации на 8080 (которой, надо заметить, в интернете маловато) про флаг N ничего не сказано; а в архивах различных ньюсгрупп в обсуждениях разницы между Z80/8080 указывается, что этого флага 8080 не имеет, и, соответственно, он не используется в команде DAA (DAA работает корректно только после операций сложения).
|
08 Jun 2006 18:47 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Это анекдот такой вспомнился...
- Вжик - сказала импортная пилорама и распилила бревно.. - Ого! - сказали русские рабочие и засунули в пилораму лом. - Бзззз... - сказала пилорама. - То-та!!! - сказали русские рабочие.
Я когда разбирался с К580, то подсовывал ему недокументрованные
команды как раз вот вместо лома по адресу 0000H и делал RST0.
Поскольку во всякой книге вумной написано - что процесор должен
считать КОП (код операции) - мне было интересно, а что будет, если
не КОП ? А на это годились недокументированные команды.
Но процессор не зависал и исполнял их, некоторые я даже определил
тогда - что это примерно за команды.
В итоге мысль ко мне пришла следующая - похоже что внутри у проца
недоопределённый дешифратор кода команд и по недокументированным
командам он выполняет не чюдо - а документированные, которые так
дешифруются.
Конечно, трудно сказать, что внутри у i8080, но похоже на то, как на
дешифратор семисегментного индикатора подать код, который он индицировать
не должен.
Такое у меня было мнение.
Last edited by Lavr on 01 Dec 2012 12:30, edited 2 times in total.
|
15 Dec 2009 07:57 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22879 Location: Silicon Valley
|
у 6502 веселее было - дешифратор там был "хардварный" и по видимому оптимизированный только под корректное использование, поэтому по некоторым недокументированным командам он выполнял НЕСКОЛЬКО ДОКУМЕНТИРОВАННЫХ ОДНОВРЕМЕННО
|
15 Dec 2009 08:18 |
|
|
VituZz
God
Joined: 13 Nov 2010 04:06 Posts: 1345
|
А какие операции соответствуют другим "свободным" кодам, не известно? Ещё остаются C0, C7, C8, CF, D0, D7, DF, E0, E7, E8, EF, F0, F7, F8, FF. Особенно мне интересен код FF, проверил на своём НедоПЦ, после его считывания:
/MR 0800 FF
происходит запись в ОЗУ:
/MW CD53 08 /MW CD52 00
после чего чтение:
/MR 0038 xx.
|
06 Jul 2011 00:39 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
| | | | VituZz wrote: А какие операции соответствуют другим "свободным" кодам, не известно? Ещё остаются C0, C7, C8, CF, D0, D7, DF, E0, E7, E8, EF, F0, F7, F8, FF. Особенно мне интересен код FF, проверил на своём НедоПЦ, после его считывания: /MR 0800 FF происходит запись в ОЗУ: /MW CD53 08 /MW CD52 00 после чего чтение: /MR 0038 xx. | | | | |
Если ты - про 6502, то в Инете есть статья (находится по 6502) где довольно подробно разбирается, что происходит в недокументированных командах... Там правда всё весьма задумчиво, и не все коды могут соответствовать конкретной команде. Я эту статью вот тут чутка цытировал, правда по иному поводу: http://www.nedopc.org/forum/viewtopic.php?t=9386&postdays=0&postorder=asc&start=15
http://www.emuverse.ru/wiki/MOS_Technology_6502
PS. Там надо выбрать ссылку - "Система команд".
|
06 Jul 2011 01:04 |
|
Who is online |
Users browsing this forum: No registered users and 3 guests |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum
|
|