У вас вопросы?
У нас ответы:) SamZan.net

Лабораторная работа 1.

Работа добавлена на сайт samzan.net: 2016-03-13

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 2.2.2025

Лабораторная работа 1. Выполнение простых задач

Цель работы: изучить процессы ассемблирования, компоновки и выполнения программы, а также – научиться решать, тестировать и отлаживать на ЭВМ простейшие типовые задачи  как вычислительного, так и не вычислительного характера. Как правило, в самой постановке такой задачи уже определен алгоритм ее решения. Необходимо записать этот алгоритм, используя основные конструкции языка ассемблера. Для проверки правильности работы программы должны быть представлены необходимые тестовые данные.

Задания.

Написать программу.

1. Вывод сообщения на экран с начала строки.

2. Вывод сообщения на экран с середины экрана.

3. Вывод сообщения на экран с начала строки и в рамке, построенной из любых символов псевдографики.

4. Вывод сообщения в рамке на середину экрана.

5. Вывод на экран символа с помощью функции 2h, для этого запишите в сегменте кодов:

mov

ah, 2h

; функция вывода символа на экран

mov

dl, ‘A’

;ASCII

int

21h

;прерывание DOS

6. Вывод сообщения на экран. Перед выдачей сообщения очистить экран функцией 6 int 10h:

mov

ah, 6h

; функция очистки экрана

mov

al, 0

; 0 - весь экран

mov

ch, 0

; номер строки левого верхнего угла

mov

cl, 0

; номер столбца левого верхнего угла

mov

dh, 24

; номер строки правого нижнего угла

mov

dl, 79

; номер столбца правого нижнего угла

mov

bh, 30h

; байт атрибут (на бирюзовом фоне черные символы)

int

10h

; прерывание BIOS

Вставить эти 8 команд после 9-й строки.

7. Вывод сообщения на экран. Перед выдачей сообщения установить курсор функцией 2 int 10h:

mov

ah, 2h

; функция установки курсора

mov

bh, 0

; текущая видеостраница

mov

dh, 5

; номер строки –5

mov

dl, 10

; номер столбца -10

int

10h

; прерывание BIOS

Вставить эти команды перед выдачей символа или сообщения.

8. Вывод сообщения на экран. Перед выдачей сообщения нарисовать цветное окно функцией 6 int 10h и установить курсор функцией 2 int 10h.

Методические рекомендации по выполнению лабораторной работы

При составлении программы на языке ассемблера можно выделить следующие этапы:

 1) составление блок – схемы;

 2) создание исходной программы NAME.ASM, где NAME – любое допустимое в С имя DOS файла;

 3) создание объектной программы NAME.OBJ;

 4) создание исполняемой программы NAME.EXE;

 5) выполнение EXE – программы;

 6) проверка результатов.

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

 Исходный текст программы создается в любом редакторе текстов. Редактор текста представляет собой программу, которая обеспечивает ввод и корректировку исходных текстов программ в кодах ASCII.

Транслятор (компилятор) формирует дисковый файл, содержащий объектный модуль NAME.OBJ (текст программы на машинном языке, но без реализации связей между подпрограммами).

Компоновщик (загрузчик) осуществляет компоновку результирующих модулей с предполагаемыми библиотечными модулями и завершает определение адресных ссылок, т.е. создает перемещаемый исполняемый модуль NAME.EXE. Представленный здесь Турбо Ассемблер, включающий встроенные компилятор, компоновщик и отладчик, разработан фирмой Borland International для семейства микрокомпьютеров IBM PC. Он совместим с ассемблером MASM фирмы Microsoft Corporation, но кроме того содержит много полезных расширений и улучшений и обладает более высоким быстродействием.

Компилятор Турбо Ассемблера – это выполняемая программа, размещенная в файле TASM. EXE. Компилятор вызывается командой

Tasm Name.asm ,

в которой Name.asm является именем компилируемого файла, и создает перемещаемый объектный файл Name.obj.

Вызов компилятора в общем случае имеет вид:

TASM fileset; fileset; …; fileset

где fileset представляет собой конструкцию вида

options, sources, object, list, xref

причем options представляет собой название  опции, sources – имя исходного файла или последовательность таких имен, разделенных символом + (плюс) либо пробелом, object – имя результирующего файла(.OBJ), list - имя файла, куда будет помещен листинг компиляции, а xref – имя файла, куда будет помещена таблица перекрестных ссылок. Таблица перекрестных ссылок содержит перечень символических имен модуля, мест, в которых они определены, а также номера строк, в которых появились ссылки на них.

Например, команда

TASM  /l  prim1+prim2, prim; /zi test

приведет к созданию из исходных модулей prim1.asm и prim2.asm результирующего модуля prim.obj , а также  листинга компиляции, который будет помещен в файле prim.lst (опция /l) и, кроме того, созданию из исходного модуля test.asm с использованием опции /zi результирующего модуля test.obj.

С целью создания исполнительной программы необходимо провести компоновку результирующих модулей .obj с предполагаемыми библиотечными модулями. Эту задачу выполняет компоновщик Turbo Link фирмы Borland Int.

Компоновщик является выполняемой программой, хранящейся в файле TLINK.EXE.

Вызов компоновщика TLINK в общем случае имеет вид

TLINK options, objects, exec, map, libraries

где options – набор опций, objects – множество имен файлов, содержащих результирующие модули, exec – имя файла, в который будет помещена выполняемая программа, map – имя файла, в который будет помещена карта компоновки, libraries – множество имен файлов, содержащих библиотеки результирующих модулей. Опции отделяются пробелами, имена файлов должны быть отделены пробелами или знаками + (плюс).

Порядок выполнения работы.

1. Введите в компьютер исходный ассемблерный текст программы с помощью любого текстового редактора. При использовании встроенного редактора NC:

F4 – редактирование выделенного курсором файла;

SHIFT+F4 – создание нового файла, не имеющегося на диске, нужно ввести имя файла;

ALT+F4 – внешний редактор.

Введите данную программу:

(Номера строк и угловые скобки не набирать!)

Data

segment

<1 >

string

db

db

‘Ваши фамилия и имя :……. ‘ ,13,10

’Ваш возраст : …..’,’$’

< 2>

<3 >

data

ends

< 4>

code

segment

< 5>

assume

cs:code, ds:data

< 6>

start:

< 7>

mov

ax, data

< 8>

mov

ds, ax

< 9>

mov

dx, offset string

< 10>

mov

ah,9h

< 11>

int

21h

< 12>

mov

al,0

< 13>

mov

ah,4ch

< 14>

int

21h

< 15>

code

ends

< 16>

end

start

< 17>

2. После выхода из редактирования убедитесь в наличии вашей программы в текущем каталоге – Name.ASM. Для получения .OBJ – модуля, необходимо в командную строку набрать имя транслятора и имя вашего файла – TASM.EXE NAME.ASM.

Быстрый способ :

выделите на панели файл TASM.EXE, нажмите CTRL+ENTER

выделите на панели файл NAME.ASM , нажмите CTRL+ENTER

Проверьте информацию в командной строке. Для выполнения трансляции нажмите ENTER.

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

3. Для получения выполняемой программы, необходимо в командную строку набрать имя компоновщика TLINK.EXE и имя вашего объектного файла NAME.OBJ - TLINK.EXE NAME.OBJ нажмите ENTER.

В текущем каталоге появится файл – NAME.EXE и файл, содержащий таблицу имен и размеров сегментов NAME.MAP.

4. Выделите курсором исполняемый файл и нажмите ENTER. Такое исполнение программы возможно при явных результатах или при полной уверенности в ее безошибочной работе.

Основная литература –3[12-18]

Контрольные вопросы:

  1.  Структура программы на языке ассемблера.
  2.  Этапы выполнения программы.
  3.  Функции вывода 9h и 2h int 21h.
  4.  Как создается исходный файл?
  5.  Расширение исходного файла.
  6.  Имя транслятора.
  7.  Что делает транслятор?
  8.  Какие выходные файлы получаются в результате трансляции? (с какими расширениями)
  9.  Пример командной строки запуска транслятора.
  10.  Имя компоновщика.
  11.  Какие файлы являются входными при компоновке?
  12.  Какие файлы являются выходными при компоновке?
  13.  Какое расширение имеет исполняемый файл?
  14.  Пример командной строки запуска компоновщика.
  15.  Как можно посмотреть файл листинга?




1. визвольної боротьби Початок XX ст
2. тематике теорема Фалеса
3. Лабораторная работа 4 Категорийные данные Категорийные данные представляют собой набор нечисловых значе
4. РЕФЕРАТ дисертації на здобуття наукового ступеня кандидата наук з фізичного виховання і спорту Л
5. про себя речь в форме которой человек думает
6. пражскую школу знаменитой
7. реферату- Фінансування інноваційних проектів через мережу інноваційних фондівРозділ- Менеджмент Фінансув
8. Взрывные вещества и взрывные устройства, применяемые при совершении террористических акций
9. технических условий ценностей и традиций управления профессионального образовательного и нравственного.
10. Язык разметки гипертекста