Advertisement
Guest User

Untitled

a guest
Dec 16th, 2019
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Progr           segment
  2.                 assume  cs:Progr, ds:dane, ss:stosik
  3.  
  4. start:      mov ax,dane
  5.             mov ds,ax
  6.             mov ax,stosik
  7.             mov ss,ax
  8.             mov sp,offset szczyt
  9.            
  10.            
  11.             mov ah,0        ;losowanie pierwszego indeksu
  12.             int 1ah         ;zczytanie ilosci taktów procesora od uruchomienia
  13.             xor dh,dh       ;czyszczenie rejestru aby wynik w dl byl w zakresie 2 bajtow
  14.             mov bx,dx
  15. pocz:       mov dl,los[bx]
  16.             push bx
  17.             mov ax,160d
  18.             mul dl
  19.             mov bx,ax
  20.            
  21.             ;zapamietywanie wszystkich znakow z wylosowanej linii
  22.            
  23.             cld
  24.             push ds
  25.             push ds
  26.             pop es              
  27.             mov ax,0b800h      
  28.             mov ds,ax          
  29.             mov si,bx               ;nr lini * 160
  30.             mov di,offset buffor
  31.             mov cx,80          
  32.             rep movsw          
  33.            
  34.            ;zasloniecie wyloswanej linii
  35.            
  36.             pop ds
  37.             mov ax,0b800h
  38.             mov es,ax
  39.             mov di,bx
  40.             mov ah,01000000b        ;kolor czerwony
  41.             mov al,32               ;32 to ascii SPACJA
  42.             mov cx,80
  43.             rep stosw
  44.            
  45.            ;odczekanie 1 sekundy
  46.            
  47.             mov cx,16d          
  48.             xor dx,dx          
  49.             mov ah,86h          
  50.             int 15h            
  51.            
  52.            ;odsłonięci wybranej linii
  53.            
  54.             mov si,offset buffor
  55.             mov di,bx
  56.             mov cx,80
  57.             rep movsw          
  58.            
  59.             mov ah,1            
  60.             int 16h             ;jesli nacisniety klawisz to z=0
  61.             pop bx
  62.             jnz koniec
  63.             inc bx
  64.             jmp pocz
  65.            
  66.  
  67. koniec:     mov ah,4ch
  68.             mov al,0
  69.             int 21h
  70. Progr           ends
  71.  
  72. dane            segment
  73.                 buffor dw 80 dup(0)
  74.                 los db 17,7,0,1,15,9,14,15,23,1,11,18,14,18,24,12,14,6,19,20,24,6,23,8,19,21,9,21,3,6,13,7,0,9,6,20,24,4,11,9,18,6,5,20,13,12,20,16,2,10,3,23,14,22,23,24,10,20,4,13,8,6,15,22,2,12,18,20,2,9,1,6,16,11,6,7,8,11,23,20,17,5,14,9,17,6,15,22,9,8,13,8,24,12,13,0,4,10,9,17,23,7,14,6,7,20,21,0,12,3,21,6,2,6,14,12,13,24,5,22,18,23,4,18,11,0,2,22,6,11,19,8,11,19,7,1,10,20,21,24,7,14,0,5,3,15,11,8,11,23,24,6,9,3,13,6,8,24,13,14,21,13,20,24,22,14,9,1,24,6,0,4,5,6,19,7,15,2,24,17,2,3,2,21,22,21,4,0,23,8,0,16,5,14,2,3,10,9,18,1,0,11,20,11,0,16,22,16,5,15,0,14,9,12,23,3,24,15,2,0,1,3,5,7,24,11,1,15,12,13,2,10,15,21,4,5,11,7,8,17,0,19,14,4,21,12,5,2,14,2,13,19,20,8,7,1
  75. dane            ends
  76.  
  77. stosik          segment
  78.                 dw    100h dup(0)
  79. szczyt          Label word
  80. stosik          ends
  81.  
  82. end start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement