Advertisement
Heretiiik

text.asm

Apr 25th, 2016
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ; definice pro nas typ procesoru
  2. .include "m169def.inc"
  3. ; podprogramy pro praci s displejem
  4. .org 0x1000
  5. .include "print.inc"
  6.  
  7.  
  8. .org 0x0500
  9. str: .db "      PRILIS ZLUTOUCKY KUN UPEL DABELSKE ODY     ",0
  10. ;str: .db "      AHOJ.      ",0
  11.  
  12.  
  13. ; Zacatek programu - po resetu
  14. .org 0
  15. jmp start
  16.  
  17. ; Zacatek programu - hlavni program
  18. .org 0x100
  19. start:
  20.     ; Inicializace zasobniku
  21.     ldi r16, 0xFF
  22.     out SPL, r16
  23.     ldi r16, 0x04
  24.     out SPH, r16
  25.     ; Inicializace displeje
  26.     call init_disp
  27.  
  28.     ; *** ZDE muzeme psat nase instrukce
  29. begin:
  30.     ldi r30, low(2*str)     ;zacatek stringu
  31.     ldi r31, high(2*str)    ;konec stringu
  32.  
  33.     ldi r28, low(2*str)     ;zacatek stringu
  34.     ldi r29, high(2*str)    ;konec stringu
  35.  
  36.     ld r16, Y               ; kontrola posledniho bajtu
  37. infinity:
  38.     call draw               ; vykreslime znaky
  39.     cpi r16, 0x0            ; kontrola null na konci
  40.     breq begin              ; konec stringu, zpet na zacatek
  41.     ;call wait              ; pauza
  42.     ld r16, Y+              ; posuneme se o znak
  43.     movw r30, r28           ;
  44.  
  45.     jmp infinity   
  46.  
  47. end:  
  48.  
  49.     ; Zastavime program - nekonecna smycka
  50.     rjmp PC
  51.  
  52. draw:
  53.     ldi r17, 1
  54.     ldi r18, 7
  55. cycle:
  56.     lpm r16, Z+
  57.     inc r17
  58.     call show_char
  59.     cpse r17, r18
  60.     jmp cycle
  61.     ret
  62.  
  63. wait:
  64.     ldi r22, 100
  65. cek3:
  66.     nop
  67.     nop
  68.     nop
  69.     nop
  70.     nop
  71.     nop
  72.     nop
  73.     nop
  74.     nop
  75.     ldi r21, 100
  76. cek2:
  77.     nop
  78.     nop
  79.     nop
  80.     nop
  81.     nop
  82.     nop
  83.     nop
  84.     nop
  85.     nop
  86.     ldi r20, 100
  87. cek:
  88.     nop
  89.     nop
  90.     nop
  91.     nop
  92.     nop
  93.     nop
  94.     nop
  95.     nop
  96.     nop
  97.     dec r20
  98.     brne cek
  99.     dec r21
  100.     brne cek2
  101.     dec r22
  102.     brne cek3
  103.     ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement