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




Шаг 1 - Где взять и установка

Взять можно по адресу:

ftp.pmcnet.net/pub/lang/bin/tasm/tasm50.zip

После распаковки у Вас будет серия файлов, среди которых есть INSTALL его и надо запустить. Вам нужно будет указать какой диск будет использован для установки.

Дальше все пойдет в таком стиле. Если Вы распаковываете из под Windows, то есть вероятность появления такой ошибки:

Жмите C для продолжения и все. В конце появится файл read.me:

В результате на диске C: у Вас появится папочка со всеми комплектующими:

Самый главный вопрос, почему TASM? Почему не MASM? Дело в том, что в этих шагах я не ставлю целью научить Вас программировать на ассемблере, эти шаги нужны для демонстрации некоторых идей которые используются в том числе и при программировании на VC++. На данный момент ассемблер наверно имеет смысл для написаний VXD но как средство разработки приложений наверно не самое лучшее.

 

Шаг 2 - Первая программа

Итак, мы попробуем создать совсем простую программу. У TASM нет среды разработки поэтому придется писать bat файлы. Смотрите:

Я буду создавать папочки в каталоге TASM и исходя из этого настраивать пути в BAT файлах. Итак, нам нужно писать программу. Программировать мы будем в NotePad. Исходный файл это обычный текстовый файл с командами ассемблера. Создать его конечно можно где угодно. Расширение у него должно быть ASM хотя конечно роли это не играет но правила есть правила. Итак, создает программу с именем 2.asm. Внутри код:

MODEL TINY STACK 256 CODESEG start: mov ah, 04Ch int 21h end start

Вот и вся программа, пока что внутри написано не важно. Нам нужно научиться этот код собирать. Код собирается в два этапа. Первый этап компиляция и это делает TASM.EXE. В результате компиляции мы получаем OBJ файл. Второй этап это сборка это выполняет файл TLINK.EXE который собирает исполняемый файл. Давайте пробовать весь этот процесс. Нам нужно написать BAT файл с именем 2.bat:

..\bin\tasm 2.asm..\bin\tlink 2.obj

Ну и запустить его:

В результате Вы увидите, что по поводу Вашего кода сказал TASM и будет собрана самая маленькая наверно программа из всех возможных которая пока умеет просто запускаться и не делать ошибок.

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

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

MODEL TINYSTACK 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 21hend start

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


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




Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: