Uno facil de MOVSB

Graeca
07 de Mayo del 2005
Hola! Estoy con un prgrama en TASM que copie el contenido de memoria de un campo a otro. Tengo un ejemplo pero no me funciona. Me podeis decir en que falla:
;----------------------------------------------------------
PILA SEGMENT STACK
DB 64 DUP (?)
PILA ENDS
;----------------------------------------------------------
DATOS SEGMENT
Cad1 DB \'Hola \',\'$\'
Cad2 DB \'Adios \',\'$\'
; 123456789 12345678
DATOS ENDS
;----------------------------------------------------------
CODIGO SEGMENT
ASSUME DS:DATOS, SS:PILA,CS:CODIGO
INICIO:
MOV AX,DATOS
MOV DS,AX

; CLD
MOV CX,18
LEA SI,Cad1
LEA DI,Cad2

REP MOVSB

MOV AH,09H
LEA DX,Cad2
INT 21H

MOV AX,4C00H
INT 21H
CODIGO ENDS
END INICIO