Advertisement
Guest User

Untitled

a guest
May 15th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ;out 1 -> volba dispeja
  2. ;out 2 -> volba segmentu
  3. ;inn 0xb -> aktivovany 1. riadok
  4. ;inn 0x7 -> aktivovany 2. riadok
  5.  
  6. ;specialna pamat:
  7. ; adresa 88 -> bajt, či sa ma pocitat postupnost
  8. ; adresa 96 -> pocitadlo cisel postupnosti
  9. ;adresa 232 -> bool zobrazenie cisel
  10. ;nacitanie znakov cisel do specialnej pamate
  11.  
  12. ;       hgfedcba
  13. ;0:   11000000  192
  14. ;1:   11111001   249
  15. ;2:   10100100  164
  16. ;3:   10110000   176   
  17. ;4:   10011001  153
  18. ;5:   10010010   146
  19. ;6:   10000010   130
  20. ;7:   11111000   248
  21. ;8:   10000000   128
  22. ;9:   10010000   144
  23. ; ULOZENIE segmentov do pamate
  24. ;___________________
  25. mvi d,192
  26. mvi a,120
  27. str a,d
  28.  
  29. mvi d,249
  30. mvi a,128
  31. str a,d
  32.  
  33. mvi d,164
  34. mvi a,136
  35. str a,d
  36.  
  37. mvi d,176
  38. mvi a,144
  39. str a,d
  40.  
  41. mvi d,153
  42. mvi a,152
  43. str a,d
  44.  
  45. mvi d,146
  46. mvi a,160
  47. str a,d
  48.  
  49. mvi d,130
  50. mvi a,168
  51. str a,d
  52.  
  53. mvi d,248
  54. mvi a,176
  55. str a,d
  56.  
  57. mvi d,128
  58. mvi a,184
  59. str a,d
  60.  
  61. mvi d,144
  62. mvi a,192
  63. str a,d
  64.  
  65. mvi d,0
  66. mvi a,200
  67. str a,d
  68. mvi d,0
  69. mvi a,208
  70. str a,d
  71. mvi d,0
  72. mvi a,216
  73. str a,d
  74.  
  75. mvi d,2
  76. mvi a,96
  77. str a,d
  78.  
  79.     mvi d,255
  80.     mvi a,232
  81.     str a,d ; zobrazenie vypnute
  82.  
  83.  
  84. ;ulozenie nulovania vrchnych 4 bitov do pamate
  85. mvi c,0x0f
  86. mvi a,80
  87. str a,c
  88.  
  89. Start:
  90.  
  91.    
  92.     mvi d,0
  93.     mvi a,96
  94.     str a,d
  95.  
  96.     mvi c,1
  97.     mvi d,0
  98.    
  99. cyklus:
  100.  
  101. pop a;
  102. pop a;
  103.  
  104.  
  105. pus c
  106. pus d
  107. mvi d,88
  108. ldr c,d
  109. cmi c,1
  110. pop d
  111. pop c
  112. jnz Nacitavanie
  113.  
  114. ;pocitanie fibonacciho
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121. mvi a,0
  122.  
  123. Delay:
  124. mvi b,5         ;tu sa sposobi delay aby napocitalo priblizne 1 cislo za sekundu
  125. inc a
  126. cmp a,b
  127. jzr Dalej
  128. jmp VYPIS2
  129. PokracujDELAY:
  130. jmp Delay
  131.  
  132.  
  133. Dalej:
  134.  
  135.  
  136.  
  137.  
  138. mov b,d
  139. add d,c
  140. mov c,b
  141. jmp FIBo
  142. Continue:
  143.  
  144. jcy Start
  145.  
  146. ;ukladanie pocitadla do pamate
  147. pus d
  148. pus c
  149. mvi d,96
  150. ldr c,d
  151. inc c
  152. str d,c
  153. pop c
  154. pop d
  155.  
  156. Nacitavanie:
  157. ;nacitavanie z klavesnice
  158. inn a,0xb
  159. pus c
  160. pus d
  161. mvi d,80
  162. ldr c,d
  163. and a,c
  164. pop c
  165. pop d
  166.  
  167. PrvyRiadok:
  168.     mvi b,14        ;do B si ulozim hodnotu 1. stlpca A-cka po stlaceni tlacidla tak, aby po stlaceni rozdiel A a B bolo 0
  169.     cmp a,b     ;porovnam hodnoty A a B, ak je 0 (nula), tak preskocim na Prepni1 a aktivujem vsetky segmenty prislusneho dispeja
  170.     jzr Prepni1
  171.  
  172.     mvi b,13        ;rovnako ako vyssie
  173.     cmp a,b
  174.     jzr Prepni2
  175.  
  176.     mvi b,11        ;rovnako ako vyssie
  177.     cmp a,b
  178.     jzr Prepni3
  179.  
  180.     mvi b,7     ;rovnako ako vyssie
  181.     cmp a,b
  182.     jzr Prepni4
  183.  
  184. inn a,7
  185. pus c
  186. pus d
  187. mvi d,80
  188. ldr c,d
  189. and a,c
  190. pop c
  191. pop d
  192.  
  193. DruhyRiadok:
  194.  
  195.     mvi b,14        ;do B si ulozim hodnotu 1. stlpca A-cka po stlaceni tlacidla tak, aby po stlaceni rozdiel A a B bolo 0
  196.     cmp a,b     ;porovnam hodnoty A a B, ak je 0 (nula), tak preskocim na Prepni1 a aktivujem vsetky segmenty prislusneho dispeja
  197.     jzr Prepni5
  198.  
  199.     mvi b,13        ;rovnako ako vyssie
  200.     cmp a,b
  201.     jzr Koniec
  202.  
  203.     mvi b,11        ;rovnako ako vyssie
  204.     cmp a,b
  205.     jzr Koniec
  206.  
  207.     mvi b,7     ;rovnako ako vyssie
  208.     cmp a,b
  209.     jzr Koniec
  210.  
  211. jmp Koniec
  212.  
  213. ;-----------------------------------------------------
  214. ;-----------------------------------------------------
  215.  
  216. Prepni1:
  217.     pus d
  218.     mvi d,1
  219.     mvi c,88
  220.     str c,d
  221.     pop d
  222. jmp Start
  223. ;-----------------------------------------------------
  224. Prepni2:
  225.     pus c
  226.     pus d
  227.     mvi d,0
  228.     mvi c,88
  229.     str c,d
  230.     pop d
  231.     pop c
  232. jmp Koniec
  233. ;-----------------------------------------------------
  234. Prepni3:
  235.     pus c
  236.     pus d
  237.     mvi d,1
  238.     mvi c,88
  239.     str c,d
  240.     pop d
  241.     pop c
  242.    
  243.  
  244.  
  245.  
  246. jmp Koniec
  247. ;______________________________
  248. FIBo:
  249.  
  250.  
  251. ;__________
  252. pus a
  253. mov a,d  ;  jednotky
  254. pus b
  255. mvi b,0 ; desiatky
  256. pus c
  257. mvi c,0 ; stovky
  258. ;__________
  259. Cyklus1:
  260. pus a ; --------
  261. SBI a,100
  262. jcy Cyklus2 ; AK su jednotky mensie ako 100
  263. pop a ; -------
  264. sbi a,100 ; odcitaj 100 od jednotiek
  265. inc c ;          stovky++
  266. jmp Cyklus1
  267.  
  268. Cyklus2:
  269. pop a ; ---------
  270. pus a ; -------
  271. SBI a,10  
  272. jcy Hotovo ; ak su jednotky mensie ako 10
  273. pop a; -------
  274. sbi a,10 ; odcitaj 10 od jednotiek
  275. inc b  ; desiatky ++
  276. pus a ; ----------
  277. jmp Cyklus2
  278.  
  279. Hotovo:
  280. pop a ; pocet jednotiek
  281. pus b
  282. mov b,a
  283. pus a
  284. mvi a,200 ;  adresa jednotiek kvoli
  285. str a,b
  286. pop a
  287. pop b
  288.  
  289. ; b desiatky
  290. pus a
  291. mov a,b
  292. pus b
  293. mvi b,208 ; adresa desiatok
  294. str b,a
  295. pop b
  296. pop a
  297. ; c stovky
  298.  
  299. pus a
  300. mov a,c
  301. pus c
  302. mvi c,216 ; adresa stoviek
  303. str c,a
  304. pop c
  305. pop a
  306.  
  307. pus d
  308.  
  309. ;mov d,c
  310. ;adi d,48  ; KVOLI nastaveniu priznakov
  311. ;scall dsp
  312. pop d
  313. pop c
  314. pop b
  315.  
  316.  
  317. pus a
  318. pus b
  319.  
  320.  
  321. mvi a,224
  322. ldr b,a
  323. cmi b,1  ; ak som bol volany z prepni5
  324. pop b
  325. pop a
  326. jzr PokracujPrepni5
  327. ;scall dsp
  328.  
  329.  
  330. pus d
  331.  
  332.  
  333.  
  334. ;mov d,c
  335. adi d,48  ; KVOLI nastaveniu priznakov
  336.  
  337. pop d
  338.  
  339.  
  340. jmp Continue
  341. ;-----------------------------------------------------
  342.  
  343.  
  344. VYPIS2:   ; NA PISANIE POCAS DELAY
  345. pus a
  346. pus b
  347.  
  348. mvi b,232
  349. ldr a,b
  350. cmi a,255
  351. pop b
  352. pop a
  353.  
  354. jzr VYPIS2real
  355. jmp BezVypisu
  356.  
  357.  
  358.  
  359. VYPIS2real:
  360.  
  361. pus a
  362. pus b ;
  363. pus c
  364. pus d
  365.  
  366. mvi d,200
  367. ldr a,d
  368. mvi d,208
  369. ldr b,d
  370. mvi d,216
  371. ldr c,d
  372.  
  373. ;____________________
  374. ; VYPIS STOVIEK:
  375. ;________
  376. pus a
  377. pus b
  378. ;________
  379. mvi a,13   ;len 3 ti displej
  380. out 1,a
  381.  
  382.  
  383. mvi b,120               ;vypocitanie adresy z spec.pamate
  384. shl c,3              ; C SHL 3 bity = C * 8
  385. add b,c
  386. LDR a,b          ; teraz je v A hodnota segmentov
  387. out 2,a
  388. mvi a,255
  389. out 2,a
  390. ;________
  391. pop b
  392. pop a
  393. ;________
  394. ;________________
  395. ;VYPIS DESIATOK:
  396. ;________
  397. pus a
  398. ;________
  399. mvi a,11 ; druhy displej
  400. out 1,a
  401. mvi a,120
  402. shl b,3
  403. add a,b
  404. ldr b,a
  405. out 2,b
  406. mvi a,255
  407. out 2,a
  408. ;________
  409. pop a
  410. ;________
  411. ;__________________
  412. ;VYPIS JEDNOTIEK
  413. mvi b,7
  414. out 1,b  ;prvy displej
  415. mvi b,120
  416. shl a,3
  417. add b,a
  418. ldr a,b
  419. out 2,a
  420. mvi a,255
  421. out 2,a
  422. ;__________
  423. pop d
  424. pop c
  425. pop b
  426. pop a
  427. ;__________
  428.  
  429. BezVypisu:
  430. ;__________
  431. pus a
  432. pus b
  433. ;__________
  434.  
  435. mvi a,224
  436. ldr b,a
  437. cmi b,1  ; ak som bol volany z prepni5
  438. ;__________
  439. pop b
  440. pop a
  441. ;__________
  442. jzr PokracujPrepni51
  443.  
  444.  
  445.  
  446. jmp PokracujDELAY
  447.  
  448. Prepni4:
  449.     pus a
  450.     pus b
  451.     pus c
  452.     pus d
  453.     mvi d,232
  454.     ldr a,d
  455.    
  456.     mvi b,255
  457.     xor a,b
  458.    
  459.     str d,a
  460.  
  461.     pop d
  462.     pop c
  463.     pop b
  464.     pop a
  465.  
  466. jmp Koniec
  467. ;-----------------------------------------------------
  468. Prepni5:  ; VYPIS COUNTER
  469.  
  470.  
  471.  
  472.  
  473. scall dsp
  474.  
  475. ;________
  476. pus b
  477. pus a
  478. ;________
  479. mvi a,224
  480. mvi b,1
  481. str a,b ; "priznak" aby som sa vedel vratit
  482. ;________
  483. pop a
  484. pop b
  485. ;________
  486.  
  487. ;___________
  488. pus d
  489. pus a
  490. ;__________
  491. mvi a,96
  492. ldr d,a  ; do Dcka dam pocitadlo
  493.  
  494. jmp FIBo  ; po tomto by mali byt  na
  495. ;200 jednotky
  496. ;208 desiatky
  497. ;216 stovky
  498.  
  499. PokracujPrepni5:
  500.  
  501.  
  502.  
  503. ;__________
  504. pop a
  505. pop d
  506.  
  507.  
  508. pus a
  509. pus b
  510.  
  511. mvi a,0
  512. mvi b,10
  513.  
  514. DVPS:
  515.  
  516.  
  517. jmp VYPIS2
  518. PokracujPrepni51:
  519. inc a
  520. cmp a,b
  521. jzr DKoniec
  522. jmp DVPS
  523.  
  524. DKoniec:
  525. pop b
  526. pop a
  527.  
  528. ;________
  529. pus b
  530. pus a
  531. ;________
  532. mvi a,224
  533. mvi b,0
  534. str a,b ; "priznak" aby som sa vedel vratit
  535. ;________
  536. pop a
  537. pop b
  538. ;________
  539. jmp Prepni1
  540. Koniec:
  541.  
  542. jmp cyklus
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement