Hi Peter,
Welcome to the Forum.
Um... because it's not an effective address. Did you mean to write "di" instead of "dl"?
In 16-bit code, only bx and bp can be used as "base" registers and only si and di can be used as index registers. I know you're not that new to this - I suspect you just made a typo...
Best,
Frank