Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .MODEL SMALL
- .STACK 100H
- .DATA
- PROMPT_1 DB 'Enter a line of text : $'
- PROMPT_2 DB 0DH,0AH,'Output : $'
- PROMPT_4 DB 0DH,0AH,' ***** No Capital Letters *****$'
- FLAG DB 0
- FIRST_LETTER DB 5BH
- LAST_LETTER DB 40H
- .CODE
- MAIN PROC
- MOV AX, @DATA ; initialize DS
- MOV DS, AX
- LEA DX, PROMPT_1 ; load and display the string PROMPT_1
- MOV AH, 9
- INT 21H
- MOV AH, 1 ; set input function
- @INPUT: ; jump label
- INT 21H ; read a character
- MOV BL, AL ; set BL=AL
- CMP BL, 0DH ; compare BL with CR
- JE @END_INPUT ; jump to label @END_INPUT if BL=CR
- CMP BL, "A" ; compare BL with "A"
- JL @INPUT ; jump to label @INPUT if BL<A
- MOV FLAG, 1 ; set FLAG=1
- CMP BL, "Z" ; compare BL with "Z"
- JG @INPUT ; jump to label @INPUT if BL>Z
- CMP BL, FIRST_LETTER ; compare BL with variable FIRST_LETTER
- JG @NEXT ; jump to label @NEXT if BL>FIRST_LETTER
- MOV FIRST_LETTER, BL ; set FIRST_LETTER=BL
- @NEXT: ; jump label
- CMP BL, LAST_LETTER ; compare BL with variable LAST_LETTER
- JL @INPUT ; jump to label @INPUT if BL<LAST_LETTER
- MOV LAST_LETTER, BL ; set LAST_LETTER=BL
- JMP @INPUT ; jump to label @INPUT
- @END_INPUT: ; jump label
- CMP FLAG, 1 ; compare FLAG with 1
- JE @DISPLAY ; jump to label @DISPLAY if FLAG=1
- LEA DX, PROMPT_4 ; load and display the string PROMPT_4
- MOV AH, 9
- INT 21H
- JMP @END ; jump to label @END
- @DISPLAY: ; jump label
- LEA DX, PROMPT_2 ; load and display the string PROMPT_2
- MOV AH, 9
- INT 21H
- MOV AH, 2 ; set output function
- MOV DL, FIRST_LETTER ; set DL=FIRST_LETTER
- INT 21H ; print a character
- MOV AH, 2 ; set output function
- MOV DL, LAST_LETTER ; set DL=LAST_LETTER
- INT 21H ; print a character
- @END: ; jump label
- MOV AH, 4CH ; return control to DOS
- INT 21H
- MAIN ENDP
- END MAIN
Add Comment
Please, Sign In to add comment