home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 July / Chip_1998-07_cd.bin / ctenari / Labyrint / DATA / FREE / SVATEK.RAR / SVATEK.O3 < prev    next >
Text File  |  1994-09-12  |  20KB  |  802 lines

  1. .model tiny
  2. .code
  3. org 100h
  4.  
  5. start:
  6.        mov ah,2ah                 ; cti systemove datum
  7.        int 21h
  8.                                    ; ulozeni soucasneho data
  9.        mov sden,dl                ; den
  10.        mov smesic,dh              ; mesic
  11.        mov srok,cx                ; rok
  12.                                    ; datum na zjisteni svatku
  13.        mov ndent,al               ; den v tydnu
  14.        mov nden,dl                ; den
  15.        mov nmesic,dh              ; mesic
  16.        mov nrok,cx                ; rok
  17.  
  18.        mov ah,2fh                 ; cti pocatek DTA
  19.        int 21h
  20.  
  21.        mov al,byte ptr es:[bx]    ; al - delka parametru
  22.        cmp al,0                   ; zjisti je-li parametr
  23.        je  preved                  ; neni-li jdi az na prevod
  24.  
  25.                                    ; je-li,tak ho preved na datum
  26. mezery:
  27.        inc bx                      ; posun na prvni znak parametru
  28.        mov dl,byte ptr es:[bx]    ; je-li znak mezera,tak jeste nejsem na datumu
  29.        cmp dl,20h
  30.        je  mezery
  31.  
  32.        sub dl,30h                 ; Ord(znak v dl)
  33.        cmp byte ptr es:[bx+1],'0' ; je-li nasledujici znak >= "0" pak mame den
  34.        jae den2
  35. mesic:
  36.        mov nden,dl                ; nyni mame v nden den
  37.        inc bx
  38.        inc bx                      ; posun na 1 znak mesice
  39.  
  40.  
  41.        mov dh,byte ptr es:[bx]    ; do dh znak na pozici es:[bx]
  42.        sub dh,30h                 ; Ord(znak v dh)
  43.        cmp byte ptr es:[bx+1],'0' ; je-li nasledujici znak >= "0" pak mame mesic
  44.        jae mesic2
  45. rok:
  46.        mov nmesic,dh              ; nyni mame v nmesic mesic
  47.        inc bx
  48.        inc bx                      ; posun na 1 znak roku
  49.  
  50.        and word ptr es:[bx],0CFCFh
  51.        and word ptr es:[bx+2],0CFCFh
  52.  
  53.        mov cl,byte ptr es:[bx]
  54.        xor ch,ch
  55.        mov bp,dx
  56.        mov ax,3e8h
  57.        mul cx                      ; * 1000
  58.        mov cx,ax                  ; v cx nyni prvni cifra roku * 1000
  59.        mov ax,64h
  60.        mul byte ptr es:[bx+1]      ; * 100
  61.        add cx,ax                  ; do cx nyni pridana 2. cifra roku * 100
  62.        mov ax,0ah
  63.        mul byte ptr es:[bx+2]      ; * 10
  64.        add cx,ax                  ; do cx nyni pridana 3. cifra roku * 10
  65.        mov al,byte ptr es:[bx+3]
  66.        xor ah,ah
  67.        add cx,ax                  ; a konecne i posledni cifra
  68.        mov nrok,cx
  69.  
  70.        mov dx,bp
  71.        mov ah,2bh                 ; nastavime systemove datum,
  72.        int 21h                     ; abychom zjistili den v tydnu
  73.  
  74.        cmp al,0ffh
  75.        jne zjisti
  76.        jmp errdat
  77.  
  78. preved:                            ; at ten bordel vali
  79.        mov al,'V'
  80.        call wr_char
  81.  
  82.        mov al,ndent
  83.        cmp al,3
  84.        je  ve
  85.        cmp al,4
  86.        je  ve
  87.        jmp v
  88.  
  89. den2:                              ; neprehledno, ale jump by nebyl near
  90.        mov al,0ah
  91.        mul dl                      ; * 10
  92.        mov dl,al
  93.  
  94.        mov cl,byte ptr es:[bx+1]  ; do cl znak na pozici es:[bx+1]
  95.        sub cl,30h                 ; Ord(znak v cl)
  96.        add dl,cl                  ; 1. cifra * 10 + 2. cifra
  97.        inc bx
  98.        jmp mesic
  99.  
  100. mesic2:
  101.        mov al,0ah
  102.        mul dh                      ; * 10
  103.        mov dh,al
  104.  
  105.        mov cl,byte ptr es:[bx+1]  ; do cl znak na pozici es:[bx+1]
  106.        sub cl,30h                 ; Ord(znak v cl)
  107.        add dh,cl
  108.        inc bx
  109.        jmp rok
  110. zjisti:
  111.        dec ah
  112.        int 21h                     ; zjistime den v tydnu
  113.        mov byte ptr ndent,al      ; a ulozime ho do ndent
  114.  
  115.        jmp zpet
  116.        
  117. ve:
  118.        mov al,'e'
  119.        call wr_char
  120. v:
  121.        mov al,' '
  122.        call wr_char
  123.  
  124.        mov al,ndent
  125.        cmp al,6                   ; sobota
  126.        jl d1
  127.        mov si,offset sobo
  128.        jmp den
  129.  
  130.  
  131.  
  132. zpet:                              ; zase jeden bordel, ale zase kvuli jumpu
  133.        inc ah
  134.        mov dl,sden
  135.        mov dh,smesic
  136.        mov cx,srok
  137.        int 21h                     ; a dame systemove datum pekne nazpet
  138.  
  139.        jmp preved
  140. d1:
  141.        cmp al,5                   ; patek
  142.        jl d2
  143.        mov si,offset pate
  144.        jmp den
  145. d2:
  146.        cmp al,4                   ; ctvrtek
  147.        jl d3
  148.        mov si,offset ctvr
  149.        jmp den
  150. d3:
  151.        cmp al,3                   ; streda
  152.        jl d4
  153.        mov si,offset stre
  154.        jmp den
  155. d4:
  156.        cmp al,2                   ; utery
  157.        jl d5
  158.        mov si,offset uter
  159.        jmp den
  160. d5:
  161.        cmp al,1                   ; pondeli
  162.        jl d6
  163.        mov si,offset pond
  164.        jmp den
  165. d6:
  166.        mov si,offset nede         ; nedele
  167. den:
  168.        xor al,al
  169.        call wr_str
  170.        mov al,' '
  171.        call wr_char
  172.  
  173.        mov dl,nden                ; v dl mame nas den
  174.        mov al,dl
  175.        mov dh,0ah
  176.        xor ah,ah
  177.        div dh                      ; / 10, v al jsou desitky dni
  178.                                    ; v ah zbytek dni
  179.        add ax,3030h               ; povisime z cisla na znak
  180.        cmp al,30h                 ; byl-li den jednomistny piseme jen jednu cifru
  181.        je  pisden
  182.        call wr_char                ; vypis 1. znak dne
  183. pisden:
  184.        mov al,ah
  185.        call wr_char                ; vypis 2. znaku dne
  186.        
  187.        mov al,'.'
  188.        call wr_char                ; vypise tecku
  189.        mov al,' '
  190.        call wr_char                ; vypise tecku
  191.  
  192.        mov ah,9h
  193.        mov al,nmesic              ; v al mam nas mesic
  194.        cmp al,0ch                 ; prosinec
  195.        jl  m1
  196.        mov si,offset pros
  197.        jmp mes
  198. m1:
  199.        cmp al,0bh                 ; listopad
  200.        jl m2
  201.        mov si,offset list
  202.        jmp mes
  203. m2:
  204.        cmp al,0ah                 ; rijen
  205.        jl m3
  206.        mov si,offset rije
  207.        jmp mes
  208. m3:
  209.        cmp al,9                   ; zari
  210.        jl m4
  211.        mov si,offset zari
  212.        jmp mes
  213. m4:
  214.        cmp al,8                   ; srpen
  215.        jl m5
  216.        mov si,offset srpe
  217.        jmp mes
  218. m5:
  219.        cmp al,7                   ; cervenec
  220.        jl m6
  221.        mov si,offset cnec
  222.        jmp mes
  223. m6:
  224.        cmp al,6                   ; cerven
  225.        jl m7
  226.        mov si,offset cerv
  227.        jmp mes
  228. m7:
  229.        cmp al,5                   ; kveten
  230.        jl m8
  231.        mov si,offset kvet
  232.        jmp mes
  233. m8:
  234.        cmp al,4                   ; duben
  235.        jl m9
  236.        mov si,offset dube
  237.        jmp mes
  238. m9:
  239.        cmp al,3                   ; brezen
  240.        jl m10
  241.        mov si,offset brez
  242.        jmp mes
  243. m10:
  244.        cmp al,2                   ; unor
  245.        jl m11
  246.        mov si,offset unor
  247.        jmp mes
  248. m11:
  249.        mov si,offset lede         ; leden
  250. mes:
  251.        mov bp,si
  252.        mov al,[si]
  253.        xor ah,ah
  254.        add bp,ax
  255.        xor al,al
  256.        call wr_str                 ; vypise mesic
  257.        mov al,20h
  258.        call wr_char                ; pridame mezeru
  259.        mov ax,nrok                ; trosku zmatku, ale rok vypsat musim
  260.        mov cx,64h
  261.        xor dx,dx
  262.        div cx                      ; / 100, ziskame 1. a 2. dve cifry
  263.        mov es,dx                  ; do es 1. dve cifry
  264.        aam
  265.        xchg al,ah
  266.        or ax,3030h
  267.        
  268.        call wr_char
  269.        mov  al,ah
  270.        call wr_char                ; a konecne vypiseme
  271.  
  272.        mov ax,es
  273.        aam
  274.        xchg al,ah
  275.        or ax,3030h
  276.  
  277.        call wr_char
  278.        mov  al,ah
  279.        call wr_char                ; a konecne vypiseme zbytek
  280.  
  281.        mov al,0ch                
  282.        xor ah,ah
  283.        mov bl,nden
  284.        dec bl
  285.        mul bl                      ; v ax kolik pripocist k offsetu abych byl dobre
  286.  
  287.        mov si,bp
  288.        inc ax
  289.        add si,ax
  290.        mov al,byte ptr ds:[si]
  291.  
  292.        cmp al,20h
  293.        je  pis_nema                 ; nema nikdo svatek
  294.        cmp al,'*'                  
  295.        jne pis_ma                
  296.        mov si,word ptr ds:[si+10]   ; nepis svatek, ale vyznamny den
  297.        jmp short pis_info
  298. pis_ma:
  299.        push si
  300.        xor al,al
  301.        mov si,offset txt
  302.        call wr_str
  303.        pop si
  304.        mov bx,si
  305.        add bx,0Bh
  306. rtrim:
  307.        cmp byte ptr ds:[bx],' '
  308.        jne tecku
  309.        dec bx
  310.        jmp short rtrim
  311. tecku:
  312.        sub bx,si
  313.        xchg bx,ax
  314.        inc ax
  315.        call wr_str
  316.        mov al,'.'
  317.        call wr_char  
  318.        jmp short pis_vse
  319. pis_nema:
  320.        mov si,offset nema
  321. pis_info:
  322.        xor al,al
  323.        call wr_str
  324. pis_vse:
  325.        call wr_line
  326. konec:
  327.        mov ax,4c00h
  328.        int 21h
  329.  
  330. errdat:
  331.        mov si,offset error
  332.        xor al,al
  333.        call wr_str
  334.        jmp short pis_vse
  335.  
  336. sden   db ?
  337. smesic db ?
  338. srok   dw ?
  339. ndent  db ?
  340. nden   db ?
  341. nmesic db ?
  342. nrok   dw ?
  343. nema   db 19,' nemá nikdo svátek.'
  344. txt    db 11,' má svátek '
  345. error  db 69,13,'Chybn╪ zadané datum (má b∞t nap². 24.2.1994 nebo t²eba 24/06/1994) !'
  346. nede   db 6,'ned╪li'
  347. pond   db 7,'pond╪lí'
  348. uter   db 5,'úter∞'
  349. stre   db 6,'st²edu'
  350. ctvr   db 7,'ƒtvrtek'
  351. pate   db 5,'pátek'
  352. sobo   db 6,'sobotu'
  353.  
  354. lede   db 5,'ledna'
  355.  
  356.        db '*         '   ; novy rok
  357.           dw offset dv_novy
  358.        db 'Karina      '
  359.        db 'Radmila     '
  360.        db 'Diana       '
  361.        db 'Dalimil     '
  362.        db '*         '   ; tri kralove
  363.           dw offset dv_trik
  364.        db 'Vilma       '
  365.        db '¼estmír     '
  366.        db 'Vladan      '
  367.        db 'B²etislav   '
  368.        db 'Bohdana     '
  369.        db 'Pravoslav   '
  370.        db 'Edita       '
  371.        db 'Radovan     '
  372.        db 'Alice       '
  373.        db 'Ctirad      '
  374.        db 'Drahoslav   '
  375.        db 'Vladislav   '
  376.        db 'Doubravka   '
  377.        db 'Ilona       '
  378.        db 'Bela        '
  379.        db 'Slavomír    '
  380.        db 'Zden╪k      '
  381.        db 'Milena      '
  382.        db 'Miloτ       '
  383.        db 'Zora        '
  384.        db 'Ingrid      '
  385.        db 'Ot∞lie      '
  386.        db 'Zdislava    '
  387.        db 'Robin       '
  388.        db 'Marika      '
  389.  
  390. unor   db 5,'února'
  391.  
  392.        db 'Hynek       '
  393.        db 'Nela        '
  394.        db 'Blaºej      '
  395.        db 'Jarmila     '
  396.        db 'Dobromila   '
  397.        db 'Vanda       '
  398.        db 'Veronika    '
  399.        db 'Milada      '
  400.        db 'Apolena     '
  401.        db 'Mojmír      '
  402.        db 'Boºena      '
  403.        db 'Slav╪na     '
  404.        db 'V╪nceslav   '
  405.        db 'Valent∞n    '
  406.        db 'Ji²ina      '
  407.        db 'Ljuba       '
  408.        db 'Miloslava   '
  409.        db 'Gizela      '
  410.        db 'Patrik      '
  411.        db 'Old²ich     '
  412.        db 'Lenka       '
  413.        db 'Petr        '
  414.        db 'Svatopluk   '
  415.        db 'Mat╪j       '
  416.        db '            '
  417.        db 'Dora        '
  418.        db 'Alexandr    '
  419.        db 'Lumír       '
  420.        db 'Albín       '
  421.  
  422. brez   db 6,'b²ezna'
  423.  
  424.        db 'Bed²ich     '
  425.        db 'Aneºka      '
  426.        db 'Kamil       '
  427.        db 'Stela       '
  428.        db 'Kazimír     '
  429.        db 'Miroslav    '
  430.        db 'Tomáτ       '
  431.        db 'Gabriela    '
  432.        db 'Frantiτka   '
  433.        db 'Viktorie    '
  434.        db 'And╪la      '
  435.        db 'Rehor       '
  436.        db 'Ràºena      '
  437.        db 'Matylda     '
  438.        db 'Ida         '
  439.        db 'Amos        '
  440.        db 'Vlastimil   '
  441.        db 'Eduard      '
  442.        db 'Josef       '
  443.        db 'Sv╪tlana    '
  444.        db 'Radek       '
  445.        db 'Leona       '
  446.        db 'Ivona       '
  447.        db 'Gabriel     '
  448.        db 'Marian      '
  449.        db 'Emanuel     '
  450.        db 'Dita        '
  451.        db 'Soσa        '
  452.        db 'Ta£ána      '
  453.        db 'Arnoτt      '
  454.        db 'Kvído       '
  455.  
  456. dube   db 5,'dubna'
  457.  
  458.        db 'Hugo        '
  459.        db 'Erika       '
  460.        db 'Richard     '
  461.        db 'Ivana       '
  462.        db 'Miroslava   '
  463.        db 'Vendula     '
  464.        db 'Herman      '
  465.        db 'Ema         '
  466.        db 'Duτan       '
  467.        db 'Darja       '
  468.        db 'Izabela     '
  469.        db 'Julius      '
  470.        db 'Aleτ        '
  471.        db 'Vincenc     '
  472.        db 'Anastázie   '
  473.        db 'Irena       '
  474.        db 'Rudolf      '
  475.        db 'Valerie     '
  476.        db '            '
  477.        db '            '
  478.        db 'Alexandra   '
  479.        db 'Evºenie     '
  480.        db 'Vojt╪ch     '
  481.        db 'Ji²í        '
  482.        db 'Marek       '
  483.        db 'Oto         '
  484.        db 'Jaroslav    '
  485.        db 'Vlastislav  '
  486.        db 'Robert      '
  487.        db 'Blahoslav   '
  488.  
  489. kvet   db 6,'kv╪tna'
  490.  
  491.        db '            '
  492.        db 'Zikmund     '
  493.        db 'Alexej      '
  494.        db 'Kv╪toslav   '
  495.        db '            '
  496.        db 'Radoslav    '
  497.        db 'Stanislav   '
  498.        db 'Ctibor      '
  499.        db '            '
  500.        db 'Blaºena     '
  501.        db 'Svatava     '
  502.        db 'Pankrác     '
  503.        db 'Servác      '
  504.        db 'Bonifác     '
  505.        db 'ªofie       '
  506.        db 'Premysl     '
  507.        db 'Aneta       '
  508.        db 'Nataτa      '
  509.        db 'Ivo         '
  510.        db 'Zbyτek      '
  511.        db 'Monika      '
  512.        db 'Emil        '
  513.        db 'Vladimír    '
  514.        db 'Jana        '
  515.        db 'Viola       '
  516.        db 'Filip       '
  517.        db 'Valdemar    '
  518.        db 'Vilém       '
  519.        db 'Maxim       '
  520.        db 'Ferdinand   '
  521.        db 'Kamila      '
  522.  
  523. cerv   db 6,'ƒervna'
  524.  
  525.        db 'Laura       '
  526.        db 'Jarmil      '
  527.        db 'Tamara      '
  528.        db 'Dalibor     '
  529.        db 'Dobroslav   '
  530.        db 'Norbert     '
  531.        db 'Iveta       '
  532.        db 'Medard      '
  533.        db 'Stanislava  '
  534.        db 'Gita        '
  535.        db 'Flora       '
  536.        db 'Antonie     '
  537.        db 'Antonín     '
  538.        db 'Vasil       '
  539.        db 'Vít         '
  540.        db 'Zbyn╪k      '
  541.        db 'Adolf       '
  542.        db 'Milan       '
  543.        db 'Leoτ        '
  544.        db 'Kv╪ta       '
  545.        db 'Alois       '
  546.        db 'Pavla       '
  547.        db 'Zdeσka      '
  548.        db 'Jan         '
  549.        db 'Ivan        '
  550.        db 'Adriana     '
  551.        db 'Ladislav    '
  552.        db 'Lubomír     '
  553.        db 'Petr a Pavel'
  554.        db 'µárka       '
  555.  
  556. cnec   db 8,'ƒervence'
  557.  
  558.        db 'Jaroslava   '
  559.        db 'Patricie    '
  560.        db 'Radomír     '
  561.        db 'Prokop      '
  562.        db 'Cyril       '
  563.        db '            '
  564.        db 'Bohuslava   '
  565.        db 'Nora        '
  566.        db 'Drahoslava  '
  567.        db 'Libuτe      '
  568.        db 'Olga        '
  569.        db 'Borek       '
  570.        db 'Markéta     '
  571.        db 'Karolína    '
  572.        db 'Jind²ich    '
  573.        db 'Luboτ       '
  574.        db 'Martina     '
  575.        db 'Drahomíra   '
  576.        db '¼enek       '
  577.        db 'Ilja        '
  578.        db 'Vít╪zslav   '
  579.        db 'Magdalena   '
  580.        db 'Libor       '
  581.        db 'Krist∞na    '
  582.        db 'Jakub       '
  583.        db 'Anna        '
  584.        db 'V╪roslav    '
  585.        db 'Viktor      '
  586.        db 'Marta       '
  587.        db 'Bo²ivoj     '
  588.        db 'Ignác       '
  589.  
  590. srpe   db 5,'srpna'
  591.  
  592.        db 'Oskar       '
  593.        db 'Gustav      '
  594.        db 'Miluτe      '
  595.        db 'Dominik     '
  596.        db 'Milivoj     '
  597.        db 'Old²iτka    '
  598.        db 'Lada        '
  599.        db 'Sob╪slav    '
  600.        db 'Roman       '
  601.        db 'Vav²inec    '
  602.        db 'Zuzana      '
  603.        db 'Klára       '
  604.        db 'Alena       '
  605.        db 'Alan        '
  606.        db 'Hana        '
  607.        db 'Jáchym      '
  608.        db 'Petra       '
  609.        db 'Helena      '
  610.        db 'Ludvík      '
  611.        db 'Bernard     '
  612.        db 'Johana      '
  613.        db 'Bohuslav    '
  614.        db 'Sandra      '
  615.        db 'Bartolom╪j  '
  616.        db 'Radim       '
  617.        db 'Lud╪k       '
  618.        db 'Otakar      '
  619.        db 'August∞n    '
  620.        db '            '
  621.        db 'µt╪pán      '
  622.        db 'Pavlína     '
  623.  
  624. zari   db 4,'zá²í'
  625.  
  626.        db 'Linda       '
  627.        db 'Adela       '
  628.        db 'Bronislav   '
  629.        db 'Jind²iska   '
  630.        db 'Boris       '
  631.        db 'Boleslav    '
  632.        db 'Regina      '
  633.        db 'Mariana     '
  634.        db 'Daniela     '
  635.        db 'Irma        '
  636.        db 'Denisa      '
  637.        db 'Marie       '
  638.        db 'Lubor       '
  639.        db 'Radka       '
  640.        db 'Jolana      '
  641.        db 'Ludmil      '
  642.        db 'Nadeºda     '
  643.        db 'Kryτtof     '
  644.        db 'Zita        '
  645.        db 'Oleg        '
  646.        db 'Matouτ      '
  647.        db 'Darina      '
  648.        db 'Berta       '
  649.        db 'Jaromír     '
  650.        db 'Zlata       '
  651.        db 'Andrea      '
  652.        db 'Jonas       '
  653.        db 'Václav      '
  654.        db 'Michal      '
  655.        db 'Jeron∞m     '
  656.  
  657. rije   db 5,'²íjna'
  658.  
  659.        db 'Igor        '
  660.        db 'Galina      '
  661.        db 'Bohumil     '
  662.        db 'Frantiτek   '
  663.        db 'Eliτka      '
  664.        db 'Hanus       '
  665.        db 'Sergej      '
  666.        db 'V╪ra        '
  667.        db 'µtefan      '
  668.        db 'Marina      '
  669.        db 'Andrej      '
  670.        db 'Marcel      '
  671.        db 'Renata      '
  672.        db '            '
  673.        db 'Tereza      '
  674.        db 'Havel       '
  675.        db 'Hedvika     '
  676.        db 'Lukáτ       '
  677.        db 'Michaela    '
  678.        db 'Vendelín    '
  679.        db 'Brigita     '
  680.        db 'Sabina      '
  681.        db 'Teodor      '
  682.        db 'Nina        '
  683.        db 'Beata       '
  684.        db 'Erik        '
  685.        db 'Zoja        '
  686.        db '            '
  687.        db 'Silvie      '
  688.        db 'Tadeáτ      '
  689.        db 'µt╪pánka    '
  690.  
  691. list   db 9,'listopadu'
  692.  
  693.        db 'Felix       '
  694.        db '            '
  695.        db 'Hubert      '
  696.        db 'Karel       '
  697.        db 'Miriam      '
  698.        db 'Libena      '
  699.        db '            '
  700.        db 'Bohumir     '
  701.        db 'Bohdan      '
  702.        db 'Evºen       '
  703.        db 'Martin      '
  704.        db 'Benedikt    '
  705.        db 'Tibor       '
  706.        db 'Sava        '
  707.        db 'Leopold     '
  708.        db 'Otmar       '
  709.        db 'Mahulena    '
  710.        db 'Romana      '
  711.        db 'Alºb╪ta     '
  712.        db 'Nikola      '
  713.        db 'Albert      '
  714.        db 'Cecílie     '
  715.        db 'Klement     '
  716.        db 'Emilie      '
  717.        db 'Kate²ina    '
  718.        db 'Artur       '
  719.        db 'Xénie       '
  720.        db 'René        '
  721.        db 'Zina        '
  722.        db 'Ond²ej      '
  723.  
  724. pros   db 8,'prosince'
  725.  
  726.        db 'Iva         '
  727.        db 'Blanka      '
  728.        db 'Svatoslav   '
  729.        db 'Barbora     '
  730.        db 'Jitka       '
  731.        db 'Mikuláτ     '
  732.        db 'Anbroz      '
  733.        db 'Kv╪toslava  '
  734.        db 'Vratislav   '
  735.        db 'Julie       '
  736.        db 'Dana        '
  737.        db 'Simona      '
  738.        db 'Lucie       '
  739.        db 'Lydie       '
  740.        db 'Radana      '
  741.        db 'Albina      '
  742.        db 'Daniel      '
  743.        db 'Miloslav    '
  744.        db 'Ester       '
  745.        db 'Dagmar      '
  746.        db 'Natálie     '
  747.        db 'Simon       '
  748.        db 'Vlasta      '
  749.        db 'Adam a Eva  '
  750.        db '*         '          ; 1.svatek vanocni
  751.           dw offset dv_1vano
  752.        db '*         '          ; 2.svatek vanocni
  753.           dw offset dv_2vano
  754.        db 'Zaneta      '
  755.        db 'Bohumila    '
  756.        db 'Judita      '
  757.        db 'David       '
  758.        db 'Silvestr    '
  759.  
  760. dv_novy   db 13,' je Nov∞ rok.'
  761. dv_trik   db 18,' jsou T²i králové.'
  762. dv_1vano  db 22,' je 1. svátek vánoƒní.'
  763. dv_2vano  db 22,' je 2. svátek vánoƒní.'
  764.  
  765. wr_char:
  766.   mov  di,col
  767.   mov  radka[di],al
  768.   inc  di
  769.   mov  col,di
  770.   retn
  771.  
  772. wr_str:
  773.   cld
  774.   or   al,al
  775.   jnz  wr01
  776.   lodsb
  777. wr01:  
  778.   xor  ah,ah
  779.   xchg ax,cx
  780. wr02:
  781.   lodsb
  782.   call wr_char
  783.   loop wr02
  784.   retn
  785.  
  786. wr_line:
  787.   mov  al,13
  788.   call wr_char
  789.   mov  al,10
  790.   call wr_char
  791.   mov  al,'$'
  792.   call wr_char
  793.   mov  ah,9
  794.   mov  dx,offset radka
  795.   int  21h
  796.   retn
  797.  
  798. col    dw 0
  799. radka  db 0
  800.  
  801. end start
  802.