Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;CASE CONVERSION PROGRAM
- .MODEL SMALL
- .STACK 100H
- .DATA
- X DB ?
- MSG1 DB "ENTER INPUT: $"
- MSG2 DB 0DH,0AH, "ENTERED CHARACTER IS: $"
- MSG3 DB 0DH,0AH, "INVALID CHARACTER $"
- .CODE
- MAIN PROC
- MOV AX,@DATA ;LOAD DATA SEGMENT
- MOV DS,AX
- LEA DX,MSG1 ;PRINT MSG1
- MOV AH,9
- INT 21H
- MOV AH,1 ;INPUT CHAR
- INT 21H
- MOV X,AL
- LEA DX,MSG2 ;PRINT MSG2
- MOV AH,9
- INT 21H
- CMP X,65 ;COMPARE IF VALID ALPHABET
- JGE LABEL1
- LEA DX,MSG3 ;ELSE PRINT INVALID CHAR
- MOV AH,9
- INT 21H
- JMP EXIT
- .
- LABEL1:
- CMP X,90
- JLE CONVERT_TO_LOWER ; IF RANGE IS BETWEEN 65<X<90
- CMP X,97 ;LOWERCASE
- JGE LOWERCASE_LABEL
- LEA DX,MSG3 ; ELSE PRINT INVALID CHAR
- MOV AH,9
- INT 21H
- JMP EXIT
- LOWERCASE_LABEL:
- CMP X,122
- JLE CONVERT_TO_UPPER
- CONVERT_TO_UPPER: ;LOWER TO UPPER CONVERSION
- MOV AH,2
- SUB X,32
- MOV DL,X
- INT 21H
- JMP EXIT
- CONVERT_TO_LOWER: ;UPPER TO LOWER CONVERSION
- MOV AH,2
- ADD X,32
- MOV DL,X
- INT 21H
- EXIT:
- MOV AH,4CH ;RETURN TO DOS
- INT 21H
- MAIN ENDP
- END MAIN
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement