Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;Sia TAPE una periferica di gestione di nastri magnetici in grado di acquisire/fornire dati a 8 bit, e sia CD una periferica di masterizzazione in grado di acquisire dati a 8/16/32 bit. TAPE è indirizzabile tramite 32 bit ed è visibile ad un DMAC interfacciato al processore PD32. CD è anch’essa indirizzabile tramite 32 bit e visibile allo stesso DMAC.
- ;Il DMAC deve poter supportare operazioni di trasferimento dati da TAPE verso CD. La programmazione di DMAC per il trasferimento avviene tramite una opportuna routine di inizializzazione che utilizza 4 informazioni memorizzate in un buffer di memoria di 13 byte ad indirizzo 0AAAh. Dei 13 byte, il primo identifica il codice operativo per il trasferimento (ovvero se il trasferimento verso CD deve avvenire al byte, alla word o alla longword), i rimanenti byte, a gruppi di quattro identificano rispettivamente: l’indirizzo di TAPE, l’indirizzo di CD e la quantità di byte coinvolti nel trasferimento. Si ipotizzi che al termine del trasferimento il DMAC avverte il processore tramite interruzione.
- ;Progettare:
- ;Il SCA dell’interfaccia tra DMAC e PD32;
- ;Il software di attivazione per il trasferimento e di gestione dell’interruzione di DMAC. >>
- INIT:
- push r0
- push r1
- movl array, r0
- movb (r0), r1
- outb r1, W_LENGTH
- movl 1(r0), r1
- outl r1, CAR_TAPE
- movl 5(r0), r1
- outl r1, CAR_CD
- movl 9(r0), r1
- outl r1, WC
- start DMAC
- pop r1
- pop r0
- ret
- DRIVER 1, 500h
- clear DMAC
- rti
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement