Advertisement
Guest User

Untitled

a guest
May 11th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.    ;CASE CONVERSION PROGRAM
  2.  
  3. .MODEL SMALL
  4. .STACK 100H
  5. .DATA  
  6.  X DB ?    
  7.  MSG1 DB "ENTER INPUT: $"
  8.  MSG2 DB 0DH,0AH, "ENTERED CHARACTER IS: $"
  9.  MSG3 DB 0DH,0AH, "INVALID CHARACTER $"
  10. .CODE
  11.     MAIN PROC  
  12.           MOV AX,@DATA ;LOAD DATA SEGMENT
  13.           MOV DS,AX
  14.          
  15.           LEA DX,MSG1  ;PRINT MSG1
  16.           MOV AH,9
  17.           INT 21H
  18.          
  19.           MOV AH,1     ;INPUT CHAR
  20.           INT 21H
  21.           MOV X,AL
  22.          
  23.           LEA DX,MSG2  ;PRINT MSG2
  24.           MOV AH,9
  25.           INT 21H  
  26.          
  27.           CMP X,65             ;COMPARE IF VALID ALPHABET
  28.           JGE LABEL1    
  29.                
  30.                
  31.           LEA DX,MSG3  ;ELSE PRINT INVALID CHAR
  32.           MOV AH,9
  33.           INT 21H
  34.           JMP EXIT
  35.              .
  36.              
  37.           LABEL1:
  38.           CMP X,90
  39.           JLE CONVERT_TO_LOWER   ; IF RANGE IS BETWEEN 65<X<90
  40.          
  41.           CMP X,97             ;LOWERCASE
  42.           JGE LOWERCASE_LABEL
  43.            
  44.           LEA DX,MSG3  ; ELSE PRINT INVALID CHAR
  45.           MOV AH,9
  46.           INT 21H
  47.           JMP EXIT
  48.            
  49.           LOWERCASE_LABEL:
  50.           CMP X,122
  51.           JLE CONVERT_TO_UPPER
  52.          
  53.           CONVERT_TO_UPPER:          ;LOWER TO UPPER CONVERSION
  54.           MOV AH,2
  55.           SUB X,32
  56.           MOV DL,X
  57.           INT 21H
  58.           JMP EXIT
  59.          
  60.           CONVERT_TO_LOWER:    ;UPPER TO LOWER CONVERSION
  61.              
  62.           MOV AH,2  
  63.           ADD X,32  
  64.           MOV DL,X
  65.           INT 21H
  66.          
  67.          
  68.           EXIT:  
  69.           MOV AH,4CH ;RETURN TO DOS
  70.           INT 21H        
  71.         MAIN ENDP
  72.    
  73.     END MAIN
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement