
- •Л Составитель: преп.Каф.Информатики Аркабаев Нуркасым Кылычбекович абораторная работа №1 Начало работы на языке ассемблера
- •Теоретическая часть
- •Задание
- •Контрольные вопросы.
- •Лабораторная работа №2 д Составитель: преп.Каф.Информатики Аркабаев Нуркасым Кылычбекович ирективы языка ассемблера
- •Теоретическая часть
- •Задания (2 часа)
- •Контрольные вопросы
- •Лабораторная работа №3 к Составитель: преп.Каф.Информатики Аркабаев Нуркасым Кылычбекович оманды пересылки данных. Стек.
- •Теоретическая часть
- •Команды пересылки данных
- •Задание
- •Контрольные вопросы:
- •Лабораторная работа №4 а Составитель: преп.Каф.Информатики Аркабаев Нуркасым Кылычбекович рифметические операции. Битовые команды.
- •Теоретическая часть
- •Битовые команды
- •Задание
- •Контрольные вопросы:
- •Теоретическая часть
- •Задание
- •1. Предварительная подготовка
- •2 Порядок выполнения работы на эвм
- •Контрольные вопросы:
- •С Составитель: преп.Каф.Информатики Аркабаев Нуркасым Кылычбекович троковые функции и массивы (4 часа).
- •Теоретическая часть Строковые инструкции
- •Инициализация массивов
- •Задание
- •Контрольные вопросы:
- •Лабораторная работа №7 п Составитель: преп.Каф.Информатики Аркабаев Нуркасым Кылычбекович роцедуры.
- •Теоретическая часть
- •Работа команд ret и retf
- •Задание
- •Программа №7.1
- •Контрольные вопросы
Л Составитель: преп.Каф.Информатики Аркабаев Нуркасым Кылычбекович абораторная работа №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, а также на окна флагов и регистров.