DSEG   SEGMENT
ABC    DB "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
ZYX    DB "ZYXWVUTSRQPONMLKJIHGFEDCBA"
ZIEL   DB 26 DUP (?)
       DB 13,10,"$"
DSEG   ENDS

CSEG   SEGMENT 'CODE'
       ASSUME CS:CSEG

MAIN   PROC
; Kopie vorwaerts
       MOV  AX,DSEG
       MOV  DS,AX
       MOV  SI,OFFSET ABC
       PUSH DS
       POP  ES
       MOV  DI,OFFSET ZIEL
       CLD
       MOV  CX,26
       REP  MOVSB
       MOV  AH,9
       MOV  DX,OFFSET ZIEL
       INT  21h
; Kopie rueckwaerts
       MOV  SI,OFFSET ZYX + 25
       MOV  DI,OFFSET ZIEL + 25
       STD
       MOV  CX,26
       REP  MOVSB
       INT  21h
; Programmende
       MOV  AX,4C00h
       INT  21h
MAIN   ENDP

CSEG   ENDS

SSEG   SEGMENT STACK
       DW 128 DUP (?)
SSEG   ENDS

       END MAIN