Ассемблирование вашей первой программы

ИСПОЛЬЗОВАНИЕ ТУРБО АССЕМБЛЕРА

Ваша первая программа на Турбо Ассемблере

 

 

В программировании первой программой традиционно является

программа, выводящая на экран сообщение "Hello!". Не будет иск-

лючением и наша программа, поскольку это является хорошей отправ-

ной точкой.

 

Войдите в текстовый редактор (один из тех редакторов, кото-

рые формируют файлы в коде ASCII) и введите следующие строки

программы под названием HELLO.ASM:

 

.MODEL SMALL

.STACK 100h

.DATA

Message DB 'Hello!',13,10,'$'

.CODE

.startup

mov ax,@Data

mov ds,ax; установить регистр DS таким

;образом, чтобы он указывал

; на сегмент данных

mov ah,09h; функция DOS вывода строки

mov dx,OFFSET Message; ссылка на сообщение "Hello!"

int 21h; вывести "Hello!" на экран

mov ah,4ch; функция DOS завершения

; программы

int 21h; завершить программу

ends

END

 

 

После того, как вы введете эту программу, сохраните ее на

диске.

 

Если вы знакомы с языками Си, С++ или Паскаль, вам может по-

казаться, что эта версия программы несколько длинновата. Это

действительно так, программы на Ассемблере длиннее, поскольку

каждая инструкция Ассемблера выполняет меньше функций, чем инс-

трукция Паскаля, С++ или языка Си. С другой стороны, вам предос-

тавляется свобода, и вы можете комбинировать эти инструкции Ас-

семблера так, как захотите. Это означает, что в отличие от языков

Си и Паскаль, Ассемблер позволяет вам программировать компьютер

таким образом, что он будет делать все, на что способен. Часто

это стоит нескольких дополнительных строк.

Ассемблирование вашей первой программы

 

 

После того, как вы сохранили файл HELLO.ASM, вы захотите за-

пустить программу. Однако, перед тем, как вы сможете ее запус-

тить, потребуется преобразовать программу в выполняемый вид. Как

показано на Рис. 1.1, где изображен полный цикл создания програм-

мы (редактирование, ассемблирование, компоновка и выполнение),

это потребует двух дополнительных шагов - ассемблирования и ком-

поновки.

 

На этапе ассемблирования ваш исходный код (текст программы)

превращается в промежуточную форму, которая называется объектным

модулем, а на этапе компоновки один или несколько модулей комби-

нируются в выполняемую программу. Ассемблирование и компоновку вы

можете выполнять с помощью командной строки.

 

Для ассемблирования файла HELLO.ASM наберите:

 

TASM hello

 

Создание новой программы

¦

--------------------------------¦

¦ ¦

¦ Редактирование

¦ ¦

¦ ­

¦ -----------------------------------------------

¦ ¦ Исходный файл Ассемблера HELLO.ASM ¦

¦ L---------------------T-------------------------

¦ ¦

¦ Ассемблирование

¦ ¦

¦ ­

¦ ----------------------------------------------

¦ ¦ Объектный файл HELLO.OBJ ¦

¦ L---------------------T------------------------

¦ ¦

¦ Компоновка

¦ ¦

¦ ­

¦ ----------------------------------------------

¦ ¦ Выполняемый файл HELLO.EXE ¦

¦ L---------------------T------------------------

¦ ¦

¦ Выполнение

¦ ----------------------- ¦

L---+ Если нужны изменения ¦-----

L-----------------------

 

Рис. 1.1 Редактирование, ассемблирование, компоновка и вы-

полнение.

 

и нажмите клавишу Enter. Если вы не задали другое имя, файл

HELLO.ASM будет ассемблирован в файл HELLO.OBJ. (Заметим, что

расширение имени файла вводить не требуется. Турбо Ассемблер под-

разумевает в этом случае, что файл имеет расширение.ASM.) На эк-

ране вы увидите следующее:

 

Turbo Assembler Version 3.0 Copyright (C) 1988,1991 (1)

by Borland International Inc.

Assembling file: HELLO.ASM (2)

Error messages: None (3)

Warning messages: None (4)

Passes: 1 (5)

Remaining memory: 266K (6)

 

1 - Турбо Ассемблер, версия 3.0; авторские права фирмы

Borland, 1991 г.; 2 - ассемблирован файл HELLO.ASM; 3 - сообщения

об ошибках: нет; 4 - предупреждающие сообщения: нет; 5 - число

проходов: 1; 6 - остается памяти: 266К

 

Если вы введете файл HELLO.ASM в точности так, как показано,

то вы не получите никаких предупреждающих сообщений или сообщений

об ошибках. Если вы получаете такие сообщения, они появляются на

экране наряду с номерами строк, указывающими строки, где содер-

жатся ошибки. При получении сообщений об ошибках проверьте исход-

ный код (текст) программы и убедитесь, что он выглядит точно так,

как исходный код в нашем примере, а затем снова ассемблируйте

программу.

 

 

Компоновка программы

 

 

После ассемблирования файла HELLO.ASM вы продвинулись только

на один шаг в процессе создания программы. Теперь, если вы ском-

понуете только что полученный объектный код в выполняемый вид, вы

сможете запустить программу.

 

Для компоновки программы используется программа TLINK,

представляющая собой поставляемый вместе с Турбо Ассемблером ком-

поновщик. Введите командную строку:

 

TLINK HELLO

 

Здесь опять не требуется вводить расширение имени файла.

Компоновщик TLINK по умолчанию предполагает, что этим расширением

является расширение.OBJ. Когда компоновка завершится (самое

большее через несколько секунд), компоновщик автоматически прис-

воит файлу с расширением.EXE имя, совпадающее с именем вашего

объектного файла (если вы не определили другое имя). При успешной

компоновке на экране появляется сообщение:

 

Turbo Linker Version 3.0 Copyright (c) 1988, 1991 by Borland

International Inc.

 

В процессе компоновки могут возникнуть ошибки (в данной

программе это маловероятно). Если вы получили сообщения об ошиб-

ках компоновки (они выводятся на экран), измените исходный код

программы так, чтобы он в точности соответствовал тексту програм-

мы в приведенном выше примере, а затем снова выполните ассембли-

рование и компоновку.

 

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: