Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лабы по асм.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
257.02 Кб
Скачать

Л Составитель: преп.Каф.Информатики Аркабаев Нуркасым Кылычбекович абораторная работа №1 Начало работы на языке ассемблера

Цель работы:

  • ознакомление с общими принципами построения программ на языке ассемблера;

  • обучение работе с программами Tasm.exe, Tlink.exe;

  • создание *.EXE файла первой программы

  • просмотр работы программы в Турбоотладчике (Td.exe);

Теоретическая часть

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

Язык ассемблера — это символическое представление машинного языка. Все процессы, происходящие на вашем компьютере, так или иначе, команды (инструкции) машинного языка. Отсюда понятно, что, несмотря на общее название, язык ассемблера для каждого типа компьютера свой. По-настоящему решить проблемы, связанные с аппаратурой невозможно без знания языка ассемблера.

Для первоначального ознакомления с ассемблером традиционно используется в качестве примера программа, выводящая на экран сообщение "Привет!". В рамки данной работы не входит доскональное понимание структуры программы на языке ассемблера.

В отличие от других языков программирования, язык ассемблера не имеет своей среды написания исходного кода. В качестве редактора можно использовать любой редактор, формирующий файлы в коде ASCII. Наиболее простой способ создания текстового файла это в оболочках DN или Far Manager. Нажатие комбинацию клавиши Shift-F4, в появившемся окне запроса необходимо ввести имя нового файла (например, Lab1.asm) и после нажатия Enter начать писать программу.

Примечание: если вы используете редактор Word, сохраняйте файлы под фильтром "Текст DOS".

.MODEL SMALL

.STACK 100h

.DATA

Message DB 'Привет!',13,10,'$'

.CODE

START:

mov ax,@Data

mov ds,ax

mov ah,9h

mov dx,OFFSET Message

int 21h

mov ah,4ch

int 21h

END START

После того, как вы введете эту программу, сохраните ее на диске желательно в каталоге C:\Tasm\.

Трансляция. После того, как вы сохранили свой файл, вы захотите запустить программу. Однако, перед тем, как вы сможете ее запустить, вам потребуется преобразовать программу в выполняемый вид. Как показано на Рис.1, где изображен полный цикл создания программы (редактирование, ассемблирование, компоновка и выполнение), это потребует двух дополнительных шагов - трансляции и компоновки.

Рис 1. Полный цикл создания программы на языке ассемблера

На этом этапе ассемблирования ваш исходный код программы превращается в промежуточную форму, которая называется объектным модулем, а на этапе компоновки один или несколько модулей комбинируются в выполняемую программу. Ассемблирование и компоновку вы можете выполнять с помощью командной строки.

Для ассемблирования файла Lab1.asm наберите команду:

TASM Lab1

и нажмите клавишу ENTER. Если вы не задали другое имя, файл Lab1.asm будет ассемблирован в файл Lab1.obj. (расширение имени файла можно не вводить, ассемблер подразумевает в этом случае, что файл имеет расширение .asm.) На экране вы увидите следующее:

Turbo Assembler Version 4.1 Copyright (C) 1988, 1996 by Borland International Inc (1)

Assembling file:Lab1.asm (2)

Error messages: None (3)

Warning messages: None (4)

Remaining memory: 389K (5)

1 - Турбо ассемблер, версия 4.1; авторские права фирмы Borland, 1988, 1996 гг.; 2 - ассемблирован файл Lab1.asm; 3 - сообщения об ошибках: нет; 4 - предупреждающие сообщения: нет; 5 - остается памяти: 389Кb

Если вы введете файл Lab1.asm в точности так, как показано, то вы не получите никаких предупреждающих сообщений или сообщений об ошибках. Если вы получаете такие сообщения, они появляются на экране наряду с номерами строк, указывающими строки, где содержатся ошибки. При получении сообщений об ошибках проверьте исходный код (текст) программы и убедитесь, что он выглядит точно так, как исходный код в нашем примере, а затем снова ассемблируйте программу.

Компоновка. После ассемблирования файла Lab1.asm вы продвинулись только на один шаг в процессе создания программы. Теперь, если вы скомпонуете только что полученный объектный код в выполняемый вид, вы сможете запустить программу.

Для компоновки программы используется программа TLINK, представляющая собой поставляемый вместе с Турбо ассемблером компоновщик. Введите командную строку:

TLINK Lab1

Здесь опять не требуется вводить расширение имени файла. Tlink по умолчанию предполагает, что этим расширением является расширение .obj. Когда компоновка завершится, компоновщик автоматически присвоит файлу с расширением .exe имя, совпадающее с именем вашего объектного файла (если вы не определили другое имя). При успешной компоновке на экране появляется сообщение:

Turbo Linker Version 3.0 Copyright (c) 1987, 1990 by by Borland International Inc.

В процессе компоновки могут возникнуть ошибки (в данной программе это маловероятно). Если вы получили сообщения об ошибках компоновки, (они выводятся на экран), измените исходный код программы так, чтобы он в точности соответствовал тексту программы в приведенном выше примере, а затем снова выполните ассемблирование и компоновку.

Запуск. Теперь программу можно запустить на выполнение. Для этого перейдите в каталог 'C:\Tasm\' наберите в командной строке Lab1 и нажмите ENTER. На экран выведется сообщение:

Привет!

Это наиболее простой пример написания исходного кода и перевода его в исполняемый файл, где процессы ассемблирования и компоновки использованы без ключей. В приложении 1 и 2 к данной работе описаны ключи Tasm.exe и Tlink.exe. изучите их внимательно, попробуйте проделать выше перечисленные процессы уже с использованием некоторых ключей.

Как, известно, в процесс написания программы большую часть времени занимает отладка. В состав пакет ассемблирования программ входит также файл Td.exe - "Турбоотладчик". Вкратце основы работы с Турбоотладчиком состоит в следующем: для запуска и программы уже готового .exe-файла наберите в командной строке

Td Lab1

В появившемся окне Турбоотладчик сообщит о том, что загружена программа. Нажмите Enter, затем F5 и окно Турбоотладчика развернется во весь экран.

На экране вы увидите код своей программы в немного измененном варианте. Нажимая клавиши F8 или F7, вы будете пошагово выполнять свою программу, при этом следите за содержанием окон Турбоотладчика.

На основе пройденных лекций и дополнительной литературы изучите самостоятельно Турбоотладчик, обратите особое внимание на окна CPU, DUMP, WATCHES, а также на окна флагов и регистров.