Configurazione "communic asincrona"
Il programma serve a provare la configurazione "communic asincrona" costituita da due sistemi simmetrici ciascuno con un processore M68000, una ROM di 8K (addr $0-$1FFF), una RAM di 10K (addr $8000-$A7FF), un device parallelo PIA mappato a $2004, un device seriale di tipo TERMINAL mappato a $2000.
Interconnessione e protocollo di handshaking
I due PIA sono interconnessi e mediante un protocollo di handshaking consentono ai due sistemi di scambiarsi i caratteri digitati sul dispositivo TERMINAL. I device interagiscono con i rispettivi processori mediante le linee di interruzione. In particolare, il dato immesso da tastiera è acquisito mediante interruzione (liv.1, autovettore 25 mappato in area ROM alla locazione $64 che punta alla ISR posta all'indirizzo $8500 in area RAM e inviato alla sezione A del dispositivo parallelo PIA per la trasmissione verso il dispositivo PIA connesso all'altro sistema.
Il carattere ricevuto dal PIA è gestito mediante interruzione. All'arrivo dell'interrupt la ISR lo acquisisce e lo invia al terminal per la visualizzazione. L'interruzione è associata all'interrupt di liv. 3, #vect 27 mappato a $6C della ROM con ISR a $8700.
Schema di connessione PIA
PIA1 PIA2 ______ _______ | CA1 | <---------> | CB2 | | CA2 | ---------> | CB1 | |_____| <==== |_______| | CB1 | <---------> | CA2 | | CB2 | ---------> | CA1 | |_____| ====> |_______|
Codice assembly e inizializzazione
NAME communic; tale direttiva non è allo stato supportata dall'assemblatore
BEGIN ORG $8200
- PIADA EQU $2004; indirizzo di PIA-A dato, usato in input
- PIACA EQU $2005; indirizzo di PIA-A stato/controllo
- PIADB EQU $2006; indirizzo di PIA-B dato, usato in output
- PIACB EQU $2007; indirizzo di PIA-B controllo
- TERD EQU $2000; indirizzo di TERMINAL registro dato
- TERC EQU $2001; indirizzo di TERMINAL registro Stato-Controllo
JSR DVAIN; inizializza PIA porto A
JSR DVBOUT; inizializza PIA porto B
JSR DVTER; inizializza terminal
MOVE.W SR,D0; legge il registro di stato
ANDI.W #$D8FF,D0; maschera per reg stato (stato utente, int abilitati)
MOVE.W D0,SR; pone liv int a 000
LOOP JMP LOOP; ciclo caldo dove il processore attende interrupt
Inizializzazione della PIA: porto A
CRA |0 |0 |1 0 0 |1 |0 1|
| | |__Controllo CA1: interruzioni abilitate su IRQA, CA1 sensibile al fronte 1->0
| |
| |______Accesso a DRA: il prossimo accesso ad indirizzo pari è per PRA
-
Comunicazione politica
-
Comunicazione - Semiotica
-
Comunicazione, Etologia
-
Comunicazione internazionale