37803

Ознайомлення з особливостями застосування на мові Асемблера системи команд керування програмою та процесором, вивчення команд умовного розгалуження

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

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

Вивчити основні команди керування програмою та процесором, отримати навички та вміння щодо застосування команд умовного розгалуження.

Украинкский

2013-09-25

81 KB

1 чел.

PAGE  2

Міністерство освіти України

Національний технічний університет України

Кафедра звукотехніки і реєстрації інформації

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

з курсу: «Основи мікропроцесорної техніки»

на тему: «Ознайомлення з особливостями застосування на мові Асемблера системи команд керування програмою та процесором, вивчення команд умовного розгалуження»

Виконав:

         Перевірив:

ст. 4-го курсу

                              асист. Тітков Д.В.

група ДВ-61

 асист. Крупченко А.А.

Непочатих В. Ю.

   

Київ 2009

Мета роботи

 Вивчити основні команди керування програмою та процесором, отримати навички та вміння щодо застосування команд умовного розгалуження.

Завдання

Сформувати на асемблері Basic – програму

 10 LET A=7

 20 FOR B=1 TO 8

 30 IF B<4 THEN GO SUB 60

 40 NEXT B

 50 GO TO 80

 60 LET A=A+B

 70 RETURN

 80 STOP

Теоретичні відомості

Основні команди керування програмою та процесором

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

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

  1.  JMP(opr)

Тлумачення. Ця команда реалізує операцію безумовного переходу. При виконанні цієї команди компілятором програми мікроконтролера, відбувається завантаження у програмний лічильник PC адреси наступної команди, що задається полем (орr). Іншими словами, адреса переходу та відповідно зміна керування програмою визначається полем операнда. $addr -»(PC)

2) JSR (opr)

Тлумачення. Ця команда реалізує операцію переходу до підпрограми за дійсною адресою. Тобто команда завантажує у програмний лічильник PC адресу початку підпрограми.

3) RTS

Тлумачення, Команда виходу з підпрограми. За цією командою відбувається вивантаження зі стеку вмісту програмного лічильника PC, яке було до виконання та передачі керування у підпрограму.

4) SWI

Тлумачення. Ця команда реалізує програмне переривання програми. Вона виконує завантаження у стек вміст програмного лічильника PC, а також дані що знаходяться в регістрах процесора IX, 1Y, А, В, CCR. При виконанні цієї команди заповнюються 9 комірок стекової пам'яті.

5) RTI

Тлумачення. Команда виходу з переривання. Вона реалізує відновлення вмістів регістрів CCR, А,В, IX, IY, PC зі стеку, які були до виконання запиту на переривання.

6)  RSP

Тлумачення.   Команда   здійснює   встановлення  у   регістрі  стеку  SP початкового значення $00FF.

$00FF -> (SP)

7) NOP

Тлумачення,   Команда   не   виконує   ніяких  дій.   Проте   відбувається пропущення байту (машинного циклу).

8) WAIT

Тлумачення. Перехід процесора мікроконтролера у режим очікування (зупинка процесора).

9) STOP

Тлумачення.  Перехід процесора мікроконтролера у режим останова (зупинення ГТІ).

Особливість. Команди, що наведені у п.8 та п.9 дозволяють виконувати операцію переривання.

Основні команди умовного розгалуження

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

1)        вмісту програмного лічильника PC;

2)       числа $0002;

3)        відносного зміщення у 1 байт (rel8 -> 2 символи).

Якщо ж умова розгалуження не виконується то програмний лічильник переміщується на 2 позиції (2 байта, оскільки команди умовного розгалуження є командами на які використовується 2 машинні цикли процесора)

Формат команд умовного розгалудження: В_ __ геІ8

-де 2 позиції заповнюються у відповідності с синтаксисом команди.

Таблиця 1 - Команди розгалудження асемблера мікроконтролера

Test

Boolean

Mnemonic

Opcode

Complementary

Branch

Comment

r>m

Z+(NV)=1

BGT

2E

rm

BLE

2F

Signed

rm

N+V=0

BGE

2C

r<m

BLT

2D

Signed

r=m

Z=1

BEQ

27

rm

BNE

26

Signed

rm

Z+(NV)=0

BLE

2F

r>m

BGT

2E

Signed

r<m

(NV)=1

BLT

2D

rm

BGE

2C

Signed

r>m

C+Z=0

BHI

22

rm

BLS

23

Unsigned

rm

C=0

BHS/BCC

24

r<m

BLO/BCS

25

Unsigned

r=m

Z=1

BEQ

27

rm

BNE

26

Unsigned

rm

C+Z=1

BLS

23

r>m

BHI

22

Unsigned

r<m

C=1

BLO/BCS

25

rm

BHS/BCC

24

Unsigned

Carry

C=1

BCS

25

No Carry

BCC

24

Simple

Negative

N=1

BMI

2B

Plus

BPI

2A

Simple

Overflow

V=1

BVS

29

No Overflow

BVC

28

Simple

r=0

Z=1

BEQ

27

Z0

BNE

26

Simple

Always

BRA

20

Never

BRN

21

Unconditional

1) ВСС (орr)

Тлумачення.  Перехід за адресою,  що вказується у полі  (орr) та у відповідності з вище наведеним правилом, якщо ознака С у регістрі CCR (ознака переносу) прийме значення (С)~0. Перехід за розрахованою адресою, якщо (С)= "0"

2) BCS (opr)

Тлумачення.    Перехід   за   адресою   у   випадку,    якщо   попередня арифметична операція призвела до переносу, тобто у регістрі ознак CCR прапорець С у положення Т. Перехід за розрахованою адресою, якщо (С)=”1”

3) BNE (орr)

Тлумачення. Перехід за адресою, у випадку шли результат попередньої операції ненульовий, тобто прапорець Z у регістрі ознак CCR приймає значення "0". Перехід за розрахованою адресою, якщо (Z)=”0

4)BEQ(opr)

Тлумачення.    Перехід   здійснюється   у    випадку    якщо    результат попередньої операції нульовий, тобто прапорець Z у регістрі ознак CCR приймає значення "1". Перехід за розрахованою адресою, якщо (Z)= ”1”

5) BPL (орr)

Тлумачення.   Здійснюється   перехід,   якщо   результат   попередньої операції додатній, тобто прапорець N у регістрі ознак CCR приймає значення "0". Перехід за розрахованою адресою, якщо (N)="0"

6) ВМІ (ОРR)

Тлумачення. Здійснюється перехід, якщо результат попередньої операції від'ємний, тобто прапорець N у регістрі ознак CCR приймає значення ”1”. Перехід за розрахованою адресою, якщо (N)="1"

7) BVC (орr)

Тлумачення. Здійснюється перехід за розрахованою адресою,  якщо результат    попередньої    операції        не    призвів    до

переповнення, тобто ознака V у регістрі CCR приймає

нульове значення.

Перехід за розрахованою адресою, якщо (V)=“0”

8) BVS (орr)

Тлумачення.   Перехід   за   адресою,   якщо   в   результаті   виконання попередньої операції  виникло  переповнення  розрядів, тобто ознака V у регістрі CCR прийняла значення "Г. Перехід за розрахованою адресою, якщо (V)="1"

9) BRA (opr)

Тлумачення.   Безумовний   перехід   за  адресою,   і   крім   цього  вміст програмного лічильника PC змінюється наступним чином: (РС)+2+геl8=>(РС)

10)BRN(opr)

Тлумачення. Команда не виконуваного переходу. Іншими словами відбувається зміна вмісту програмного лічильника на 2 байти.

11) BGE (орr) {Перехід, якщо більше чи дорівнює)

Тлумачення.   Перехід   за   визначеною   адресою   відбудеться   якщо (АСС)≥(М) (за вмістом у двійкових цифрах).

(РС)+2+геl8=> (РС)

12) BGT (орr) {Перехід, якщо більше}

Тлумачення.   Перехід   за   визначеною   адресою   відбудеться   якщо (АСС)>(М) (за вмістом у двійкових цифрах).

(РС)+2+геІ8=>(РС)

13) BLE (орr) {Перехід, якщо менше чи дорівнює}

Тлумачення.   Перехід   за   визначеною   адресою   відбудеться   якщо (ACC)≤(M) (за вмістом у двійкових цифрах). (РС)+2-rеІ8=>(РС)

14) BLO (opr) {Перехід, якщо менше}

Тлумачення.   Перехід   за   визначеною   адресою   відбудеться   якщо (АСС)<(М) (за вмістом у двійкових цифрах). (РС)+2+геl=> (РС)

Основні команди, що дозволяють сформувати цикл в тілі програми

1)СВА

Тлумачення. Команда порівняння вмісту акумулятора А з вмістом акумулятора Б. В даному випадку здійснюється віднімання операндів, які знаходяться у регістрах/акумуляторах А та В відповідно, без запису цього результату віднімання, але зі встановленням у регістрі CCR ознак N.Z у відповідності з отриманим значенням,

2) СМРА (орr)

Тлумачення. Здійснюється порівняння між вмістом акумулятора А та вмістом комірки пам'яті, адреса якої задається у полі (орr). Результатом цього порівняння є встановлення відповідної ознаки N,Z у регістрі CCR. Ця команда також дозволяє вказувати безпосередньо операнд для порівняння.

3) СМРВ (орr)

Тлумачення. Здійснюється порівняння між вмістом акумулятора В та вмістом комірки пам'яті, адреса якої задається у полі (орr). Результатом цього порівняння є встановлення відповідної ознаки H,Z у регістрі CCR. Ця команда також дозволяє аказувати безпосередньо операнд для порівняння.

4) CPD (орr); CPX (opr); CPY (орr);

Тлумачення. Відбувається порівняння вмісту регістрів D, IX, IY з даними, що містяться у полі операнда. У полі (орr) можна вказати, або число (константу) у 16-ковій системі числення, або

адресу однієї комірки пам'яті (де міститься старший байт даних), а молодший байт міститься у сусідній комірці.

5) TST (орr)

Тлумачення. Команда тестування на знак, нульове значення вмісту комірки пам'яті, адреса якої задається у полі (орr). Результатом виконання цієї команди є встановлення у регістрі CCR відповідник ознак N,Z.

6) TSTA; TSTB;

Тлумачення. Команда тестування на знак, нульове значення вмісту акумулятора А, В. Результатом виконання цієї команди є встановлення у регістрі CCR відповідник ознак N,Z.

7) INC (opr)

Тлумачення. Здійснюється збільшення на одиницю вмісту комірки пам'яті даних, адреса якої задається командою.

8) INCA; INCB; INCX; INCY; INCS;

Тлумачення.   Здійснюється  збільшення  на  одиницю  вмісту  регістрів A,B,IX,IY,SP.

9) DEC (opr)

 Відбувається зменшення на одиницю вмісту комірки пам'яті даних, адреса якої задається командою.

10) DECA; DECB; DECX; DECY; DECS;

Тлумачення,   Здійснюється  зменшення  на  одиницю  вмісту  регістрів A,B,IX,IY,SP.

Висновки

 При виконанні цієї лабораторній роботи ознайомилися з особливостями застосування на мові Асемблера системи команд керування програмою та процесором, вивчення команд умовного розгалуження.  

Перелік посилань

1. ДСТУ 3008-95. Документація. Звіти у сфері науки і техніки. Структура і    правила оформлення. – К.: Видавництво стандартів, 1995. – 37 с.

2. Основи мікропроцесорної техніки: метод. вказівки до викон. лаборатор.       

робіт/ Уклад.: В.Б. Швайченко, К.О. Трапезон, О.П. Чеверда. – К.:     НТУУ “КПІ”, 2008. – 60 с.


 

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

32211. Понятие, логич структура и юр природа следственной версии. Классификация 32 KB
  Поэтому по субъектам выдвижения различают следственные оперативнорозыскные экспертные и судебные версии. Оперативнорозыскные версии выдвигаются при проведении оперативнорозыскных мероприятий экспертные в процессе конкретных экспертных исследований. В конечном счете эти версии носят промежуточный характер и служат проверке основных следственных версий а экспертные также способствуют проверке судебных версий.
32212. Структура версионного процесса. Построение следств версий 32 KB
  Построение следств версий криминалистическая версия это логически построенное и основанное на фактических данных предположительное умозаключение следователя других субъектов познавательной деятельности по уголовному делу о сути исследуемого деяния об отдельных его обстоятельствах и деталях направленное на выяснение истинных обстоятельств дела и требующее соответствующей проверки. Процесс построения версий распадается на ряд условных этапов. Началом процесса построения версий обычно являются анализ и синтез имеющихся в распоряжении...
32213. Следственный эксперимент 45.5 KB
  Оценка резтов эксперимента. Значение следственного эксперимента заключается в том что его результаты позволяют подтвердить или опровергнуть собранные по делу доказательства а нередко и получить их. Так в ходе следственного эксперимента по проверке возможности совершения определенных действий могут быть точно оценены предположения о наличии или отсутствии у подозреваемого профессиональных или преступных навыков например в использовании газосварочного оборудования для взлома сейфа открывании замка с помощью отмычек и т. Для производства...
32214. Стадии осмотра МП. Способы и методы осмотра 42.5 KB
  Способы и методы осмотра. Каждый этап осмотра имеет свои цели и реализуется с помощью различных тактических приемов. По результатам сопоставления если нужно вносятся коррективы в план осмотра.
32215. Понятие обыска и выемки, их цели и задачи 57.5 KB
  Понятие обыска и выемки их цели и задачи. В ходе обыска могут и должны решаться следующие задачи: 1 отыскание и изъятие орудий преступления предметов и ценностей добытых преступным путем а также других предметов и документов которые могут иметь значение для дела; 2 обнаружение разыскиваемых лиц преступников и граждан взятых в заложники; 3 отыскание трупа или его частей; 4 выемка имущества на которое может быть наложен арест для обеспечения конфискации или возмещения причиненного преступлением материального ущерба; 5 поиск и...
32216. Осмотр места преступления 31.5 KB
  Поисковый харр осмотра МП роль типичных версий при его произвве. Оперативнорозыскные действия могут осуществляться: до и независимо от осмотра; во время его проведения в зависимости от полученных при этом данных требующих реализации до завершения осмотра. В связи с этим никаких процессуальных документов о результатах использования служебнорозыскной собаки к протоколу осмотра не прилагается; б заградительные мероприятия путем установления наблюдения за узловыми пунктами предполагаемого маршрута передвижения скрывшегося преступника в...
32217. Осмотр трупа на Месте преступления 30.5 KB
  Наружный осмотр трупа на месте его обнаружения в соответствии со ст. Вся ответственность за ход и результаты осмотра трупа лежит на нем так как факты исследуемые и фиксируемые при осмотре не могут быть восполнены при судебномедицинской экспертизе трупа. Фиксируется время начала осмотра температура окружающей среды и трупа.
32218. Стадии обыска и тактические основы его произ-ва 52.5 KB
  Стадии обыска и тактические основы его произва. В ходе обыска могут и должны решаться следующие задачи: 1 отыскание и изъятие орудий преступления предметов и ценностей добытых преступным путем а также других предметов и документов которые могут иметь значение для дела; 2 обнаружение разыскиваемых лиц преступников и граждан взятых в заложники; 3 отыскание трупа или его частей; 4 выемка имущества на которое может быть наложен арест для обеспечения конфискации или возмещения причиненного преступлением материального ущерба; 5 поиск и...
32219. Понятие следственного эксперимента, его цели, задачи 31 KB
  Под следственным экспериментом понимается следственное действие производимое с целью выяснения объективной возможности наличия существенного для дела обстоятельства путем воспроизведения условий проверяемого события и производства опытов. Следственные эксперименты могут проводиться для решения следующих задач: установления возможности существования какоголибо факта или возникновения явления при данных условиях; установления возможности осуществления определенного механизма события или отдельных его элементов при определенных условиях; ...