if you use the .DATA (etc) shortcuts, you don't have to use ASSUME - it's taken care of
but, if you use SEGMENT and ENDS to open and close segments, you may have to
along with that is the GROUP directive, that tells the assembler how to combine segments
normally, the data segments are all combined as DGROUP, and....
ASSUME DS:DGROUP
for 16-bit code, you can get DGROUP with @data (if you use the shortcuts)
mov ax,@data
mov ds,ax