Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .MODEL SMALL
- .STACK 100H
- .DATA
- MSG1 DB 'ENTER A STRING$'
- MSG2 DB 'IN REVERSE ORDER:$'
- .CODE
- MAIN PROC
- MOV AX,@DATA
- MOV DS,AX
- LEA DX, MSG1
- MOV AH,9
- INT 21H
- MOV CX,0
- MOV AH,1
- INPUT:
- INT 21H
- CMP AL,0DH ;check for carriage return
- JE OUTPUT
- LOWER:
- CMP AL,5AH ;if greater,it is lowercase
- JG UPPER ;convert to upper case
- CMP AL,41H
- JL _PUSH
- ADD AL,20H ;if not, convert to lowercase
- JMP _PUSH
- UPPER:
- CMP AL,61H
- JL _PUSH
- CMP AL, 7AH
- JG _PUSH
- SUB AL,20H ;convert to upper
- _PUSH:
- PUSH AX ;push the converted character to the stack
- INC CX
- JMP INPUT
- OUTPUT:
- NEW_LINE:
- MOV AH,2
- MOV DL,0DH
- INT 21H
- MOV DL,0AH
- INT 21H
- TOP: ;print the converted string in reverse order until cx becomes 0
- POP DX
- INT 21H
- LOOP TOP
- EXIT:
- MOV AH,4CH
- INT 21H
- MAIN ENDP
- END MAIN
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement