home *** CD-ROM | disk | FTP | other *** search
/ World of A1200 / World_Of_A1200.iso / programs / develop / hc11dev / hcs / simpleled_2.s < prev   
Text File  |  1995-02-27  |  2KB  |  73 lines

  1. *    $VER: SimpleLED_2_Source 1.0 (21-Oct-93)
  2.  
  3. *    *****************************************
  4. *    * SimpleLED_2.s v1.0            *
  5. *    * Copyright © 1993, Richard Karlsson    *
  6. *    *                    *
  7. *    * Klövergränd 4                *
  8. *    * SF-22100 Mariehamn            *
  9. *    * Finland                *
  10. *    *                    *
  11. *    * Ph. +358-28-22441            *
  12. *    *****************************************
  13.  
  14. * This program will make a nice moving pattern of two lit LEDs
  15. * traveling the oposite directions on PORTB. See theSimpleLED_1.s
  16. * source for more info on how to set up the LEDs.
  17.  
  18. * Read the comments for SimpleLED_1.s before trying this example.
  19.  
  20. RAM        =    0
  21. EEPROM        =    $b600
  22. RegBase        =    $1000
  23.  
  24.     Include    "HcInclude:A8Regs.i"
  25.  
  26.     org    RAM
  27.  
  28. Left        rmb    1    ; Leave one byte room for "Left" and
  29. Right        rmb    1    ; "Right". Here the two LEDs positions
  30.                 ; are stored.
  31.  
  32.     org    EEPROM
  33.  
  34.     ldaa    #1        ; Set start position for the LED
  35.     staa    Left        ; travelling left.
  36.     ldaa    #1<<7        ; And the start position for the other
  37.     staa    Right        ; one.
  38. Main
  39.     ldaa    Left        ; Logic OR the Left and Right LEDs
  40.     oraa    Right        ; together to make a single pattern
  41.     staa    PORTB        ; at PORTB
  42.  
  43.     ldaa    Left        ; Move the LED travelling left one
  44.     rola            ; position to the left. If it comes
  45.     ldaa    Left        ; to the end of the port it will start
  46.     rola            ; over from the beginning.
  47.     staa    Left
  48.  
  49.     ldaa    Right        ; And move the other LED.
  50.     rora
  51.     ldaa    Right
  52.     rora
  53.     staa    Right
  54.  
  55.     bsr    HumaneDelay    ; Wait a while so that you can see the
  56.                 ; pattern.
  57.     bra    Main        ; And start over.
  58.  
  59. HumaneDelay
  60. * Wait while the processor is couting to 300000.
  61.  
  62. * Trashes Index register X and Y.
  63.  
  64.     ldx    #5
  65. HD_Outer
  66.     ldy    #60000
  67. HD_Inner
  68.     dey
  69.     bne    HD_Inner
  70.     dex
  71.     bne    HD_Outer
  72.     rts
  73.