Advertisement
heavenriver

ExEsame1.asm

Jun 13th, 2012
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ;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.
  2. ;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.
  3.  
  4. ;Progettare:
  5. ;Il SCA dell’interfaccia tra DMAC e PD32;
  6. ;Il software di attivazione per il trasferimento e di gestione dell’interruzione di DMAC. >>
  7.  
  8. INIT:
  9.  
  10. push r0
  11. push r1
  12. movl array, r0
  13. movb (r0), r1
  14. outb r1, W_LENGTH
  15. movl 1(r0), r1
  16. outl r1, CAR_TAPE
  17. movl 5(r0), r1
  18. outl r1, CAR_CD
  19. movl 9(r0), r1
  20. outl r1, WC
  21. start DMAC
  22. pop r1
  23. pop r0
  24. ret
  25.  
  26. DRIVER 1, 500h
  27.  
  28. clear DMAC
  29. rti
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement