OldComp.cz
http://www.oldcomp.cz/

NMI u Z80
http://www.oldcomp.cz/viewtopic.php?f=41&t=6614
Stránka 11

Autor:  css [ 23.08.2018, 10:27 ]
Předmět příspěvku:  NMI u Z80

Mám otázku: Když Z80 po vyvolání NMI skočí na obslužnou rutinu na adrese 066h, bude reagovat na případná další NMI, než tato rutina skončí instrukcí RETN? Resp. pokud NMI puls bude mít "velkou" délku vzhledem k délce strojového cyklu (stovky mS až sekundy), zacyklí se Z80 neustálou cyklickou obsluhou NMI, neboli skoky na adr. 066h? Tím pádem by i zásobník návratových adres musel narůst do enormních rozměrů ne?

Díky.

Autor:  danhard [ 23.08.2018, 10:55 ]
Předmět příspěvku:  Re: NMI u Z80

NMI funguje na sestupnou hranu, provede se jen jednou.
http://www.z80.info/zip/z80-interrupts_rewritten.pdf

Autor:  css [ 23.08.2018, 11:04 ]
Předmět příspěvku:  Re: NMI u Z80

Aha díky, automaticky (blbě) jsem předpokládal, že je to jako u INT, které reaguje na nízkou úroveň, nikoliv hranu, a proto si u něj musíš hlídat délku pulsu. Člověk se furt učí. Díky.

Autor:  danhard [ 23.08.2018, 11:14 ]
Předmět příspěvku:  Re: NMI u Z80

INT se ale udělá taky jen jednou, pokud není ten pulz delší, než zpracování interruptu.
Aby to bylo blbuvzdorné, tak by jsi ten drát musel hlídat :)

Autor:  Busy [ 23.08.2018, 15:59 ]
Předmět příspěvku:  Re: NMI u Z80

css píše:
Mám otázku: Když Z80 po vyvolání NMI skočí na obslužnou rutinu na adrese 066h, bude reagovat na případná další NMI, než tato rutina skončí instrukcí RETN?
Ano. NMI je preto NMI, aby nan CPU reagovalo vzdy. Teda aj pocas vykonavania obsluznej rutinky. RETN je iba obycajny RET ktory este navyse obnovi stav EI/DI aky bol pred poslednym prerusenim programu pomocou NMI.
css píše:
Resp. pokud NMI puls bude mít "velkou" délku vzhledem k délce strojového cyklu (stovky mS až sekundy), zacyklí se Z80 neustálou cyklickou obsluhou NMI, neboli skoky na adr. 066h? Tím pádem by i zásobník návratových adres musel narůst do enormních rozměrů ne?
Nie. Ako tu uz bolo spominane, Z80 reaguje na dobeznu hranu NMI. Pokial by si ale robil tieto dobezne hrany rychlo za sebou, tak by mohol zasobnik narastat do enormnych rozmerov...

Autor:  css [ 23.08.2018, 21:37 ]
Předmět příspěvku:  Re: NMI u Z80

Busy: OK diky. Jde mi o to, pokud privedu na NMI zaporny puls o delce treba 0,5s (sestupna hrana, pak 0,5s log.0 a pak nabezna hrana), tak CPU zareaguje tedy jen na tu sestupnou hranu na zacatku pulsu, ale na dalsich 0,5s v log.0 uz reagovat nebude. Je to tak?

Autor:  Busy [ 24.08.2018, 14:26 ]
Předmět příspěvku:  Re: NMI u Z80

Ano, tak je.

Stránka 11 Všechny časy jsou v UTC + 1 hodina [ Letní čas ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/