37803

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

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

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

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

Украинкский

2013-09-25

81 KB

0 чел.

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


 

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

23450. История гитлерюгенда 404.5 KB
  История гитлерюгенда Введение ХХ век далеко не случайно считается эпохой тоталитаризма. У части западных историков сложилось восприятие гитлерюгенда как организации автономной от НСДАП и государственных органов Третьего Рейха. Поэтому несомненно что в большинстве своем члены гитлерюгенда свободны от вины за преступления совершенные нацистами. Но несмотря на всё это надо объективно рассматривать историческую роль гитлерюгенда так как он был организацией вполне интегрированной в политическую систему Третьего Рейха.
23451. Алфавитно-справочный перечень государей русских и замечательнейших особ их крови 4.98 MB
  АГАФИЯ великая княгиня Так некоторые известия именуют жену Всеволода II Ольговича великого князя киевского сообщая что она выдана за него в 1116 г. 189 и родила мужу сыновей –Святослава князя киевского и Ярослава князя черниговского –да еще дочь Звениславу за Болеславом IV герцогом польским. АГАФИЯ ВСЕВОЛОДОВНА великая княгиня жена по Татищеву вторая великого князя Юрия Георгия II Всеволодовича великого князя владимирского дочь Всеволода Святославича Чермного князя черниговского одно время великого князя киевского от...
23453. Древние майя. Загадки погибшей цивилизации 2.28 MB
  Древние майя. Кто создал эти колоссы Когда С какой целью Что вызвало к жизни блестящую цивилизацию майя в саном центре гиблых тропических джунглейАвтор книги на основе новейших данных о древнеамериканской истории рассматривает ряд таинственных событий далекого прошлого индейцев майя. Гуляева это древнейшие судьбы Мезоамерики важнейшего и глубоко своеобразного региона одного из первых очагов производящего хозяйства высокой и оригинальной цивилизации индейских народностей майя сапотеков нахуа. Гуляев назвал ее Древние...
23454. Георгий Константинович Жуков Воспоминания и размышления 10.56 MB
  Скоро мы узнали что в Питере 9 января 1905 года царские войска и полиция расстреляли мирную демонстрацию рабочих которая шла к царю с петицией просить лучших условий жизни. После Нижегородской ярмарки в том же году пришлось поехать на другую ярмарку в Урюпино в Область Войска Донского. Я всегда восхищался этим романтическим родом войск. От раненых мы многое узнали и в первую очередь то что наши войска очень плохо вооружены.
23455. Третий Рим 14.12 MB
  Ведь ему известно что русские были сторонниками христианской Византии и противниками мусульманской Турции. Следуя тезису о богоустановленном единстве всего христианского мира Филофей доказывал что первым мировым центром был Рим старый за ним Рим новый –Константинополь а в последнее время на их месте стал третий Рим –Москва. Не надо думать что это какаято гипербола или метафора. Филофей ясно подчеркивает что речь идет об объединении всех христианских царств под властью великого князя Василия.
23456. ПРАВДА ВИКТОРА СУВОРОВА 3.84 MB
  Он гласит: СССР всегда последовательно боролся за мир. Смена статуса сталинского СССР с жертвы и освободителя на статус палача и агрессора тяжело дается даже людям не испытывающим симпатий к сталинизму. Даже если они специалисты по истории СССР. И тем более если они советские специалисты по военной истории СССР.
23457. Красные партизаны Украины 1941-1944 3.2 MB
  На обложке: Целлюлознобумажная фабрика сожжённая партизанами соединения им. Коротченко в верхнем ряду второй слева с партизанами Тернопольского соединения им. Соединения партизан которые посылали в эти регионы чтобы они с помощью агитации получали поддержку выслеживались и уничтожались 11. ИЗ ОПЕРАТИВНОГО ОТЧЁТА КОМАНДИРА СУМСКОГО ПАРТИЗАНСКОГО СОЕДИНЕНИЯ С.
23458. Муса Джалиль 60 KB
  2002 Залилов Джалиль Муса Мустафович 15. Мир и мировая литература знает много поэтов обессмертивших свои имена неувядаемой славой но таких как поэтгерой Муса Джалиль увековечивших свое имя и бессмертными творениями и смертью которая сама является подвигом не так уж много. Вот они: великий Байрон славный поэт Венгрии Петефи герой Юлиус Фучик и наконец Муса Джалиль .