Добавить материал и получить бесплатное свидетельство о публикации в СМИ
Эл. №ФС77-60625 от 20.01.2015
Инфоурок / Информатика / Другие методич. материалы / Лабораторная работа «Программирование на языке Ассемблер в среде операционной системы MS DOS»

Лабораторная работа «Программирование на языке Ассемблер в среде операционной системы MS DOS»



Осталось всего 2 дня приёма заявок на
Международный конкурс "Мириады открытий"
(конкурс сразу по 24 предметам за один оргвзнос)


  • Информатика

Поделитесь материалом с коллегами:

Методические указания к выполнению лабораторных работ по МДК 01.01 «Системное программирование»

для специальности 09.02.03 «Программирование в компьютерных системах»


Лабораторная работа №6

Тема: «Программирование на языке Ассемблер в среде операционной системы MS DOS»

Цель работы: приобретение навыков программирования на языке Ассемблер в среде операционной системы MS DOS.

Ход работы:

  1. Изучить теоретическую часть

  2. Выполнить задание в соответствии с указаниями

  3. Ответить на контрольные вопросы

  4. Предъявить преподавателю результаты работы: проект и исходный код

  5. Оформить отчет в соответствии с ходом работы

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

Простые арифметические операторы.

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

Сложение.

Команда ADD (Addition - сложение (гл. to add - сложить)) осуществляет сложение первого и второго операндов. Исходное значение первого операнда (приемника) теряется, замещаясь результатом сложения. Второй операнд не изменяется. В качестве первого операнда команды ADD можно указывать регистр (кроме сегментного) или ячейку памяти, в качестве второго - регистр (кроме сегментного), ячейку памяти или непосредственное значение, однако не допускается определять оба операнда одновременно как ячейки памяти. Операнды могут быть байтами или словами и представлять числа со знаком или без знака. Команду ADD можно использовать для сложения как обычных целых чисел, так и двоично-десятичных (с использованием регистра АХ для хранения результата). Команда воздействует на флаги OF, SF, ZF, AF, PF и CF.

Примеры:

mov al,10 - --> загружаем в регистр AL число 10

add al,15 - --> al = 25; al - приемник, 15 - источник

mov ax,25000 - --> загружаем в регистр AX число 25000

add ax,10000 - --> ax = 35000; ax - приемник, 10000 - источник

mov cx, 200 - --> загружаем в регистр CX число 200

mov bx,760 - --> а в регистр BX - 760

add cx,bx - --> cx = 960, bx = 760 (bx не меняется); cx - приемник, bx - источник


Вычитание.

Команда SUB (Subtraction - вычитание) вычитает второй операнд (источник) из первого (приемника) и помещает результат на место первого операнда. Исходное значение первого операнда (уменьшаемое) теряется. Таким образом, если команду вычитания записать в общем виде

SUB операнд1, операнд2

то ее действие можно условно изобразить следующим образом:

операнд1 - операнд2 - > операнд1

В качестве первого операнда можно указывать регистр (кроме сегментного) или ячейку памяти, в качестве второго - регистр (кроме сегментного), ячейку памяти или непосредственное значение, однако не допускается определять оба операнда одновременно как ячейки памяти. Операнды могут быть байтами или словами и представлять числа со знаком или без знака. Команда воздействует на флаги OF, SF, ZF, AF, PF и CF.

Примеры:

mov al,10

sub al,7 - --> al = 3; al - приемник, 7 - источник

mov ax,25000

sub ax,10000 - --> ax = 15000; ax - приемник, 10000 - источник

mov cx,100

mov bx,15

sub cx,bx - --> cx = 85, bx = 15 (bx не меняется); cx - приемник, bx - источник


Инкремент (увеличение на 1).

Команда INC (Increment - инкремент) прибавляет 1 к операнду, в качестве которого можно указывать регистр (кроме сегментного) или ячейку памяти размером как в байт, так и в слово.

Не допускается использовать в качестве операнда непосредственное значение. Операнд интерпретируется как число без знака. Команда воздействует на флаги OF, SF, ZF, AF и PF. Команда не воздействует на флаг CF; если требуется воздействие на этот флаг, необходимо использовать команду Add Op,l.

Команда INC (Increment - инкремент) увеличивает на единицу регистр или значение операнда в памяти.

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

Примеры:

mov al,15

inc al - --> теперь AL = 16 (эквивалентна add al,1)

mov dh,39h

inc dh - --> DH = 3Ah (эквивалентна add dh,1)

mov cl,4Fh

inc cl - --> CL = 50h (эквивалентна add cl,1)


Декремент (уменьшение на 1).

Команда DEC (Decrement - декремент) вычитает 1 из операнда, в качестве которого можно указывать регистр (кроме сегментного) или ячейку памяти размером как в байт, так и в слово. Не допускается использовать в качестве операнда непосредственное значение. Операнд интерпретируется как число без знака. Команда воздействует на флаги OF, SF, ZF, AF и PF.

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

Примеры:

mov al,15

dec al - --> теперь AL = 14 (эквивалентна sub al,1)

mov dh,39h

dec dh - --> DH = 38h (эквивалентна sub dh,1)

mov cl,4Fh

dec cl - --> CL = 4Dh (эквивалентна sub cl,1)

Задание 1.


1. Запустить эмулятор EMU8086.


2. Получите задание у преподавателя (один из пяти вариантов табл. №1) и, пользуясь правилами оформления ассемблерных программ, напишите программы расчета значения A (два-три варианта).


3. Программу ассемблируйте в файл типа *. Exe.


варианта

Расчетная формула

B

C

D

1

A=B+C-D

1

35

23

2

A=B+C+D

65

1

1

3

A=C-D+B

1

33

1

4

A=D+A-B

18

1

88

5

A= B-C+D

45

10

1



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


1. Структура файлов типа *. exe?


2. Структурные отличия файлов *. exe от *.com в операционной среде DOS?


3. Команда add основное назначение?


4. Команда sub основное назначение?


5. Команда inc основное назначение?


6. Команда dec основное назначение?






57 вебинаров для учителей на разные темы
ПЕРЕЙТИ к бесплатному просмотру
(заказ свидетельства о просмотре - только до 11 декабря)


Автор
Дата добавления 04.10.2016
Раздел Информатика
Подраздел Другие методич. материалы
Просмотров18
Номер материала ДБ-236194
Получить свидетельство о публикации
Похожие материалы

Включите уведомления прямо сейчас и мы сразу сообщим Вам о важных новостях. Не волнуйтесь, мы будем отправлять только самое главное.
Специальное предложение
Вверх