Case 1

data segment word public 'DATA'
    MSG DB "Hello$";
data ends
 
code segment word public 'CODE'
assume cs:code, ds:data
start:
    mov ax, data
    mov ds, ax
    MOV AH, 09h
    MOV DX, OFFSET MSG
    INT 21h
    MOV AH, 4Ch
    INT 21h
code ends
END start

При компиляции этого кода в COM-файл (ml.exe /at hello.asm) возникнет ошибка A2118 на строке 10. В COM-программах все сегменты (CS, DS, ES, SS) совпадают, поэтому сегмент data не существует как отдельный, и MASM не может подставить его адрес. Нужно компилировать в .exe (ml.exe hello.asm), и всё будет ок.