mov AX,4C00h ;Вызов функции DOS
int 2 In ; Завершение программы
main endp ; Конец главной процедуры
code ends ; Конец сегмента команды
data segments use16 ; Начало сегмента данных
... ; Определения данных
data ends ; Конец сегмента данных
stk segment stack ; Начало сегмента данных
db 256 dup(0) ; Стек
stk ends ; Конец сегмента стека
end main ; Конец программы и точка входа
Программа начинается с директивы ассемблера .586, разрешающей использовать в тексте программы весь набор команд процессора Pentium (кроме привилегированных). Если программа будет использовать только базовый набор команд МП 86, указание этой директивы не обязательно.
С другой стороны, ее указание не обязывает нас обязательно использовать команды Pentium. Если в программе предполагается использовать лишь дополнительные команды процессоров 486 или 386, то вместо .586 можно написать .486 или .386.
Указание любого номера 32-разрядного процессора приведет к тому, что по умолчанию программа будет транслироваться, как 32-разрядное приложение, в то время как нам нужно создать обычное 16-разрядное приложение. Для того, чтобы все адреса в программе рассматривались, как 16-битовые, необходимо придать сегментам команд и данных описатели use16. Для сегмента стека этот описатель не нужен, так как в стеке нет поименованных ячеек.