Advertisement
Guest User

Esempio di codice per il lampeggio di led per Motorola 68k

a guest
Aug 17th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. * Descrizione programma: Programma per far lampeggiare dei led su sistema basato su Motorola 68008
  2. * Autore:                iostream (reboot.ms)
  3. START   ORG $1000                           * Inizia il programma al quarto kilobyte
  4.         * Creiamo un pattern in cui i led si accendono uno alla volta per poi incontrarsi al centro e accendersi tutti
  5.         MOVE.B  #$FF,   OUTPUT              * 1111 1111
  6.         BSR     WAIT                        * Esegui una pausa
  7.         MOVE.B  #$81,   OUTPUT              * 1000 0001
  8.         BSR     WAIT
  9.         MOVE.B  #$42,   OUTPUT              * 0100 0010
  10.         BSR     WAIT
  11.         MOVE.B  #$24,   OUTPUT              * 0010 0100
  12.         BSR     WAIT
  13.         MOVE.B  #$18,   OUTPUT              * 0001 1000
  14.         BSR     WAIT
  15.  
  16.         JMP     START                       * Ritorna all'inizio
  17.  
  18. ***********************************************************************
  19. * Funzione che esegue una pausa                                       *
  20. * Funzionamento: mette un numero in D0 e lo decrementa finché non è 0 *
  21. ***********************************************************************
  22. WAIT:   MOVE.L  #DELAY, D0                  * Carica il valore 'DELAY' in D0
  23. _WLOOP: SUBI.L  #1,     D0                  * [Loop per aspettare] Sottrai uno a D0
  24.         CMPI.L  #0,     D0                  * Compara 0 a D0
  25.         JNE     _DLOOP                      * Se non è uguale, ritorna all'inizio del loop
  26.         RTS                                 * Altrimenti ritorna alla funzione principale
  27.  
  28.         SIMHALT                             * Istruzione necessaria ad EASy68k per terminare il simulatore
  29.  
  30. * Variabili e costanti
  31. OUTPUT  EQU $60000                          * Porta di output
  32. DELAY   EQU 50000                           * Il valore di delay è 70000
  33.  
  34.     END START
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement