This command strips off the last part of the default data device, thus moving up the directory tree. If the default program device is the same as the default data device, then this will also be altered by DUP. If the default destination device is a directory device (ie. if it ends with an underscore), DUP also alters this (whether or not it points to another drive).
win1_ win1_C_ win1_C_include_ win1_C_objects_ win1_BASIC_ win1_QUILL_ win1_QUILL_letters_ win1_QUILL_translations win1_secret_
If DATAD$ is win1_, DDOWN Quill moves down to win1_Quill_, whilst DUP will move DATAD$ back up to win1_.
If DATAD$ is win1_Quill_letters_secret_, three DUPs will change it back to win1_.
It is not possible to move beyond the name specifying the actual device to be used. In the above example, this is the named root, win1_.
DATA_USE allows you to set the absolute directory root, DDOWN goes down the tree, and DNEXT skips from branch to branch. DATAD$ returns the current default data device ie. the device name plus the current sub-directory.