OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů

Reklama!

Právě je 13 pro 2018, 21:30

Všechny časy jsou v UTC + 1 hodina




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 7 ] 
Autor Zpráva
 Předmět příspěvku: NMI u Z80
PříspěvekNapsal: 23 srp 2018, 09:27 
Offline
Radil
Uživatelský avatar

Registrován: 15 kvě 2014, 14:24
Příspěvky: 266
Bydliště: Karlovy Vary
Has thanked: 0 time
Been thanked: 145 times
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.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: NMI u Z80
PříspěvekNapsal: 23 srp 2018, 09:55 
Offline
Pan Štábní

Registrován: 16 čer 2014, 11:23
Příspěvky: 1989
Bydliště: Jesenice
Has thanked: 9 times
Been thanked: 116 times
NMI funguje na sestupnou hranu, provede se jen jednou.
http://www.z80.info/zip/z80-interrupts_rewritten.pdf


Nahoru
 Profil  
 
 Předmět příspěvku: Re: NMI u Z80
PříspěvekNapsal: 23 srp 2018, 10:04 
Offline
Radil
Uživatelský avatar

Registrován: 15 kvě 2014, 14:24
Příspěvky: 266
Bydliště: Karlovy Vary
Has thanked: 0 time
Been thanked: 145 times
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.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: NMI u Z80
PříspěvekNapsal: 23 srp 2018, 10:14 
Offline
Pan Štábní

Registrován: 16 čer 2014, 11:23
Příspěvky: 1989
Bydliště: Jesenice
Has thanked: 9 times
Been thanked: 116 times
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 :)


Nahoru
 Profil  
 
 Předmět příspěvku: Re: NMI u Z80
PříspěvekNapsal: 23 srp 2018, 14:59 
Offline
Pan Generální

Registrován: 22 kvě 2013, 20:14
Příspěvky: 2042
Bydliště: Bratislava
Has thanked: 224 times
Been thanked: 378 times
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...


Nahoru
 Profil  
 
 Předmět příspěvku: Re: NMI u Z80
PříspěvekNapsal: 23 srp 2018, 20:37 
Offline
Radil
Uživatelský avatar

Registrován: 15 kvě 2014, 14:24
Příspěvky: 266
Bydliště: Karlovy Vary
Has thanked: 0 time
Been thanked: 145 times
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?


Nahoru
 Profil  
 
 Předmět příspěvku: Re: NMI u Z80
PříspěvekNapsal: 24 srp 2018, 13:26 
Offline
Pan Generální

Registrován: 22 kvě 2013, 20:14
Příspěvky: 2042
Bydliště: Bratislava
Has thanked: 224 times
Been thanked: 378 times
Ano, tak je.


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 7 ] 

Všechny časy jsou v UTC + 1 hodina


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 1 návštěvník


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz