OldComp.cz http://www.oldcomp.cz/ |
|
NMI u Z80 http://www.oldcomp.cz/viewtopic.php?f=41&t=6614 |
Stránka 1 z 1 |
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 1 z 1 | Všechny časy jsou v UTC + 1 hodina [ Letní čas ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |