Advertisement
Guest User

Untitled

a guest
Nov 13th, 2018
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.         AREA    MAIN_CODE, CODE, READONLY
  2.         GET     LPC213x.s
  3.        
  4.         ENTRY
  5. __main
  6. __use_two_region_memory
  7.         EXPORT          __main
  8.         EXPORT          __use_two_region_memory
  9.            
  10. Digit_0 RN R8
  11. Digit_1 RN R9
  12. Digit_2 RN R10
  13. Digit_3 RN R11
  14. Curr_Dig RN R12
  15.  
  16.         ldr             r4, =IODIR0
  17.         ldr             r5, =0xF0000
  18.         str             r5, [r4]
  19.        
  20.         ldr             r4, =IODIR1
  21.         ldr             r5, =0xFF0000
  22.         str             r5, [r4]
  23.        
  24.         ldr Digit_0,=0
  25.         ldr Digit_1,=0
  26.         ldr Digit_2,=0
  27.         ldr Digit_3,=0
  28.         ldr Curr_Dig,=0
  29.        
  30. main_loop
  31.         ldr             r4, =IOCLR0
  32.         ldr             r5, =0xF0000
  33.         str             r5, [r4]
  34.        
  35.         ldr             r4, =IOSET0
  36.         ldr             r5, =0x80000
  37.         lsr             r5,Curr_Dig
  38.         str             r5, [r4]
  39.        
  40.         cmp Curr_Dig,#0
  41.         moveq r6,Digit_0
  42.         cmp Curr_Dig,#1
  43.         moveq r6,Digit_1
  44.         cmp Curr_Dig,#2
  45.         moveq r6,Digit_2
  46.         cmp Curr_Dig,#3
  47.         moveq r6,Digit_3
  48.        
  49.         adr r4,TABLE
  50.         ldrb r6,[r4,r6]
  51.         lsl r6,#16
  52.        
  53.         ldr             r4, =IOCLR1
  54.         ldr             r5, =0xFF0000
  55.         str             r5, [r4]
  56.        
  57.         ldr             r4, =IOSET1
  58.         str             r6, [r4]
  59.        
  60.         add Digit_0,#1
  61.         cmp Digit_0,#10
  62.         eoreq Digit_0,Digit_0
  63.        
  64.         addeq Digit_1,#1
  65.         cmp Digit_1,#10
  66.         eoreq Digit_1,Digit_1
  67.        
  68.         addeq Digit_2,#1
  69.         cmp Digit_2,#10
  70.         eoreq Digit_2,Digit_2
  71.        
  72.         addeq Digit_3,#1
  73.         cmp Digit_3,#10
  74.         eoreq Digit_3,Digit_3
  75.        
  76.        
  77.        
  78.         add Curr_Dig,#1
  79.         cmp Curr_Dig,#4
  80.         eoreq Curr_Dig,Curr_Dig
  81.        
  82.         ldr r0,=5
  83.         bl Delay
  84.         b               main_loop
  85.        
  86. Delay
  87.         ldr r4,=15000
  88.         mul r0,r4,r0
  89.        
  90. Loop   
  91.         subs r0,#1
  92.         bne Loop
  93.        
  94.         bx lr
  95. TABLE
  96.         DCB 0x3f,0x06,0x5B,0x4F,0x66,0x6d,0x7D,0x07,0x7f,0x6f
  97.         END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement