Domanda sulla CPU Z80

Salve, volevo chiedere un paio di particolari sulla CPU Z80. Quando c'è un ciclo di scrittura o lettura su I/O, vengono usate solo le linee da A0 a A7, ma le linee da A8 a A15 in che stato si trovano? Spero tutte a zero. Inoltre, quando è attiva l'uscita _Refresh insieme a _MemRq per rinfrescare la memoria dinamica, le linee _RD e _WR sono tutte e due alte? Grazie.

-- Prima di rispondermi devi togliere le dita dal naso! :)

Reply to
Calisto
Loading thread data ...

"Calisto" ha scritto

le istruzioni IN e OUT prevedono invece un indirizzamento completo a 16 bit... A seconda dell'istruzione il valore di A o di B viene trasferito su A8..A15 prima dell'esecuzione dell'istruzione stessa..

Nel caso di IN A,(indirizzo) viene trasferito A Nel caso di IN r,(C) INI INIR IND INDR viene trasferito B Idem per le corrispondenti di output.

Sarebbe cosi' possibile indirizzare fino a 65536 porte... In pratica poi se la decodifica indirizzi delle periferiche controlla solo i primi 8 bit, o in tanti casi pratici anche molti meno, il valore degli altri e' del tutto indifferente.

yess, ma se si usa una comune memoria statica ci si puo' dimenticare completamente di questa roba:-) Con /MREQ /RD /WR fai tutto...

Claudio F

PS: a qualche ram sta antipatico che il /WR risalga nello stesso momento del /CE, e preferisce un /CE piu'lungo di una manciata di nS... (io risolvo radicalmente col /CE sempre fisso a massa:-P)

PS2: non dimenticare la R di pull-up da 330 ohm sul clock... fatti salvi questi due inghippi ha sempre funzionato tutto anche con cablaggi lunghi e orripilanti.

Reply to
Claudio F

"Claudio F" ha scritto nel messaggio news:F5JBb.75018$ snipped-for-privacy@news1.tin.it...

Ok, grazie. Ma la resistenza di pullup sul clock è necessaria, o consigliabile, anche se l'ingresso clock stesso è pilotato direttamente dall'uscita di una ttl senza altro connesso? ciao.

Reply to
Calisto

"Calisto" ha scritto

Si, alcuni Z80 si rifiutano di funzionare... fortunatamante non e' stato il caso del primo che ho provato;)

Claudio F

Reply to
Claudio F

Per la versione CMOS non lo so, per la versione nmos la risposta e` no, mi pare che su A8-A15 ci sia su il contenuto del registro B. Quasi di sicuro durante le istruzione IN e OUT (C), e mi pare anche durante le altre, con indirizzamento immediato. Se non e` B e` qualche altro registro, non ricordo piu` in dettaglio.

--

Franco

Wovon man nicht sprechen kann, darüber muß man schweigen.
(L. Wittgenstein)
Reply to
Franco

Se l'uscita che pilota il clock e` un vero TTL (con livello alto dalle parti di 3V), allora serve la R di pull up. Se invece il pilotaggio lo fai con una porta CMOS, il pull up non serve.

--

Franco

Wovon man nicht sprechen kann, darüber muß man schweigen.
(L. Wittgenstein)
Reply to
Franco

Ok, grazie ancora a tutti... quindi utilizzando un 74HC04 come oscillatore non dovrebbe servire la resistenza di pullup.

ciao

-- Prima di rispondermi devi togliere le dita dal naso! :)

"Franco" ha scritto nel messaggio news:br85kh$ekoo$ snipped-for-privacy@ID-60973.news.uni-berlin.de...

anche se

senza

Reply to
Calisto

"Franco" ha scritto nel messaggio news:br85co$ekoo$ snipped-for-privacy@ID-60973.news.uni-berlin.de...

Ma questa era una caratteristica dichiarata o era uno dei tanti trucchi non ufficiali di questa CPU? Te lo chiedo perche' fino ad oggi avevo la convinzione che lo Z80 avesse un indirizzamento di I/O di soli 8 bit e mi sembrava che fosse scritto proprio questo in tutta la documentazione.

Reply to
Valeria Dal Monte

Beh, in effetti nei diagrammi temporali della documentazione in mio possesso per i cicli di input-output sono indicati solo i primi 8 bit della linea indirizzi. ciao.

"Valeria Dal Monte" ha scritto nel messaggio news:Q5NBb.181769$ snipped-for-privacy@twister2.libero.it...

Reply to
Calisto

Ma perché Federico Faggin non ha reso note tutte le istruzioni della sua cpu?

-- Prima di rispondermi devi togliere le dita dal naso! :)

"Calisto" ha scritto nel messaggio news:mFHBb.180761$ snipped-for-privacy@twister2.libero.it...

rinfrescare

Reply to
Calisto

Era uno dei trucchi non ufficiali, anche perche' non era facilmente utilizzabile. Con l'indirizzamento indiretto si poteva usare BC come registro di indirizzo, ma con le istruzioni di in e out "vecchie", sulla parte alta del bus indirizzi c'era A che serviva anche per il dato.

Invece altre istruzioni non documentate funzionavano, ad esempio splittare i registri IX e IY in 4 registri da 8 bit, con tutte le possibilita` che c'erano di operare su L e H; c'era uno shift sinistro che faceva entrare degli 1 nel bit meno significativo (questa istruzione serviva proprio a poco), a alcune altre ancora (memory shift&load...).

Ciao

--

Franco

Wovon man nicht sprechen kann, darüber muß man schweigen.
(L. Wittgenstein)
Reply to
Franco

Z80.

usate solo le

trovano? Spero

Si dice (non è riportato ufficialmente da nessuna parte) che le linee A8-A15 assumano il valore contenuto nel registro B!!! Se non ricordo male questa caratteristica era perfino sfruttata su certe macchine (Spectrum?!?). Non ho comunque mai verificato la cosa di persona, ne so se gli Z80 recenti abbiano conservato questa caratteristica.

_MemRq per rinfrescare

alte?

Può darsi... So per certo che _RD è alto, mentre di _WR non ho notizie certe... :-)

Prego! Ciao, Dr. Jones

Reply to
Dr. Jones

"Franco" ha scritto

Mi sembra strano, ho controllato su tre diverse fonti (tra cui un pdf della Zilog - CPU User Manual UM008001-1000) e dappertutto e' descritto il quel comportamento di A8..A15

a, beh, questa e' un'altra storia;)

Claudio F

Reply to
Claudio F

Sul manuale del 1978 non c'era :-)

--

Franco

Wovon man nicht sprechen kann, darüber muß man schweigen.
(L. Wittgenstein)
Reply to
Franco

Pestando alacremente sulla tastiera "Valeria Dal Monte" ebbe l'ardire di profferire:

Nessun trucco, per la precisione il registro B indirizza da A8 a A15... Riportato anche su ' Programmazione dello Z80' di Rodnay Zaks... La mia vecchia bibbia... Lo z80 usava questo metodo per leggere la tastiera.

--
System going down at 1:45 for disk crashing.
News 2000 [v 2.06] / StopDialer / PopDuster - http://www.socket2000.com
Reply to
Due di Picche

Pestando alacremente sulla tastiera Due di Picche ebbe l'ardire di profferire:

lo ZX80... lapsus.

--
My computer's sick.  I think my modem is a carrier.
News 2000 [v 2.06] / StopDialer / PopDuster - http://www.socket2000.com
Reply to
Due di Picche

"Due di Picche" ha scritto

...che tuttavia canna alla grande la spiegazione del funzionamento dell' NMI...

Ho anch'io quel libro, ma ho avuto l'impressione che sia la "brutta copia" di un altro testo invece veramente splendido... solo che mi sfugge il titolo... forse era "Z80 programmazione in assembly"... copertina giallo/arancione.

Claudio F

Reply to
Claudio F

Pestando alacremente sulla tastiera "Claudio F" ebbe l'ardire di profferire:

Ovvero?

--
The moving cursor prints, and having printed, blinks on.
News 2000 [v 2.06] / StopDialer / PopDuster - http://www.socket2000.com
Reply to
Due di Picche

"Due di Picche" ha scritto

da pag 429 cito: "NMI provochera un trasferimento automatico del contatore di programma nello stack"

e fino qua ci siamo

"ed una ramificazione ad un vettore di interrupt a 16 bit all'indirizzo 66H, i due bytes che tappresentano l'indirizzo immagazzinato alla posizione 66H saranno caricati nel contatore di programma, essi rappresentano l'indirizzo di inizio della routine di gestione per l'NMI"

e in piu' c'e' pure la figura che fa vedere prima il PC spostato nello stack, e poi caricato con il valore contenuto in 66H/67H.

Questo non e' vero. Dopo il salvataggio del PC nello stack, il programma salta semplicemente alla locazione 66H (come una CALL 66H per intenderci).

Claudio F

Reply to
Claudio F

Pestando alacremente sulla tastiera "Claudio F" ebbe l'ardire di profferire:

LOL... Non me ne sono mai accorto, dal momento che l'ho usato in connubio a 'the complete spectrum rom disassembly' e la routine dell'nmi era chiarissima...

--
Do files get embarrassed when they get unzipped?
News 2000 [v 2.06] / StopDialer / PopDuster - http://www.socket2000.com
Reply to
Due di Picche

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.