Ciao a tutti... Non mi aspetto di trovare una risposta precisa su un argomento che potrebbe essere abbastanza sconosciuto. Ho cercato un po' ovunque senza trovare risposta, quindi provo anche qui (spero che non venga ritenuto un offtopic).
Dovrei studiare per la scuola il dispositivo di interfacciamento parallelo Intel PPI8255 ed in particolare come configurare le sue porte A,B,C in tutti i modi possibili tramite l'assembler ( ) 8086. Per fare questo avrei però bisogno delle varie word control. Su alcuni appunti che ho trovato in giro per la rete ho letto che bisogna cercare sul datasheet del componente, ma non ho trovato nulla.
Spero di trovare qualcuno che ne sappia più di me e che mi possa aiutare, ma ripeto: forse non è il forum adatto quindi non mi aspetto nulla
Grazie a chiunque saprà aiutarmi!
P.S. IMMAGINO DI NON ESSERMI SPIEGATO BENE.. ANZI NE SONO SICURO. MA NON SAPREI COME FARE, VOGLIATE SCUSARMI!
RISOLTO - Control Word Intel PPI8255
- fra3point
- Membro attivo
- Messaggi: 388
- Iscritto il: 24/08/2010, 15:16
- Specialità: Prog. e 3D Modelling
- Località: L'Aquila
- Contatta:
RISOLTO - Control Word Intel PPI8255
Ultima modifica di fra3point il 15/02/2011, 19:43, modificato 1 volta in totale.
draw_text(100,100,"fra3point");
Progetti in corso:
Progetti in corso:
Spoiler
- BaronVsCorsar
- GMI VIP
- Messaggi: 4699
- Iscritto il: 14/02/2004, 12:05
- Specialità: Saccenza
- Uso: GameMaker 8.1
- Località: Ferrara
- Contatta:
Re: Word Control Intel PPI8255
PPI8255 è direttamente il nome dell'integrato oppure è una sua componente?
Procurati il nome dell'integrato, cerca su google il suo datasheet (a volte è difficile da trovare, ma normalmente sono disponibili gratis direttamente dai produttori, ci sono anche siti che raccolgono DS di varie marche).
Sul datasheet trovi anche tutta la documentazione per programmare il componente con il suo assembly.
Procurati il nome dell'integrato, cerca su google il suo datasheet (a volte è difficile da trovare, ma normalmente sono disponibili gratis direttamente dai produttori, ci sono anche siti che raccolgono DS di varie marche).
Sul datasheet trovi anche tutta la documentazione per programmare il componente con il suo assembly.
Schiva questo - http:\\baronvscorsar.altervista.org
by Lego: Vado in un bar e faccio "votiamo che quel tizio la in fondo venga buttato fuori", ma perché?
by Lego: Vado in un bar e faccio "votiamo che quel tizio la in fondo venga buttato fuori", ma perché?
- fra3point
- Membro attivo
- Messaggi: 388
- Iscritto il: 24/08/2010, 15:16
- Specialità: Prog. e 3D Modelling
- Località: L'Aquila
- Contatta:
Re: Word Control Intel PPI8255
Credo che PPI8255 sia proprio il nome dell'integrato. Ho trovato un datasheet abbastanza esplicativo ma parla solo in generale di queste maledettissime word control. E per di più spiega come programmarlo con un assembler di cui ignoro ogni particolare..
draw_text(100,100,"fra3point");
Progetti in corso:
Progetti in corso:
Spoiler
- BaronVsCorsar
- GMI VIP
- Messaggi: 4699
- Iscritto il: 14/02/2004, 12:05
- Specialità: Saccenza
- Uso: GameMaker 8.1
- Località: Ferrara
- Contatta:
Re: Word Control Intel PPI8255
non è che un integrato si programmi con un assembler di tua scelta: si programma con il suo assembler (l'assembly deve essere in rapporto 1:1 con il linguaggio macchina!).
io davo per scontato che il suo fosse quello dell' 8086.
Ovviamente operazioni banali come "muovi un contenuto di memoria" è sempre disponibile, quindi ANCHE quello di configurare una word di sistema spostandogli gli opportuni bit (in altre parole un MOV con opportuna sequenza di bit su opportuna word).
Certo che facendolo con un altro assembly discorsi come simmetria dei registri, possibilità di fare mov da costanti o solo da celle di memoria e così via (vale a dire tutti i vincoli HW del tuo dispositivo) non è detto che saranno rispettati... ma vabbè, se è un esercizio.
CMQ:
1)dal datasheet trova quali registri ti configurano le porte del dispositivo
2)individua tutte le possibili configurazioni (verosimilmente controllate da uno o più bit di uno o più registri)
3)fai tutte le possibili combinazioni
4)esegui l'operazione (equivalente a) MOV alterando solo i bit di interesse dei tuoi registri in tutti i possibili modi
Il datasheet di un integrato e' sempre esaustivo, completo e autosufficiente. Altrimenti puoi aver trovato altri documenti (brochure "pubblicitarie", facts, guide alle scelte degli integrati con comparison tra dispositivi...)
ma il datasheet è sempre tutto quello che ti serve, sia a livello elettrico, sia a livello software...
Cosa hai trovato riguardo alle word control? Puoi copia&incollare uno stralcio?
io davo per scontato che il suo fosse quello dell' 8086.
Ovviamente operazioni banali come "muovi un contenuto di memoria" è sempre disponibile, quindi ANCHE quello di configurare una word di sistema spostandogli gli opportuni bit (in altre parole un MOV con opportuna sequenza di bit su opportuna word).
Certo che facendolo con un altro assembly discorsi come simmetria dei registri, possibilità di fare mov da costanti o solo da celle di memoria e così via (vale a dire tutti i vincoli HW del tuo dispositivo) non è detto che saranno rispettati... ma vabbè, se è un esercizio.
CMQ:
1)dal datasheet trova quali registri ti configurano le porte del dispositivo
2)individua tutte le possibili configurazioni (verosimilmente controllate da uno o più bit di uno o più registri)
3)fai tutte le possibili combinazioni
4)esegui l'operazione (equivalente a) MOV alterando solo i bit di interesse dei tuoi registri in tutti i possibili modi
Il datasheet di un integrato e' sempre esaustivo, completo e autosufficiente. Altrimenti puoi aver trovato altri documenti (brochure "pubblicitarie", facts, guide alle scelte degli integrati con comparison tra dispositivi...)
ma il datasheet è sempre tutto quello che ti serve, sia a livello elettrico, sia a livello software...
Cosa hai trovato riguardo alle word control? Puoi copia&incollare uno stralcio?
Schiva questo - http:\\baronvscorsar.altervista.org
by Lego: Vado in un bar e faccio "votiamo che quel tizio la in fondo venga buttato fuori", ma perché?
by Lego: Vado in un bar e faccio "votiamo che quel tizio la in fondo venga buttato fuori", ma perché?
- fra3point
- Membro attivo
- Messaggi: 388
- Iscritto il: 24/08/2010, 15:16
- Specialità: Prog. e 3D Modelling
- Località: L'Aquila
- Contatta:
Re: Word Control Intel PPI8255
mi dispiace ma non posso copia incollarlo.. è una serie di schemi in pdf che indicano come sono interpretati i bit relativi al registro di controllo dell'intrgrato, cioè quel registro dove dovrei inserire la word control che mi serve. Forse devo vedere bene ogni singolo bit a cosa si riferisce, impostare tutto il registro nella configurazione che mi serve, trasformare in esadecimale il numero binario che così ottengo e sperare che il valore hex che viene fuori sia proprio quella word control..
draw_text(100,100,"fra3point");
Progetti in corso:
Progetti in corso:
Spoiler
- BaronVsCorsar
- GMI VIP
- Messaggi: 4699
- Iscritto il: 14/02/2004, 12:05
- Specialità: Saccenza
- Uso: GameMaker 8.1
- Località: Ferrara
- Contatta:
Re: Word Control Intel PPI8255
togli il forse, la tua speranza e soprattutto la faccina stupita in fondo alla tua affermazioneForse devo vedere bene ogni singolo bit a cosa si riferisce, impostare tutto il registro nella configurazione che mi serve, trasformare in esadecimale il numero binario che così ottengo e sperare che il valore hex che viene fuori sia proprio quella word control..
questo è il modo per configurare un registro, ovviamente i bit che non influenzano le tue porte (ma che avranno effetti su altri settaggi) li devi lasciare in alterati.
in genere:
leggo la word control (contenuta in un registro) e la metto in ram
altero alcuni bit che mi interessano
sovrascrivo la word control (cioè il registro che la contiene)
non capisco perchè vuoi trasformare in esadecimale, in assembly se ben ricordo le costanti le puoi passare anche in decimale, o binario.
E lavora con gli operatori bit a bit per alzare o abbassare i bit che vuoi, in modo che quelli non coinvolti siano inalterati
vecchia_control_word & 11111101 //per abbassare il secondo bit e lasciare inalterati gli altri
vecchia_control_word | 00000100 //per alzare il terzo bit e lasciare inalterati gli altri
& sta per and bit a bit (non ho idea del mnemonico in assembly)
| sta per or bit a bit
Schiva questo - http:\\baronvscorsar.altervista.org
by Lego: Vado in un bar e faccio "votiamo che quel tizio la in fondo venga buttato fuori", ma perché?
by Lego: Vado in un bar e faccio "votiamo che quel tizio la in fondo venga buttato fuori", ma perché?
- fra3point
- Membro attivo
- Messaggi: 388
- Iscritto il: 24/08/2010, 15:16
- Specialità: Prog. e 3D Modelling
- Località: L'Aquila
- Contatta:
Re: Word Control Intel PPI8255
ancora non sono a questo livello con l'assembly, non ho mai usato gli operatori logici e i "bit a bit".. Comunque uso l'esadecimale per maggiore chiarezza.. E per ricordare meglio i valori delle word control.. Inoltre nelle esercitazioni di laboratorio a scuola usiamo sempre l'esadecimale..
Domani provo queste operazioni e cerco di far funzionare il dispositivo. Grazie per l'aiuto!
Domani provo queste operazioni e cerco di far funzionare il dispositivo. Grazie per l'aiuto!
draw_text(100,100,"fra3point");
Progetti in corso:
Progetti in corso:
Spoiler
Re: Word Control Intel PPI8255
Invece credo che le classiche operazioni bitwise si "devono" e per forza DEVONO imparare per prima. Anche perchè sennò, cosa cavolo ci fai con l'assembler...
Sposto in una sezione più appropriata.
Sposto in una sezione più appropriata.
ਗੁਰੂ
- fra3point
- Membro attivo
- Messaggi: 388
- Iscritto il: 24/08/2010, 15:16
- Specialità: Prog. e 3D Modelling
- Località: L'Aquila
- Contatta:
Re: RISOLTO - Control Word Intel PPI8255
ho risolto!! Ho trovato un datasheet che spiegasse come dovevo settare i bit del registro di controllo e sono riuscito a trovare la control word giusta! Potete chiudere se volete, non credo ci saranno altri post relativi!
draw_text(100,100,"fra3point");
Progetti in corso:
Progetti in corso:
Spoiler
Chi c’è in linea
Visitano il forum: Nessuno e 57 ospiti