Ну что напишем первую программу? Пишем код.
MODEL TINY STACK 256 DATASEG Hellostr DB 'Hello First Step Site ' CODESEG start: mov ax,@data mov ds,ax mov bx,1 mov cx,21 mov dx,offset Hellostr mov ah,40h int 21h mov ah, 04Ch int 21h end start
Собираем, все должно быть без ошибок, и запускаем:
Итак, нам нечего пока не понятно. Обратите внимание на DATASEG и CODESEG. В программе есть место, где хранятся данные и где хранится код. И эти места нужно разделять. Директива DATASEG указывает на то что далее будут идти данные а директива CODESEG что теперь начнутся команды процессора. Это Важно разделение данных и команд процессора. Когда программа загружается в память то операционной системе нужно знать куда поставить указатель для выполнения команды. Именно директива CODESEG и указывает при сборке, где это место будет находиться. То же самое и для DATASEG. Если Вы откроете программу в блокноте, то увидите что данные как раз находятся в самом конце программы.