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


 

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

9498. Антимикробные средства и Антибиотики 27.91 KB
  Антимикробные средства Фторхинолоны (спектр широкий): Поколение (преимущественно Гр-): Норфлоксацин (Нолицин) Офлоксацин (Таривид) Пефлоксацин (Абактал) Ципрофлоксацин (Ципролет, Ципробай) Ломефлоксацин (Максаквин...
9499. Антибиотики показания и нейротоксичность 29.89 KB
  Антибиотики Пенициллины. Природные (биосинтетические): Короткого действия - 4-6ч. - Бензилпенициллин Na и K соли. Вводят парентерально - в/м. Если речь о внутривенном введении, то вводить только натриевую соль можно, калие...
9500. Антибиотики. Гликопептидные антибиотики 30.91 KB
  Антибиотики Монобактамы: Азтреонам вм и вв. Спектр - узкий Гр- кишечная палочка, сальмонеллы, шигеллы, клебсиеллы, протей, гемофильная и синегойная палочка, менингококк, гонококк. Разрушается БЛРС (бета-лактамазы расширенного спектра)...
9501. Антибиотики. Витаминные препараты 31.09 KB
  Антибиотики Полимиксины. Полимиксин М: Гр- внутрь, местно. Полимиксин В - парентерально, используется редко, т.к больше побочных эффектов. Показания к применению: колиэнтерит, дизентерия (кишечная, синегнойная, гемофильная па...
9502. Индийская грекоримская и арабская грамматические традиции. (Основные проблемы и 1-2 имени) 33 KB
  Индийская грекоримская и арабская грамматические традиции. (Основные проблемы и 1-2 имени) Языкознание делится на общее и частное. Общее языкознание занимается выработкой лингвистических теорий (на основании одного языка или сравнении многих языков)...
9503. Фонетика и фонология. Акустическая и артикуляционная классификация гласных и согласных звуков 37 KB
  Фонетика и фонология Акустическая и артикуляционная классификация гласных и согласных звуков. Артикуляция - работа органов речи, направленная на производство звуков речи. Артикуляция складывается из трех частей: приступа (экскурсии) звука...
9504. Роберт Бёрнс 1759 – 1796 24.52 KB
  Роберт Бернс 1759 - 1796 Великий народный поэт, крупнейший лирик XVIII века в английской литературе (точнее - шотландской) Родился в семье бедного шотландского крестьянина. Шотландия – одна из бедных национальных окраин Британии полно...
9505. Пьер-Огюстен Карон (де) Бомарше (1732 – 1799) 27.01 KB
  Пьер-Огюстен Карон (де) Бомарше (1732 - 1799) Всем известны замечательные комедии Бомарше Севильский цирюльник, Свадьба Фигаро, которые идут на драматической и оперной сцене (оперы Россини и Моцарта). Бомарше - создатель самых ос...
9506. Никола Буало-Депрео 26.61 KB
  Буало Поэтическое искусство (1674) – образец Наука поэзии Горации Никола Буало-Депрео (1636 – 1711) – в Париже в семье зажиточного буржуа, адвоката и чиновника парижского парламента. (богослов юридич. факт) Сорбонны 1657 – посл...