Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Команди звернення до підпрограм




Команди пропуску

Команда пропуску включає передбачувану адресу. Типово пропуск передбачає, що одна команда буде пропущена. Ця команда не вимагає наявності адресного поля. Ти­повим її прикладом є команда increment-and-skip-if-zero (ISZ) - приріст на одиницю та перехід якщо нуль. Розглянемо наступний фрагмент програми (рис. 3.8).

Рис. 3.8. Приклад використання команди пропуску

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

 

Одним з найбільших покращань в розробці мов програмування є підпрограми. Під­програма є самостійною комп’ютерною програмою, яка, при необхідності, використову­ється іншою програмою. В якійсь точці програми підпрограма повинна бути виклика­ною та виконаною, після чого виконання програми має бути продовженим. Причиною використання підпрограм є економічна доцільність та потреба забезпечення поділу про­грами на незалежні модулі. Підпрограма дозволяє тій же частині коду бути використаною багаторазово. Це економить зусилля програміста та ємність пам’яті програм. Підпрограми також дозволяють розділити великі частини програми на малі блоки. Таке використання незалежних модулів суттєво спрощує написання та вздлагодження програм.

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

На рис. 3.9 показано як на основі підпрограм будувати програми.

Рис. 3.9. Вкладені підпрограми

На цьому прикладі основна програма починається з комірки за адресою 010. Ця про­грама включає звернення до підпрограми SUB1, яка починається з комірки за адресою 500. Коли виконується ця команда виклику, процесор призупиняє виконання основної програми і починає виконання підпрограми SUB1 шляхом вибору наступної команди з комірки 500. Всередині підпрограми SUB1 є два звернення до підпрограми SUB2, яка починається з комірки за адресою 800. В обох цих випадках призупиняється виконання підпрограми SUB1 і виконується підпрограма SUB2. Команда Return вказує процесору повернутись назад до програми SUB1 та продовжити виконання команди, яка іде за від­повідною командою виклику Call. Ці звернення між основною програмою та підпрогра­мами показані на рис. 3.10.

Рис. 3.10. Виконання послідовності вкладених підпрограм з рис. 3.16.

В табл. 3.4 як приклад наведені команди передачі керування комп’ютера з спроще­ною системою команд DLХ.

Таблиця 3.4

  JPR Jumps; 26-розрядне зміщення до PC + 4 (J) або цільового регістра (JR)
  JAL, JALR Jump and link; збереження РС+8 до R31, ціллю є 26-розрядне зміщення до PC + 4 (JAL) чи регістр (JALR)



Поделиться с друзьями:


Дата добавления: 2014-11-06; Просмотров: 703; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.