Advertisement
Nahid8195

Peoblem 2

Dec 9th, 2021
3,115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .MODEL SMALL
  2. .STACK 100H
  3. .DATA  
  4. STRING DB 100 DUP(?)
  5. MSG1 DB "ENTER A STRING: $"
  6. MSG2 DB 0DH, 0AH, "NO. OF VOWELS_FOUNDS: $"
  7. VOWELS DW 0    
  8. .CODE
  9. MAIN PROC
  10.    
  11.      MOV AX, @DATA
  12.      MOV DS, AX
  13.      MOV ES, AX
  14.      
  15.      MOV AH, 9
  16.      LEA DX, MSG1
  17.      INT 21H
  18.      
  19.      LEA DI, STRING
  20.  
  21.      MOV AH, 1
  22.      READ:
  23.      INT 21H
  24.      CMP AL, 0DH
  25.      JE ENDOFSTRING
  26.      STOSB
  27.      JMP READ
  28.      
  29.      ENDOFSTRING:
  30.      MOV AL, "$"
  31.      STOSB
  32.      
  33.      XOR BX, BX
  34.      
  35.      COUNT:
  36.      MOV AL, STRING[BX]
  37.      CMP AL, "$"
  38.      JE EXIT
  39.      CMP AL, "a"
  40.      JE VOWEL_FOUND
  41.      CMP AL, "e"
  42.      JE VOWEL_FOUND
  43.      CMP AL, "i"
  44.      JE VOWEL_FOUND
  45.      CMP AL, "o"
  46.      JE VOWEL_FOUND
  47.      CMP AL, "u"
  48.      JE VOWEL_FOUND
  49.      CMP AL, "A"
  50.      JE VOWEL_FOUND
  51.      CMP AL, "E"
  52.      JE VOWEL_FOUND
  53.      CMP AL, "I"
  54.      JE VOWEL_FOUND
  55.      CMP AL, "O"
  56.      JE VOWEL_FOUND
  57.      CMP AL, "U"
  58.      JE VOWEL_FOUND      
  59.      INC BX
  60.      JMP COUNT
  61.      
  62.      VOWEL_FOUND:
  63.      MOV CX, VOWELS
  64.      INC CX
  65.      MOV VOWELS, CX
  66.      INC BX
  67.      JMP COUNT    
  68.          
  69.      EXIT:
  70.      
  71.      MOV AH, 9
  72.      LEA DX, MSG2
  73.      INT 21H
  74.      
  75.      MOV AH, 2
  76.      MOV DX, VOWELS
  77.      ADD DX, 30H
  78.      INT 21H
  79.      
  80.     MAIN ENDP
  81. END MAIN
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement