vuoi
o PayPal
tutte le volte che vuoi
Programma di prova del dispositivo PIC
Viene presentata una configurazione composta da un dispositivo M68000, un bus/memoria, un PIC e un generatore di interruzione/timer 1TO4INTGEN.
Il PIC genera interruzioni con vettore posizionato all'indirizzo base $40=64 a cui si somma uno spiazzamento di valore 1-8 a seconda delle linee di interruzione interrompenti.
NAME Prova PIC ;tale direttiva non e' allo stato supportata dall'assemblatore
ter EQU $2000 indirizzo base associato al dispositivo TERMINAL
terintg1 EQU $2004 indirizzo base associato al primo dispositivo 1TO4INTGEN
pic EQU $202C indirizzo base associato al dispositivo PIC
**Area Programmi*
ORG $A000begin
codice di inizializzazione degli indirizzi base dei 4 device utilizzati
MOVEA.W #pic,A0 memorizza la base degli indirizzi dei device utilizzati
#intg1,A1 nei registri A0, A1, A3
MOVEA.W #ter,A3
MOVE.B #$40,1(A0) inserisce nel registro TR del PIC il vector number 64
MOVE.B #%00111100,1(A3) inizializza il terminale: abil. eco e tastiera, pulisci buffer, canc video e disab. interrupt
MOVE.B #$10,(A0) set in PIC AEOI=1 per il reset automatico del bit di isr dopo la trasmissione dell'interruzione
MOVE.B #$00,1(A0) setta il registro IMR del pic abilitando tutte le interruzioni
Inizializzazione sistema
MOVE.L #$9000,A7 inizializza stack supervisor
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
MOVE.L #$9500,A7 inizializza stack utente
Inizializzazione registri timer 1
MOVE.B #$11,4(A1) inizializza pr=2; linea=1