FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups nedoPC.org  
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
 RegisterRegister 
 
КР580ВМ80А - недокументированные инструкции

 
Post new topic   Reply to topic    nedoPC.org Forum Index -> Emu80

igi Reply with quote
Junior


Joined: 23 Mar 2006
Posts: 1

PostPosted: 23 Mar 2006 16:15    Post subject: КР580ВМ80А - недокументированные инструкции
 
Драсте, господа, есть такой вопрос:
Слухи ходят, что ВМ80 имел две (вроде) недокументированные инструкции которых небыло в оригинальном, забугорном i8080.
Собственно, интересно, что эт были за инструкции?
Может ктонибудь из обитателей форума знает о них.
Back to top
View user's profile Send private message

Pyk Reply with quote
Writer


Joined: 21 Jan 2003
Posts: 21

PostPosted: 28 Mar 2006 12:29    Post subject:
 
Вроде бы все коды, которые не соответствуют никакой документированной операции, на ВМ80 на самом деле выполняют действия одной из известных. Никиких дополнительных обнаружить не удалось.
Back to top
View user's profile Send private message Send e-mail Visit poster's website

HardWareMan Reply with quote
God


Joined: 20 Mar 2005
Posts: 1012
Location: РК, Павлодар

PostPosted: 28 Mar 2006 13:54    Post subject:
 
...и их коды?...
Back to top
View user's profile Send private message

Mac Buster Reply with quote
God


Joined: 04 Aug 2003
Posts: 1006
Location: Moscow

PostPosted: 28 Mar 2006 14:22    Post subject: Re: КР580ВМ80А - недокументированные инструкции
 
Что-то мне подсказывает, что речь идёт не о ВМ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
Back to top
View user's profile Send private message Visit poster's website

Shiru Otaku Reply with quote
Unreal


Joined: 16 Mar 2002
Posts: 574

PostPosted: 05 Jun 2006 21:17    Post subject:
 
Вопрос по сабжу - а что у него за операции с кодами #08, #10, #18, #20, #28, #30, #38, #CB, #D9, #DD, #ED, #FD? Что-то во всём интернете по 8080 и ВМ80 информации - с гулькин нос, в отличии от всяких Z80/6502/прочих.
Back to top
View user's profile Send private message

Shiru Otaku Reply with quote
Unreal


Joined: 16 Mar 2002
Posts: 574

PostPosted: 05 Jun 2006 22:23    Post subject:
 
Сам и нашёл ответ (в исходниках 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.
Back to top
View user's profile Send private message

Shaos Reply with quote
Admin


Joined: 09 Jan 2003
Posts: 5543
Location: New York, USA

PostPosted: 05 Jun 2006 22:30    Post subject:
 
Shiru Otaku wrote:
Сам и нашёл ответ (в исходниках 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.


Надо проверить 8085 на это дело - а так прикольный путь создания программ, неработающих на всемогущем Z80
_________________
Shaos / nedoPC team
Back to top
View user's profile Send private message Send e-mail Visit poster's website

Shiru Otaku Reply with quote
Unreal


Joined: 16 Mar 2002
Posts: 574

PostPosted: 05 Jun 2006 22:41    Post subject:
 
Про 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.

А ещё в исходниках отмечено:

Quote:
* changes in V1.3
* - Added undocumented opcodes for the 8085A, based on a german
* book about microcomputers: "Mikrocomputertechnik mit dem
* Prozessor 8085A".
* - This book also suggest that INX/DCX should modify the X flag bit
* for a LSB to MSB carry and
* - that jumps take 10 T-states only when they're executed, 7 when
* they're skipped.
Back to top
View user's profile Send private message

Shaos Reply with quote
Admin


Joined: 09 Jan 2003
Posts: 5543
Location: New York, USA

PostPosted: 05 Jun 2006 22:57    Post subject:
 
Shiru Otaku wrote:
Про 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.


RIM и SIM - документированные дополнительные команды, а вот все остальные по видимому являются недокументированными и мне неизвестны - надо чтоли покопать в инете
_________________
Shaos / nedoPC team
Back to top
View user's profile Send private message Send e-mail Visit poster's website

Pyk Reply with quote
Writer


Joined: 21 Jan 2003
Posts: 21

PostPosted: 06 Jun 2006 01:14    Post subject:
 
Действительно, интересно. Про недокументированные команды 8080 знаю, они еализованы у меня, а вот про недокументированные команды 8085 впервые слышу. Я так понял, что они даже не дублируют документированные, как в 8080?
Back to top
View user's profile Send private message Send e-mail Visit poster's website

Shiru Otaku Reply with quote
Unreal


Joined: 16 Mar 2002
Posts: 574

PostPosted: 08 Jun 2006 21:47    Post subject:
 
Вот чего я ещё нашёл по 8085:

Quote:
Hex 8085 Meaning
---------------------
08 SUB HL-BC
10 Shift right HL
18 Rotate right DE
20 RIM Read Interrupt Mask [legal 8085, but new from 8080]
28 Add HL and Immidiate nnnn into DE
30 SIM Set Interrupt Mask [legal 8085, but new from 8080]
38 Add SP and Immidiate nnnn into DE


CB ReSTart on Overflow to 0040h
D9 Load [DE] from HL
DD Jump on 'Not X5'
ED Load Hl from [DE]
FD Jump on 'X5'


А что за история с недокументированными флагами сабжа? Т.е. биты 1, 3, 5. Бит 1 - флаг N на Z80; в коде эмуляции 8080/8085 в MAME этот флаг есть, и юзается в обоих режимах. Но нигде в документации на 8080 (которой, надо заметить, в интернете маловато) про флаг N ничего не сказано; а в архивах различных ньюсгрупп в обсуждениях разницы между Z80/8080 указывается, что этого флага 8080 не имеет, и, соответственно, он не используется в команде DAA (DAA работает корректно только после операций сложения).
Back to top
View user's profile Send private message

Lavr Reply with quote
Maniac


Joined: 21 Oct 2009
Posts: 223
Location: Россия

PostPosted: 15 Dec 2009 10:57    Post subject: Бззз... сказала пилорама...
 
Это анекдот такой вспомнился...
- Вжик - сказала импортная пилорама и распилила бревно..
- Ого! - сказали русские рабочие и засунули в пилораму лом.
- Бзззз... - сказала пилорама.
- То-та!!! - сказали русские рабочие.

Я когда разбирался с К580, то подсовывал ему недокументрованные
команды как раз вот вместо лома по адресу 0000H и делал RST0.
Поскольку во всякой книге вумной написано - что процесор должен
считать КОП (код операции) - мне было интересно, а что будет, если
не КОП ? А на это годились недокументированные команды.
Но процессор не зависал и исполнял их, некоторые я даже определил
тогда - что это примерно за команды.
В итоге мысль ко мне пришла следующая - похоже что внутри у проца
недоопределённый дешифратор кода команд и по недокументированным командам он выполняет не чюдо - а документированные, которые так дешифруются.
Конешно, трудно сказать, что внутри у i8080, но похоже на то, как на
дешифратор семисегментного индикатора подать код, который он индицировать не должен.
Такое у меня было мнение.
Back to top
View user's profile Send private message

Shaos Reply with quote
Admin


Joined: 09 Jan 2003
Posts: 5543
Location: New York, USA

PostPosted: 15 Dec 2009 11:18    Post subject:
 
у 6502 веселее было - дешифратор там был "хардварный" и по видимому оптимизированный только под корректное использование, поэтому по некоторым недокументированным командам он выполнял НЕСКОЛЬКО ДОКУМЕНТИРОВАННЫХ ОДНОВРЕМЕННО
_________________
Shaos / nedoPC team
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Post new topic   Reply to topic    nedoPC.org Forum Index -> Emu80
Page 1 of 1

Choose Display Order
Display posts from previous:   
User Permissions
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 vote in polls in this forum

 
Jump to:  


Skin Created by Sigma12 and modified by Shaos
Powered by phpBB © 2001-2005 phpBB Group