Advertisement
Farhana_Zaman

Untitled

Jul 7th, 2023
1,792
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .MODEL SMALL
  2. .STACK 100H
  3. .DATA
  4.  
  5. MSG1 DB 'ENTER THE WORD: $'
  6.  
  7. .CODE
  8.  
  9. MAIN PROC
  10.    
  11.     MOV AX,@DATA  ;initializes the data
  12.     MOV DS,AX
  13.    
  14.     MOV AH,9      ;reads the text
  15.     LEA DX,MSG1
  16.     INT 21h       ;display the msg
  17.    
  18.     XOR CX,CX     ;count=0
  19.    
  20.     MOV AH,1      ;prepare to read
  21.     INT 21H       ;read a character
  22.    
  23.  WHILE_:    
  24.    
  25.     CMP AL,0DH    ;is AL greater than 0DH?
  26.     JE END_WHILE  ;yes, exit loop
  27.    
  28.     PUSH AX       ;push it on stack
  29.     INC CX        ;count = count + 1
  30.    
  31.     INT 21H       ;read character
  32.     JMP WHILE_    ;loop back
  33.    
  34.  END_WHILE:
  35.    
  36.     MOV AH,2      ;display character function
  37.     MOV DL,0DH    ;carriage return?
  38.     INT 21H       ;execute
  39.     MOV DL,0AH    ;LF
  40.     INT 21H       ;execute
  41.     JCXZ EXIT     ;exit if no characters read
  42.    
  43.  TOP:
  44.    
  45.     POP DX        ;get a character from stack
  46.     INT 21H       ;display it
  47.     LOOP TOP    ;
  48.    
  49.  EXIT:
  50.    
  51.     MOV AH,4CH  ;
  52.     INT 21H
  53.     MAIN ENDP
  54. END MAIN
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement