37803

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

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

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

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

Украинкский

2013-09-25

81 KB

2 чел.

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 с.


 

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

84166. Философия Фихте и Шеллинга. Основоположения «наукоучения» в философии Фихте. Понятие «абсолютного тождества» в философии Шеллинга 42.24 KB
  Кроме того следует признать недостаточным у Канта и то что он всего лишь только описал формы мышления умственные категории и законы мысли но не выявил основного единого общего принципа познания. Ведь только наличием подобного единого общего принципа познания можно объяснить не только слаженность форм мышления умственных категорий и законов мысли но и само их внутреннее единство между собой. И это есть вопрос не только выявления недостаточности кантовской философии это вопрос концептуальный потому что задача раскрытия данного единого...
84167. Абсолютный идеализм Гегеля. Система и метод философии Гегеля. История как процесс саморазвития «абсолютного духа» 35.72 KB
  А что же такое Абсолютный Разум сам по себе Абсолютный Разум сам по себе это есть некая идея его самоочевидного существования идея о том что Абсолютный Разум вообще существует безотносительно того что такое есть при этом Абсолютный Разум. Но если эта идея содержит в себе самоочевидное существование Абсолютного Разума как такового то она же содержит в себе и то каков есть этот Абсолютный Разум по своей природе. Потому что если идея определяет что Абсолютный Разум есть то она же эта самая же идея определяет и то что такое есть...
84168. Антропологический принцип философии Фейербаха. Фейербах о религии как отчуждении родовой сущности человека 40.99 KB
  Фейербах о религии как отчуждении родовой сущности человека. Прежде всего духовное начало не может быть истинным бытием поскольку единственно истинным бесспорным и самоочевидным бытием является не я человека а то что ему дано в ощущениях. Кроме того органом познания является не логическое мышление а непосредственно чувства человека. Потому что не логическое мышление а именно физические чувства человека являются поставщиками бесспорных ощущений.
84169. Характеристика философии позитивизма. Основные этапы ее развития, виднейшие представители 48.8 KB
  Суть этого метода состояла в том чтобы отказаться от традиционной философии как средства познания и создать новую философию которую они называли позитивная синтетическая философия. Таким образом поскольку богословие и традиционная философия оказались практически бесполезными то от них следует отказаться а вместо них создать новую систему объединения научных знаний которая с одной стороны сохранила бы в себе всеобъемлющий характер теологии и философии но с другой стороны приобрела бы характер точной науки. Это есть её главное...
84170. Философия экзистенциализма. Понятие экзистенции. Светский (Хайдеггер, Сартр, Камю) и религиозный (Ясперс) экзистенциализм 37.5 KB
  Поскольку экзистенция есть осознание человеком своей конечности временности то основной характеристикой бытия является время. Но внутреннее переживание человеком будущего есть не что иное как страх смерти осознание человеком своей конечности. Следовательно в дорефлексионном состоянии человеческое сознание было неспособно осознавать себя и воспринимать своё индивидуальное существование и таким образом не способно было осознавать мир ибо не было индивидуальным сознанием то есть сознанием способным вмещать в себя нечто что не есть оно...
84171. Аналитическая философия ХХ столетия. Философская программа неопозитивизма и ее кризис. «Постпозитивизм» и философия науки 46.26 KB
  Постпозитивизм и философия науки. Аналитическая философия пыталась выяснить законы возникновения научного знания корни его противоречий а также причины постоянного опровержения достижений науки развитием самой же науки. Таким образом предмет философии неопозитивизма это язык который и только который является по мнению неопозитивистов виновником несовершенства и постоянной изменчивости основ науки Мур. Это позволит формировать весь язык науки только из логически обоснованных единиц так называемых атомов научных понятий.
84172. Русская философия XIX века: западничество и славянофильство 30-50 гг. Оценка исторического прошлого России и разработка славянофильской идеологии 39.27 KB
  Оценка исторического прошлого России и разработка славянофильской идеологии. Западники стремились к европеизации России к переходу русской жизни на западноевропейские образцы а славянофилы отстаивали традиционные формы национальной жизни России и боролись за ограждение их от иностранного влияния. Западники считали что Россия должна повторить исторический путь стран Западной Европы а славянофилы наоборот полагали что исторический путь России самобытен и неповторим. Проблему национальной самобытности России поставил в 2030х годах XIX...
84173. Философия русской радикальной демократии 50-60 гг. (Н.Г. Чернышевский, Д. Писарев). Народничество в России, его социально-философские позиции 35.41 KB
  Народничество в России его социальнофилософские позиции. В 5060 годах XIX века в России сложился революционный демократизм направление общественнополитической мысли которое соединяло в себе идею крестьянской революции с утопическим социализмом. Революционный демократизм в России проистекал из убеждения его сторонников что в России невозможно придти к общенациональному согласию в отношении крестьянского вопроса. Другой революционный демократ Дмитрий ПИСАРЕВ не верил в способность крестьянства самостоятельно освободить себя и построить...
84174. ИММУНОДЕФИЦИТЫ 24.57 KB
  Синдром Вискотта Олдрича наследственное рецессивное заболевание связанное с X хромосомой которое характеризуется экземой тромбоцитопенией и иммунодефицитом. Дефицит Тлимфоцитов может развиваться в ходе болезни при этом уровень IgM в сыворотке снижен. Атаксиятелеангиоэктазия наследственное заболевание передающееся аутосомно рецессивно характеризуемое мозжечковой атаксией телеангйоэктазией кожи и дефицитами Тлимфоцитов Ig и IgE.