|
nedoPC.orgElectronics hobbyists community established in 2002 |
|
Порты vs память, слово состояния и т.д.
Author |
Message |
VituZz
God
Joined: 13 Nov 2010 04:06 Posts: 1345
|
Понятно, что три /INTA будут лишь, если первый полученный КОП будет CALL. В случае полученного КОП RST - тоже всё ясно. Гипотетический случай получения какого-то другого КОП - я думаю, просто выполнится данная команда.
Картинки я, конечно, посмотрел, и даже посмотрел в скачанную книгу Шахнова и в свои бумажные книги. При всём обилии описаний всё же они не всеохватны . Тем не менее, с коллективной помощью вопрос для меня прояснился, спасибо!
|
23 Oct 2011 08:27 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
А вот в связи с прецизионными эмуляторами я призадумался...
Скажем идёт у нас программа:
100 LXI H,0000H 103 DAD SP >--------------------- в этот момент по прерыванию: LDA 8730H 104 SHLD SP_B0X 107 LXI B,1574H ...
Что будет с программным счётчиком РС по такому прерыванию?
Или просто выходит что между адресами 103 и 104 мы как бы
всунули лишнюю команду посредством прерывания?
_________________ iLavr
|
19 Sep 2012 13:49 |
|
|
b2m
Devil
Joined: 26 May 2003 06:57 Posts: 873
|
| | | | HardWareMan wrote: А JMP/RST скармливаются потому, что размер обработчиков как правило больше одной команды. Только, ЕМНИП, надо помнить, что подтверждение прерывания происходит только на одну команду, поэтому, либо прерывание из одной команды, либо джамп. Хотя, если внимательно почитать ДЩ, перед вызовом прерывания делается пуш PC, т.е. CALL. | | | | |
Никто там "пуш РС" не делает, скармливают CALL/RST, которые и делают всю работу по вызову п/п. Единственная разница - при чтении команды в цикле обработки прерывания РС не увеличивается (и даже вроде на шину адреса не выводится).
_________________Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
|
19 Sep 2012 23:01 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Кстати говоря, наиболее верно и без лишней заумной бредятины процесс обработки прерывания описывают в часто критикуемом мной " ЮТ-88":
Но опять же есть неточности.
" Единственный вектор прерывания с номером 7 без дополнительных компонентов"
задаёт не микросхема системного контроллера а 8 резисторов по ШД, подключенных к +5В.
Схема
Если мы подключим эти 8 резисторов по 1К к общему проводу ("0"), то получим
" единственный вектор прерывания с номером 0 без дополнительных компонентов".
Микросхема системного контроллера в этом случае лишь шинный двунаправленный
буфер, который 1111.1111b c ШД передаёт процу. Но в итоге-то обходятся и без неё!
И я не знаю, есть ли смысл " выход INTA микросхем KP580BK38 ... подсоединять к напряжению + 12 В через резистор 1 кОм" - всё-равно выход не используется.
Хуже, правда, не будет...
_________________ iLavr
Last edited by Lavr on 20 Sep 2012 06:48, edited 1 time in total.
|
20 Sep 2012 06:33 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
А полемика, вобще говоря, вещь полезная... Вот в ходе этого обсуждения у меня закралось подозрение, что на следующей схеме: сигнал INTA формируется не совсем верно... На мой взгляд, сигналы шины управления следует формировать вот так: Какие будут мнения?
_________________ iLavr
|
20 Sep 2012 07:25 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
А моё лично мнение, что сигнал INTA правильно формируется в " Микро-80": Потому, что сигнал INTA - это не что иное, как сигнал DBIN микропроцессора, через состояние бита 0 регистра статуса (" Обслуживание прерывания") перенаправленный к устройству, обязанному по типу памяти выдать микропроцессору команду, выполняемую во время обслуживания прерывания. То есть, как процессор читает из памяти CALL ADLOW ADHIGH, также он читает эту последовательность байт CALL ADLOW ADHIGH из ПКП КР580ВН59. Но строб DBIN перенаправляется к ПКП КР580ВН59 в виде INTA, а на шине адреса ничего не выставляется. Если вы со мной согласны, то картинку из предыдущего поста мне надо будет исправить, и везде по форуму заменить на правильную. Это я её притащил откуда-то из сети, не посмотрев внимательно. Правильная картинка вот такая:
_________________ iLavr
|
20 Sep 2012 08:13 |
|
|
Digi_boy
Fanat
Joined: 30 Apr 2012 09:38 Posts: 52 Location: Krasnodar
|
В чем смысл задержки сигнала DBIN двумя инверторами (DD3.2 и DD3.4) ?
Как бы увидеть осциллограммы формирования сигнала INTA в этой схеме, что бы слегка понятнее было по поводу относительных задержек.
Last edited by Digi_boy on 21 Sep 2012 04:46, edited 1 time in total.
|
21 Sep 2012 04:41 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Можно живьём - осциллографом, если собрать схему...
А можно по типовым графикам машинных циклов нарисовать.
Хардыч часто их выкладывает, и на форуме есть ссылка на книжку, где они
представлены.
Ну и придётся приплюсовать к DBIN типичные времена задержек
распространения для трёх вентилей серии К155.
_________________ iLavr
|
21 Sep 2012 06:20 |
|
|
Digi_boy
Fanat
Joined: 30 Apr 2012 09:38 Posts: 52 Location: Krasnodar
|
Одним словом, в журнале "Радио" за 1983 год можно не копаться,
осциллограмм там никто не приводил. Голое словесное описание.
|
21 Sep 2012 07:47 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Ну почему же... смотря, что хочешь накопать... Задержек по корпусам там никто не рисовал,
но вот типовые графики машинных циклов там приведены, расписаны очень подробно и
популярно разъяснены.
Вот эти графики из как раз из журнала "Радио" за 1983 год.
_________________ iLavr
|
07 Oct 2012 21:24 |
|
|
Who is online |
Users browsing this forum: No registered users and 1 guest |
|
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
|
|