15279

Команди і директиви мови Асемблер

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

Информатика, кибернетика и программирование

Лабораторна робота № 4 Тема: Команди і директиви мови Асемблер. Мета роботи: Набути навичок застосування асемблерних команд передачі інформації. Засвоїти способи адресування операндів вказаних груп команд та алгоритми їх виконання.

Украинкский

2013-06-11

122.5 KB

3 чел.

PAGE  6

Лабораторна робота № 4

Тема: Команди і директиви мови Асемблер.

Мета роботи: Набути навичок застосування асемблерних команд передачі інформації. Засвоїти  способи адресування операндів вказаних груп команд та алгоритми їх виконання.                                  

 

  1.  Короткі теоретичні відомості

1.1 Команди передачі інформації

1.1.1 Команди пересилання даних

Окрім часто застосовуваної команди MOV, з якою ми познайомилися в попередніх лабораторних роботах, до цієї групи команд входить ще декілька специфічних команд, які розглянемо нижче.

Команда XCHG взаємозамінює значення двох операндів. Вона виконується за наступним алгоритмом:

operand1 < - > operand2.

Команда підтримує наступні формати:

XCHG REG, mem

XCHG mem, REG

XCHG REG, REG.

Команда LAHF завантажує в регістр AH 8 молодших біт регістру прапорців F. Це безоперандна команда.

Команда LEA завантажує ефективну адресу комірки пам’яті в заданий регістр. Команда підтримує єдиний формат:

LEA REG, memory

і виконується за алгоритмом:

REG = address of memory (offset).

1.2 Принципи організації стеку

Стековим запам’ятовуючим пристроєм або стеком називають запам’ятовуючий пристрій, що працює за принципом: останній увійшов – перший вийшов (LIFO – Last Input First Output), тобто пристрій з послідовним доступом, в якому порядок зчитування даних є обернений до порядку запису. В МПС стек використовують при звертаннях до підпрограм і при обробленні переривань, тобто у випадках, коли потрібно перервати хід виконання основної програми і передати керування підпрограмі чи обробнику переривань.

Організація стеку може бути апаратною або апаратно-програмною.

У першому випадку стек реалізують з використанням регістрового файлу (набору регістрів). Регістри сполучені таким чином, що забезпечується паралельний зсув інформації від першого регістру, який називають вершиною стеку, до останнього регістру. Таким чином останній запис завжди знаходиться у вершині стеку, звідки і починається зчитування даних. Порядок запису/читання стеку при такій організації ілюструє рис.1.

Номер комірки стеку

Порядок розташування даних у стеку

m

D1(n)

m-1

D2(n)

2

Dm-1(n)

Вершина стеку→

1

Dm(n)

Порядок запису у стек

Порядок читання стеку

Рисунок 1 – Порядок запису/читання стеку при його апаратній організації

Організація стеку m×n (m – число слів у стеку, n – розрядність слова стеку) залежить від конкретного мікропроцесора. Для багатьох мікропроцесорів максимальне число слів, що можуть зберігатися у стеку, не перевищує декількох десятків.

При апаратно-програмній організації, що має місце в сучасних персональних комп’ютерах, під стек виділяється частина адресного простору оперативного запам’ятовуючого пристрою (ОЗП) МПС. При цьому стек розташовують у швидкодіючих  ОЗП статичного типу. Для адресування даних, що поміщаються у стек, використовують спеціальний регістр – вказівник стеку (Stack Pointer), який містить адресу останньої зайнятої комірки стеку. Якщо стек пустий, то вказівник стеку містить адресу вершини стеку. При запису даних у стек вміст вказівника стеку кожний раз зменшується на 1 при організації стеку байтами (SP:=SP–2) і на 2 – при організації стеку словами (SP:=SP–2), а при читанні – відповідно збільшується на 1 (SP:=SP+1) у першому випадку та на 2 (SP:=SP+2) – у другому випадку. При апаратно-програмній організації стеку зсуву даних немає, як це мало місце при апаратній організації стеку. Роботу стеку при його апаратно-програмній організації ілюструє рис.2 (організація стеку байтами: n=8).

Адреса комірки стеку (SP)

Порядок розташування даних у стеку

00…00

Dm(n)

00…01

Dm-1(n)

Am-2

D2(n)

Вершина стеку→

Am-1

D1(n)

Рисунок 2 – Порядок запису/читання стеку при його апаратно-прогрмній організації

Для організації стеку відведений сегмент, що складається з m комірок ОЗП, адресування яких всередині сегменту є лінійним в діапазоні від нуля до адреси Am-1.

 1.3 Команди роботи зі стеком

Команда PUSH зберігає 16 біт величину в стеку. Команда підтримує наступні формати: 

PUSH REG

PUSH SREG
PUSH memory

Алгоритм виконання команди:

SP = SP - 2

SS:[SP] (вершина стеку) = operand.

Команда PUSHF зберігає регістр прапорців у стеку. Команда використовується без операнду і виконується за алгоритмом:

SP = SP - 2

SS:[SP] (вершина стеку) = flags.

Команда POP повертає 16 біт величину зі стеку. Команда підтримує наступні формати:

POP REG

POP SREG
POP memory

Алгоритм виконання команди:

operand = SS:[SP] (вершина стеку)

SP = SP + 2.

Команда POPF повертає регістр прапорців зі стеку. Команда використовується без операнду і виконується за алгоритмом:

flags = SS:[SP] (вершина стеку)

SP = SP + 2.

  1.  Постановка завдання

  1.  Використовуючи середовище емулятора МП і8086, створити проект асемблерної програми відповідно до індивідуального завдання за нижченаведеним шаблоном програми:

ORG 100H

MOV OP1, C1H

MOV OP2, C2H

XCHG OP1, OP2

LAHF

XCHG R1, AH

LEA R2, mem1

MOV SR, R2

PUSH R1

PUSH SR

PUSH mem1

MOV R3, 0

MOV R1, R3

MOV SR, R3

MOV mem1, R3

POP R1

POP SR

POP mem1

RET

MEM1 dw C3H

END.

  1.  Використовуючи середовище емулятора скласти лістинг програми (табл..1)

Таблиця 1 Лістинг програми

Зміщення

Код (Hex)

Мнемокод команди

К-сть байт

Коментар

100

B8

MOV AX, 0000h

3

Код операції – запис числа 0000h в регістр AX

101

00

Молодший байт числа

102

00

Старший байт числа

  1.  Використовуючи покроковий режим роботи емулятора, проаналізувати хід виконання програми. Заповнити табл..2 результатів досліджень.

  1.  Варіанти індивідуальних завдань

  1.  Варіанти індивідуальних завдань до даної лабораторної роботи наведені у табл.. 3.

  1.  Методичні вказівки

  1.  Увійти в середовище емулятора Emu8086.
    1.  Створити новий проект типу “com” під власним іменем.
    2.  У створеному проекті набрати текст програми відповідно до п.2.1 і індивідуального завдання.
    3.  Скомпілювати створений проект.
    4.  Проаналізувати повідомлення про помилки, якщо такі мають місце. Записати повідомлення у звіт до лабораторної роботи. Пояснити причини виникнення помилок і вказати шляхи їх усунення.
    5.  Після успішного завершення процедури компілювання проекту перейти до аналізу роботи створеної програми відповідно до п.п.2.2 і 2.3, використовуючи покроковий режим роботи емулятора.
    6.  В процесі аналізу роботи програми контролювати і записувати зміни вмісту регістрів, що приймають участь в роботі програми.

  1.  Зміст звіту

  1.  Назва теми.
    1.  Мета роботи.
    2.  Індивідуальне завдання.
    3.  Лістинг програми відповідно до п.2.2 з відповідними коментарями.
    4.  Результати досліджень регістрів відповідно до п.2.3.
    5.  Відповіді на контрольні запитання.
    6.  Висновки, в яких дати характеристику досліджуваних команд.

  1.  Контрольні запитання

  1.  Які команди відносяться до групи  команд передавання інформації?
    1.  Дайте характеристику команди XCHG.
    2.  Дайте характеристику команди LEA.
    3.  . Дайте характеристику команди LAHF.
    4.  Яке призначення стекової памяті?
    5.  Поясніть порядок запису/читання стеку при його апаратно програмній організації.
    6.  Дайте характеристику команди PUSH.
    7.  Дайте характеристику команди POP.
    8.  Дайте характеристику команд PUSHF і POPF.


Таблиця 2 Результати досліджень

№ кроку

IP

Команда

CS

SS

SP

BP

SI

DI

DS

ES

BX

CX

AX

DX

Коментар

H

L

H

L

H

L

H

L

0

100

MOV AX, 0000H

0B56

0B56

FFFE

0000

0000

0000

0B56

0B56

00

00

00

17

00

00

00

00

очистка регістру AX

1

103

Таблиця 3 Індивідуальні завдання до лабораторної роботи №4

№ варіанту

OP1

OP2

R1

R2

R3

SR

C1h

C2h

C3h

Примітка

1

[200H]

AX

BL

SI

DX

ES

A501H

105AH

dw A0H

2

BX

[220H]

CH

DI

AX

DS

B0C5H

5C0BH

dw B0H

3

[BX]

CX

DL

SI

AX

SS

C1D2H

2D1CH

dw C0H

BX<230H

4

DX

[BX]

CL

DI

AX

ES

D505H

505DH

dw D0H

BX<220H

5

[DI]

AX

BH

SI

CX

DS

E102H

201EH

dw E0H

DI<200H

6

BX

[SI]

DH

DI

AX

SS

F307H

703FH

dw F0H

SI<210H

7

[BX+DI]

AX

DL

SI

CX

ES

E469H

964EH

dw A5H

BX<220H; DI<AH

8

CX

[BX+SI]

DH

DI

AX

DS

D103H

301DH

dw D5H

BX<200H; SI<10H

9

AX

[200H]

BL

SI

DX

SS

105AH

A501H

dw E0H

10

[220H]

BX

CH

DI

AX

ES

5C0BH

B0C5H

dw F0H

11

CX

[BX]

DL

SI

AX

DS

2D1CH

C1D2H

dw A5H

BX<230H

12

[BX]

DX

CL

DI

AX

SS

505DH

D505H

dw D5H

BX<220H

13

AX

[DI]

BH

SI

CX

ES

201EH

E102H

dw A0H

DI<200H

14

[SI]

BX

DH

DI

AX

DS

703FH

F307H

dw B0H

SI<210H

15

AX

[BX+DI]

DL

SI

CX

SS

964EH

E469H

dw C0H

BX<220H; DI<AH

16

[BX+SI]

CX

DH

DI

AX

ES

301DH

D103H

dw D0H

BX<200H; SI<10H


  1.  Джерела інформації

  1.  Ю.І. Якименко, Т.О. Терещенко, Є.І. Сокол та ін. Мікропроцесорна техніка: Підручник. – Київ. – ІВЦ «Видавництво «Політехніка». – 2004. – 439 с.
    1.  Юров В., Хорошенко С. Assembler: учебный курс – СПб: Питер Ком, 1999. – 672 с.

PAGE  2


PAGE  2


PAGE  


PAGE  7


 

А также другие работы, которые могут Вас заинтересовать

46619. Общие требования к уроку изобразительного искусства. Традиционный урок его структура и особенности 22.37 KB
  опыт; развивающий характер занятий; реализация дидактических принципов в оптимальных соотнощениях; обеспечение надлежащих условий для продуктивнопознавательной деятти с учетом особенностей интересов; установление межпредметных связей; связь с ранее изученным преемственность; активизация познавательных процессов мотивации; логичность и эмоциональность педагогического процесса; эффективное использование педагогических средств; связь с жизнью; формирование ЗУНОВ;формирование умения учиться; ориентировка на зону ближайшего...
46620. Удельная государственно-политическая система (на примере Владимиро-Суздальского и Галицко-Волынского княжеств). Русское право периода раздробленности. Дворцово-вотчинная система управления 22.38 KB
  Период феодальной раздробленности характерен бесконечными войнами распрями междоусобицами разорявшими крестьянство города ослаблявшими военную мощь Руси. Под властью Владимирского князя оказалась огромная территория северовосточной Руси. Как утверждают историки это было сильное и жизнеспособное политическое образование которое могло претендовать не только на самсютоятельность но и на центральное положение во всей Руси. киевский митрополит Максим не терпя насилия татарского оставил Киев и переехал во ВладимирСуздальский что...
46621. Анализ программы «Изобразительное искусство» под ред. В.С.Кузина (1-7 класс) 22.42 KB
  3 В основе программы лежат принципы:1 тематический принцип планирования учебного материала; 2принцип воспитывающего обучения; 3научность обучения; 4доступность обучения; 5систематичность и последовательность бучения; 6сознательность и активность в обучении; 7принцип межпредметных связей; 8преемственности; 9прочности усвоения матла; 10проблемности. Сущность процесса обучения. Процесс обучения это целенапр. науки и процесс обучения дидактич.
46622. Внеклассная и внешкольная работа по изобразительному искусству (кружок, конкурс рисунков, экскурсия, поисковая работа) 22.53 KB
  Работы и их классифик; 3особенти методики организации кружка конкурса рисунков эскурсии поисковой работы. 2К Основ формам внеклас и внешк работы относятя: кружок кл. Кружок по Изонаиболее распростр вид внеклас работы в школе. Организация работы кружка включает разработку содержания занятий с учетом склонностей интересов учся разного возраста.
46623. Эмиль Антуан Бурдель 22.67 KB
  С их подчас неистовой экспрессией Памятник павшим в Монтобане бронза 1893 1902 отмечены дробностью ритмов объёмов усложнённостью общего построения. отличаются единством конструктивности и динамики контрастностью света и тени грубоватоэнергичной обработкой утрированнокрупных плотных форм активностью пространственного построения Геракл стреляющий из лука 1909 Пенелопа 1909 12 Сафо 1924 25 все бронза. Роден бронза 1909; А. Франс бронза 1919 Б.
46624. Методика знакомства с архитектурой как искусством на уроках изобразительного искусства 22.78 KB
  Учебная мотивация частный вид мотивации включенный в учебную деятельность и определяющий потребность учащегося в получении знаний. Выделяют такие типы мотивации связанной с результатами учения как: мотивация которая условно может быть названа отрицательной. Косвенно об учебной мотивации свидетельствует уровень реальной успешности учебной деятельности. Зная тип мотивации учитель может создать условия для подкрепления соответствующей положительной мотивации.
46626. Основные понятия терминов «Энергосбережение», «энергосберегающая политика государства», «энергоэффективность» 22.93 KB
  Энергоэффективность это количественная характеристика показатель предполагающий максимальное использование способности энергии совершать работу. Понятие энергии. Энергетические ресурсы это материальные объекты в которых сосредоточен тот или иной вид энергии пригодной к экономически обоснованной для практического использования на данном этапе развития науки и техники. Топливноэнергетический комплекс Республики Беларусь включает системы добычи транспорта хранения производства и распределения основных видов энергоносителей: природного...
46627. Издательские портфели 23 KB
  не по заказу издательства но которые могут быть приняты к изданию. Состоит из произведений находящихся на разных стадиях производственного процесса до сдачи тиража в книготорговую сеть или поступления его на склад издательства. Портфельный запас обеспечивает нормальную работу издательства и планомерный выпуск книг. Портфельный запас обеспечивающий нормальную работу издательства и планомерный выпуск книг нормативный портфельный запас определяется путем умножения среднего объема однодневного выпуска в целом по издательству или по разделам...