********************************************************************************
*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.
*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 interagi-
*scono con i rispettivi processori mediante le linee di interruzione. In particolare il dato
*immesso da tastiera e' 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 e' gestito mediante interruzione. All'arrivo dell'interrupt la
*ISR lo acquisisce e lo invia al terminal per la visualizzazione.L'interruzione e' associata
*all'interrupt di liv. 3, #vect 27 mappato a $6C della ROM con ISR a $8700.
********************************************************************************
* PIA1 PIA2
* ______ _______
* CA1 |<---------| CB2
* CA2 |--------->| CB1
* ______|<==== |_______
* CB1 |<---------| CA2
* CB2 |--------->| CA1
* ______| ====>|_______
*
********************************************************************************
* NAME communic ;tale direttiva non e' 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