Advertisement
istomina_sofia

QQQ

May 25th, 2022
985
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.23 KB | None | 0 0
  1. .include "tn2313def.inc"
  2.  
  3. .def tmp = r16
  4. .def coc = r17
  5. .def vih = r18
  6. .def tempo = r19
  7. .def pir = r22
  8. .def pur = r23
  9. .def par = r20
  10. .def Y = r29
  11. .def X = r21
  12. .def W = r26
  13. .def prg1 = r24
  14. .def prg2 = r25
  15. .def adr2 = r27
  16. .def aur = r15
  17. .def adr = r0
  18.  
  19. .cseg
  20. .org 0
  21.  
  22. rjmp RESET
  23. nop
  24. nop
  25. nop
  26. rjmp TIME_1
  27. rjmp TIME_0
  28. nop
  29. nop
  30.  
  31. .org 20
  32.  
  33. RESET:clr tmp
  34.       out DDRB, tmp
  35.       out PORTB, tmp
  36.       wdr
  37.  
  38. clr coc
  39. ldi coc, $06
  40. out TIMSK, coc
  41. ldi coc, $06
  42. out TIFR, coc
  43. ldi coc, 3
  44. out TCCR0, coc
  45. ldi coc, $ff-35
  46. out TCNT0, coc
  47.  
  48. clr coc
  49. ldi coc, $0E
  50. out TCCR1, coc
  51. ldi coc, $00
  52. out TCNT1, coc
  53.  
  54. nStart: nop
  55.        clr coc
  56.        ldi coc, $0F
  57.        out DDRB, coc
  58.        nop
  59.        ldi par, $0F
  60.        clr tmp
  61.        clr pir
  62.        clr pur
  63.        clr prg1
  64.        clr prg2
  65.        clr r14
  66.        sei
  67. rec: nop
  68.  
  69. mov prg1, r14
  70. cpi prg1, $7B
  71. brne jup
  72. clr r14
  73.  
  74. rcall TIMEW
  75. rjmp jup
  76.  
  77. mov prg1, r13
  78. cpi prg1, $9B
  79. brne jup
  80. clr r13
  81.  
  82. rcall DUP
  83. jup: nop
  84. sei
  85. rjmp rec
  86.  
  87. Dup: clr vih
  88.     rcall zader
  89.     nop
  90.     rcall zader
  91.     nop
  92.     nop
  93.     clz
  94.  
  95. inc tempo
  96. in vih, PORTB
  97. andi vih, $10
  98. cpi vih, $00
  99. brne Dup
  100. inc tmp
  101. cpi tmp, $05
  102. brbs 1, prod
  103.  
  104. cpi tempo, $0A
  105. brbc 1, kon
  106. clr tmp
  107. clr tempo
  108. rjmp dup
  109. nop
  110. kon: nop
  111. ret
  112.  
  113. prod:nop
  114. clz
  115. clr tempo
  116. clr tmp
  117. inc pir
  118. nop
  119.  
  120. cpi pir, $09
  121. brbs 1, razr
  122. rjmp kon
  123. razr: nop
  124. clz
  125. inc pur
  126.  
  127. cpi pur, $09
  128. brbs 1, sbr
  129. rjmp kon
  130. sbr: nop
  131. clz
  132. clr pir
  133. clr pur
  134. rjmp kon
  135.  
  136. zader: nop
  137. wdr
  138. nop
  139. clr X
  140. nop
  141. clr Y
  142. nop
  143. ldi X, $0A
  144. dv: nop
  145. wdr
  146. mov Y, par
  147. dx: dec Y
  148. brne dx
  149. dec X
  150. brne dv
  151. ret
  152.  
  153. TIME_0: wdr
  154.        cli
  155.        clr prg1
  156.        ldi prg1, $7B
  157.        mov r14, prg1
  158.        reti
  159. TIME_1: wdr
  160.        cli
  161.        clr prg1
  162.        ldi prg1, $9B
  163.        mov r13, prg1
  164.        reti
  165.  
  166. TIMEW: nop
  167.       wdr
  168.       cli
  169.       mov r9, tempo
  170.       mov r1, tmp
  171.       mov r2, pir
  172.       mov r3, pur
  173.       mov r4, adr
  174.       mov r5, x
  175.       mov r6, y
  176.       mov r8, par
  177.       mov par, r2
  178.       clr prg2
  179.       ldi adr2, $37
  180.       rcall opros
  181.       rcall zader
  182.       ldi coc, $00
  183.       out TCNT0, coc
  184.       clr prg2
  185.       mov par, r3
  186.       ldi adr2, $3F
  187.       rcall opros
  188.       rcall zader
  189.       ldi adr2, $37
  190.       rcall sbros
  191.       mov tempo, r9
  192.       mov tmp, r1
  193.       mov pir, r2
  194.       mov pur, r3
  195.       mov adr, r4
  196.       mov x, r5
  197.       mov y, r6
  198.       mov par, r8
  199.       ldi coc, $ff-45
  200.       out TCNT0, coc
  201.       sei
  202.       ret
  203.  
  204. opros: cli
  205.       nop
  206.       clz
  207.       mov r7, par
  208.       ldi prg2, $00
  209.       ldi r31, high(2*cod)
  210.       ldi r30, Low(2*cod)
  211.       mov W, par
  212.       cpi W, 0
  213.       brbs 1, hod
  214. ist: nop
  215.     brbs 1, hod
  216.     ldi tmp, $0A
  217.     add r30, tmp
  218.     dec par
  219.     rjmp ist
  220.  
  221. hod: clz
  222.     mov r12, r30
  223. xod: mov r30, r12
  224.     cpi prg2, $09
  225.     breq nasv
  226.     add r30, prg2
  227.     LPM
  228.     and adr, adr2
  229.     clr aur
  230.     inc aur
  231.     cpi adr2, $3F
  232.     brne kv
  233.     mov r10, tmp
  234.     mov tmp, aur
  235.     ori tmp, $08
  236.     mov aur, tmp
  237.     mov tmp, r10
  238. kv: nop
  239.     out PORTB, aur
  240.     nop
  241.     nop
  242.     out PORTB, adr
  243.     nop
  244.     nop
  245.     nop
  246.     nop
  247.     nop
  248.     nop
  249.     nop
  250.     nop
  251.     out PORTB, aur
  252.     nop
  253.     nop
  254.     inc prg2
  255.     rjmp xod
  256. nasv: mov par, r7
  257.      clr pir
  258.      clr adr
  259.      ret
  260.  
  261. sbros: cli
  262.       nop
  263.       clz
  264.       mov r7, par
  265.       ldi par, $0A
  266.       ldi prg2, $00
  267.       ldi r31, high(2*cod)
  268.       ldi r30, Low(2*cod)
  269.       mov W, par
  270.       cpi W, 0
  271.       brbs 1, hod1
  272. ist1: nop
  273.      brbs 1, hod1
  274.      ldi tmp, $0A
  275.      add r30, tmp
  276.      dec par
  277.      rjmp ist1
  278.  
  279. hod1: clz
  280.      mov r12, r30
  281. dd: nop
  282.    mov r30, r12
  283.    cpi prg2, $09
  284.    breq nasvt
  285.    add r30, prg2
  286.    LPM
  287.    and adr, adr2
  288.    clr aur
  289.    inc aur
  290.    out PORTB, aur
  291.    nop
  292.    nop
  293.    out PORTB, adr
  294.    nop
  295.    nop
  296.    nop
  297.    nop 
  298.    nop
  299.    nop
  300.    nop
  301.    nop
  302.    out PORTB, aur
  303.    nop
  304.    nop
  305.    inc prg2
  306.    rjmp dd
  307. nasvt: mov par, r7
  308.      clr pir
  309.      clr adr
  310.      ret
  311.  
  312. .org $190
  313. cod:
  314. .DB $3A, $3B, $3B, $3B, $3B, $3B, $3B, $3F
  315. .DB $3F
  316. cod1:
  317. .DB $3A, $3F, $3B, $3B, $3F, $3F, $3F, $3F
  318. .DB $3F
  319. cod2:
  320. .DB $3A, $3B, $3B, $3F, $3B, $3B, $3F, $3B
  321. .DB $3F
  322. cod3:
  323. .DB $3A, $3B, $3B, $3B, $3B, $3F, $3F, $3B
  324. .DB $3F
  325. cod4:
  326. .DB $3A, $3F, $3B, $3B, $3F, $3F, $3B, $3B
  327. .DB $3F
  328. cod5:
  329. .DB $3A, $3B, $3F, $3B, $3B, $3F, $3B, $3B
  330. .DB $3F
  331. cod6:
  332. .DB $3A, $3B, $3F, $3B, $3B, $3B, $3B, $3B
  333. .DB $3F
  334. cod7:
  335. .DB $3A, $3B, $3B, $3B, $3F, $3F, $3F, $3F
  336. .DB $3F
  337. cod8:
  338. .DB $3A, $3B, $3B, $3B, $3B, $3B, $3B, $3B
  339. .DB $3F
  340. cod9:
  341. .DB $3A, $3B, $3B, $3B, $3B, $3F, $3B, $3B
  342. .DB $3F
  343. codR:
  344. .DB $3A, $3F, $3F, $3F, $3F, $3F, $3F, $3F
  345. .DB $3F
  346.  
  347. .EXIT
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement