8085 Modalità di indirizzamento e interruzioni
Parliamo ora delle modalità di indirizzamento nel microprocessore 8085.
Modalità di indirizzamento nell'8085
Queste sono le istruzioni utilizzate per trasferire i dati da un registro a un altro registro, dalla memoria al registro, e dal registro alla memoria senza alcuna alterazione del contenuto. Le modalità di indirizzamento in 8085 sono classificate in 5 gruppi:
Modalità di indirizzamento immediato
In questa modalità, i dati a 8/16 bit sono specificati nell'istruzione stessa come uno dei suoi operandi. For example: MVI K, 20F: significa che 20F viene copiato nel registro K.
Registra la modalità di indirizzamento
In questa modalità, i dati vengono copiati da un registro all'altro. For example: MOV K, B: significa che i dati nel registro B vengono copiati nel registro K.
Modalità di indirizzamento diretto
In questa modalità, i dati vengono copiati direttamente dall'indirizzo specificato nel registro. For example: LDB 5000K: significa che i dati all'indirizzo 5000K vengono copiati nel registro B.
Modalità di indirizzamento indiretto
In questa modalità, i dati vengono trasferiti da un registro all'altro utilizzando l'indirizzo puntato dal registro. For example: MOV K, B: significa che i dati vengono trasferiti dall'indirizzo di memoria puntato dal registro al registro K.
Modalità di indirizzamento implicito
Questa modalità non richiede alcun operando; i dati sono specificati dal codice operativo stesso.For example: CMP.
Si interrompe nell'8085
Gli interrupt sono i segnali generati dai dispositivi esterni per richiedere al microprocessore di eseguire un'attività. Ci sono 5 segnali di interrupt, cioè TRAP, RST 7.5, RST 6.5, RST 5.5 e INTR.
Gli interrupt sono classificati nei seguenti gruppi in base al loro parametro:
Vector interrupt - In questo tipo di interrupt, l'indirizzo dell'interrupt è noto al processore. For example: RST7.5, RST6.5, RST5.5, TRAP.
Non-Vector interrupt - In questo tipo di interrupt, l'indirizzo di interrupt non è noto al processore, quindi l'indirizzo di interrupt deve essere inviato esternamente dal dispositivo per eseguire gli interrupt. For example: INTR.
Maskable interrupt - In questo tipo di interrupt, possiamo disabilitare l'interrupt scrivendo alcune istruzioni nel programma. For example: RST7.5, RST6.5, RST5.5.
Non-Maskable interrupt - In questo tipo di interrupt, non possiamo disabilitare l'interrupt scrivendo alcune istruzioni nel programma. For example: TRAPPOLA.
Software interrupt- In questo tipo di interrupt, il programmatore deve aggiungere le istruzioni nel programma per eseguire l'interrupt. Ci sono 8 interrupt software nell'8085, cioè RST0, RST1, RST2, RST3, RST4, RST5, RST6 e RST7.
Hardware interrupt - Ci sono 5 pin di interrupt nell'8085 usati come interrupt hardware, cioè TRAP, RST7.5, RST6.5, RST5.5, INTA.
Note- NTA non è un interrupt, viene utilizzato dal microprocessore per l'invio del riconoscimento. TRAP ha la priorità più alta, quindi RST7.5 e così via.
Interrupt Service Routine (ISR)
Un piccolo programma o una routine che, una volta eseguita, serve la corrispondente sorgente di interruzione è chiamata ISR.
TRAPPOLA
È un interrupt non mascherabile, con la massima priorità tra tutti gli interrupt. Per impostazione predefinita, è abilitato fino a quando non viene riconosciuto. In caso di guasto, viene eseguito come ISR e invia i dati alla memoria di backup. Questo interrupt trasferisce il controllo alla posizione 0024H.
RST7.5
È un interrupt mascherabile, con la seconda priorità più alta tra tutti gli interrupt. Quando viene eseguito questo interrupt, il processore salva il contenuto del registro del PC nello stack e si dirama all'indirizzo 003CH.
RST 6.5
È un interrupt mascherabile, con la terza priorità più alta tra tutti gli interrupt. Quando viene eseguito questo interrupt, il processore salva il contenuto del registro del PC nello stack e si dirama all'indirizzo 0034H.
RST 5.5
È un'interruzione mascherabile. Quando viene eseguito questo interrupt, il processore salva il contenuto del registro del PC nello stack e si dirama all'indirizzo 002CH.
INTR
È un interrupt mascherabile, con la priorità più bassa tra tutti gli interrupt. Può essere disabilitato resettando il microprocessore.
quando INTR signal goes high, possono verificarsi i seguenti eventi:
Il microprocessore controlla lo stato del segnale INTR durante l'esecuzione di ogni istruzione.
Quando il segnale INTR è alto, il microprocessore completa la sua istruzione corrente e invia il segnale di riconoscimento interrupt basso attivo.
Quando le istruzioni vengono ricevute, il microprocessore salva l'indirizzo dell'istruzione successiva nello stack ed esegue l'istruzione ricevuta.