Advertisement
Guest User

Untitled

a guest
May 23rd, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.98 KB | None | 0 0
  1. .MODEL SMALL
  2. .STACK 100H
  3. .DATA
  4. MSG1 DB 'ENTER A STRING$'
  5. MSG2 DB 'IN REVERSE ORDER:$'
  6. .CODE
  7. MAIN PROC
  8. MOV AX,@DATA
  9. MOV DS,AX
  10. LEA DX, MSG1
  11. MOV AH,9
  12. INT 21H
  13. MOV CX,0
  14. MOV AH,1
  15.  
  16. INPUT:
  17. INT 21H
  18. CMP AL,0DH ;check for carriage return
  19. JE OUTPUT
  20. LOWER:
  21. CMP AL,5AH ;if greater,it is lowercase
  22. JG UPPER ;convert to upper case
  23. CMP AL,41H
  24. JL _PUSH
  25. ADD AL,20H ;if not, convert to lowercase
  26. JMP _PUSH
  27.  
  28. UPPER:
  29. CMP AL,61H
  30. JL _PUSH
  31. CMP AL, 7AH
  32. JG _PUSH
  33. SUB AL,20H ;convert to upper
  34. _PUSH:
  35. PUSH AX ;push the converted character to the stack
  36. INC CX
  37. JMP INPUT
  38.  
  39. OUTPUT:
  40.  
  41. NEW_LINE:
  42. MOV AH,2
  43. MOV DL,0DH
  44. INT 21H
  45. MOV DL,0AH
  46. INT 21H
  47.  
  48. TOP: ;print the converted string in reverse order until cx becomes 0
  49. POP DX
  50. INT 21H
  51. LOOP TOP
  52.  
  53. EXIT:
  54. MOV AH,4CH
  55. INT 21H
  56. MAIN ENDP
  57. END MAIN
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement