Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ; Arvydas Vitkus PS-16, 2 lab.
  2. ; skaiciuoja kiek ivedei balsiu, paspaudus e baigia ivedima
  3. .model tiny
  4. .code
  5. org 100h
  6.  
  7. start:
  8.     mov al, 13h ; paleisti video mode
  9.     mov ah, 0
  10.     int 10h
  11.    
  12.     mov ah, 02h
  13.     mov dl, 58
  14.     int 21
  15.  
  16.     mov ah, 09h ; 9 - display string
  17.     mov dx, offset text1 ; dx - data register
  18.     int 21h
  19.     ;---------------------------------------
  20.     mov ah, 2 ;move cursor function
  21.     mov bx, 0 ;page
  22.     mov dh, 2 ;row
  23.     mov dl, 0 ;collumn   
  24.     int 10h ;move cursor
  25.     ;---------------------------------------
  26.     mov bx, 0
  27.    
  28. ciklas:
  29.     mov ah, 01h
  30.     int 21h
  31.     ;---------------------------------------
  32.     cmp al,97 ;a
  33.     je balse
  34.    
  35.     cmp al,101 ;e
  36.     je balse
  37.    
  38.     cmp al,105 ;i
  39.     je balse
  40.    
  41.     cmp al,111 ;y
  42.     je balse
  43.    
  44.     cmp al,117 ;o
  45.     je balse
  46.    
  47.     cmp al,121 ;u
  48.     je balse
  49.    
  50.     jmp ciklas
  51.     ;---------------------------------------
  52. balse:
  53.     inc bx
  54.  
  55.     cmp al,101
  56.     je  exit
  57.     jmp ciklas
  58.    
  59. exit:
  60.     ; 12 balsiu (BX)
  61.     ; AX = 12 / 10
  62.     ; AH = 1, AL = 2
  63.     mov ax, bx
  64.     mov bl, 10
  65.     div bl
  66.    
  67.     ; perkelti rezultata i bx registra
  68.     mov bx, ax
  69.  
  70.     ; prideti 48 kad rodytu skaicius
  71.     add bl, 48
  72.     add bh, 48
  73.     ;----------------------------------------
  74.     mov ah, 09h ; 9 - display string
  75.     mov dx, offset atsak ; dx - data register
  76.     int 21h
  77.    
  78.     mov ah, 01h ; 9 - display string
  79.     int 21h ;
  80.    
  81.     mov ch, 0 ; skaitliukas
  82.     mov cl, al ; cl laiko atsakymu kieki
  83.     sub cl, 48
  84.     ;----------------------------------------
  85.    
  86.     mov ah, 02h
  87.     mov dl, 10
  88.     int 21h
  89.    
  90. atsakymas:
  91.     inc ch
  92.     ; spausdinti
  93.     mov ah, 02h ; pirmas sk.
  94.     mov dl, bl
  95.     int 21h
  96.    
  97.     mov ah, 02h ; antras sk.
  98.     mov dl, bh
  99.     int 21h
  100.    
  101.     mov ah, 02h ; tarpas
  102.     mov dl, 32
  103.     int 21h
  104.    
  105.     cmp ch, cl
  106.     jl atsakymas
  107.    
  108.     ret
  109.  
  110. atsak db 10,'Iveskite atsakymu kieki: ','$'
  111. text1 db 'Arvydas Vitkus PS-16, lab. 2',10,'Veskite simbolius: ',10,'$'
  112. text2 db 'Ivestas ne skaitmuo, baigiama programa','$'
  113.  
  114. end start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement