help me for this program... i need an output for reversing of a string.. what are the missing codes? correct me .. teach me... give me an example of program.. a reversing program for EMULATOR 8086,ASSEMBLY.....

include 'emu8086.inc'
org 100h

print 'input a string: '
mov dx,10
call get_string
putc 0ah
putc 0dh

print ' the reverse is: '
call print_string
mov si,dx
POP ax 
JMP r

 dl:

 POP dx 
   MOV ah,2

      INT 21h

      r:
 
      CMP si,sp 

      JNE dl

ret
DEFINE_PRINT_STRING
DEFINE_GET_STRING
DEFINE_PRINT_NUM
DEFINE_PRINT_NUM_UNS

end

This is how I reversed the string. However, I used another variable.

lea si, string1
	    lea di, string2 + lstring - 1

	    mov cx, lstring ; Load length of string

invertStr:
	    mov al, [si]
	    mov es:[di],al
	    dec di
	    inc si
	    loop invertStr