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

Задания (2 часа)

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

.Model Small ;Модель памяти ближнего типа

.Stack 100h ;Определяет стек размером 100h

.Data ;Начало сегмента данных

Hello DB 'Лабораторная работа №2 !$' ;Зарезервировали память

;для переменной HELLO

.Code ;Начало сегмента кода

Start:

mov ax,@DATA ;Формирование адреса сегмента

mov ds,ax ;данных

lea DX,Hello ;Установить в DX адрес переменной HELLO

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

int 21h ;Вывод строки на экран

mov ax,4C00h ;Функция DOS завершения

int 21h ;программы

END start ;конец программы

2. Создайте исполняемый файл Lab2.EXE, выполнив ассемблирование и компоновку файла.

3. Пример создания программы в виде *.com файла

3.1. Войдите в директорию TASM, в ней создайте файл с именем Lab21.asm. Введите текст следующей программы (без комментариев).

; Пример оформления программы в виде com-файла

.MODEL SMALL

.CODE

org 100h

begin:

jmp start

Hello DB 'Hello!$'

start: LEA DX,Hello

mov ah,09h

int 21h

mov ah,4ch

mov al,00h

int 21h

END begin

3.2 Создайте исполняемый *.com файл Lab2.com, выполнив ассемблирование и компоновку файла Lab2.asm. При компоновки наберите TLINK/t Lab2

2 часа

4. Напишите отчет о директивах ассемблера

5. Продемонстрируйте работающие программы Lab1.exe, Lab2.com

6. Показать работа двух программ в Турбоотладчике

7. Напишите в отчете основные отличия в создании и структуре.com и .exe файлов.

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

  1. Какую структуру имеет программа на языке ассемблера?

  2. Какого вида предложения бывают в исходном коде на ассемблере?

  3. Опишите назначения директив Assume и Model?

  4. Модели памяти директива Model.

  5. Расскажите разницу между директивами .Code, .Data и .Stack?

  6. Какие директивы определения данных существуют, их отличия и применение?

  7. Создание .com и .exe, их структурное отличие на примере сегментов памяти?

  8. Раскройте механизм сегментации памяти процессора 8086?

  9. Перечислите сегментные регистры процессора 8086, особенности их использования.

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

Цель работы:

  • изучение режимов адресации;

  • изучение правил адресации при использовании регистров;

  • дать понятие о директивах определения данных;

  • понятие о стеке;

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

Во всех 16-битовых ЭВМ принимаются какие-либо меры для расши­рения адресного пространства памяти, т.к. 16-битовый адрес позволя­ет адресоваться только к 64 Кб. В изучаемой ПЭВМ память разбивается на сегменты размером до 64 Кб. По умолчанию каждый сегмент начина­ется с границы параграфа (фрагмента памяти размером в 16 б). Физи­ческий адрес в памяти складывается из начального адреса сегмента и 16-битового смещения (исполнительного адреса, EA) в пределах сег­мента. Для получения физического начального адреса (ФА) содержимое сегментного регистра (начальный номер параграфа) умножается на 16, т.е. дополняется справа четырьмя нулями:

ФА = ННП * 16 + смещение.

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

Адресации обычно делят на 7 групп (способов адресации):

1) регистровая; 2) непосредственная; 3) прямая; 4) косвенная регистровая; 5) адресация по базе (базовая); 6) прямая с индексиро­ванием; 7) адресация по базе с индексированием (базовая индексная). Нетрудно заметить, что такое разделение есть не что иное, как по­пытка проклассифицировать режимы адресации по общепринятым способам адресации, причем не бесспорная, т.к., например, базовая отличается от индексной только используемыми регистрами.

Способы адресации приведены в табл.1.

Таблица 1

N

п/п

Адресация

Основной формат

оператора

Сегмент

По

Умолчанию

Примечание

1

Регистровая

Регистр

1 б или 2 б

Наиболее быстрое выполнение

2

Непосредственная

Данное

1 б или 2 б

Применяется в опера­циях с константами

3

Прямая

Исполнительный адрес 2б

DS

Применяется для однократного обращения

к памяти

4

Косвенная регистровая

[BX]

[ВР]

[SI]

[DI]

DS

SS

DS

DS

Применяется при работе с одномерными массивами

5

Базовая

[BX] + сдвиг

[BP] + сдвиг

DS

SS

Применяется для об­ращения к элементу структуры, нач. адрес которой в ВР или ВХ

6

Прямая с индексированием

Сдвиг[SI]

Сдвиг [DI]

DS

DS

Применяется при ра­боте c одномерными массивами, сдвиг - нач. адрес массива

7

По базе с индексированием

Сдв.[BX][SI]

Сдв.[BX][DI]

Сдв.[BP][SI]

Сдв.[BP][DI]

DS

DS

SS

SS

Применяется при работе с двумерными массивами