Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .model small
- .stack 100h
- .data
- inp db 'Enter the value of X: $'
- num db 'Given input is a number$'
- vow db 'Given input is a vowel$'
- cons db 'Given input is a consonant$'
- ask db 'Do you want to give another input?(Y/N): $'
- inv db 'Invalid input$'
- new_line db 0ah,0dh,"$"
- .code
- main proc
- ; connect code segment and data segment
- mov ax, @data
- mov ds, ax
- ; input label
- INPUT:
- mov ah, 9
- lea dx, inp
- int 21h
- mov ah, 1
- int 21h
- mov bl, al
- ; new line
- mov ah, 9
- lea dx, new_line
- int 21h
- ; check if it is a number
- cmp bl, '9'
- jg Character
- cmp bl, '0'
- jl Invalid
- ; Printing number
- mov ah,9
- lea dx, num
- int 21h
- ; new line
- lea dx, new_line
- int 21h
- ; Jump to Query Label
- jmp Query
- ; check if it is a character
- Character:
- cmp bl, 'A'
- jl Invalid
- cmp bl, 'Z'
- jg Invalid
- ; check if it is a vowel
- cmp bl, 'A'
- je Vowel
- cmp bl, 'E'
- je Vowel
- cmp bl, 'I'
- je Vowel
- cmp bl, 'O'
- je Vowel
- cmp bl, 'U'
- je Vowel
- ; otherwise it is a consonant
- ; Printing Consonant
- mov ah,9
- lea dx, cons
- int 21h
- ; new line
- lea dx, new_line
- int 21h
- ; Jump to query label
- jmp Query
- Vowel:
- ; Printing Vowel
- mov ah,9
- lea dx, vow
- int 21h
- ; new line
- lea dx, new_line
- int 21h
- ; Jump to query label
- jmp Query
- ; check if it is a valid input
- Invalid:
- ; Printing Vowel
- mov ah,9
- lea dx, inv
- int 21h
- ; new line
- lea dx, new_line
- int 21h
- ; ask query
- Query:
- ; Printing Vowel
- mov ah,9
- lea dx, ask
- int 21h
- mov ah, 1
- int 21h
- mov bl, al
- ; new line
- mov ah, 9
- lea dx, new_line
- int 21h
- cmp bl, 'Y'
- je INPUT
- cmp bl, 'N'
- je End
- jmp Invalid
- End:
- main endp
- end main
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement