Шаг 3 - Программа HelloWord

Ну что напишем первую программу? Пишем код.

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	

Собираем, все должно быть без ошибок, и запускаем:

3_1.gif (1946 b)

Итак, нам нечего пока не понятно. Обратите внимание на DATASEG и CODESEG. В программе есть место, где хранятся данные и где хранится код. И эти места нужно разделять. Директива DATASEG указывает на то что далее будут идти данные а директива CODESEG что теперь начнутся команды процессора. Это Важно разделение данных и команд процессора. Когда программа загружается в память то операционной системе нужно знать куда поставить указатель для выполнения команды. Именно директива CODESEG и указывает при сборке, где это место будет находиться. То же самое и для DATASEG. Если Вы откроете программу в блокноте, то увидите что данные как раз находятся в самом конце программы.

3_2.gif (3251 b)


Загрузить проект | Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 26.11.2001