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), и всё будет ок.