Команди передачі керування
До даної групи команд (таблиця 8.18) відносяться команди, які забезпечують умовні і безумовні розгалуження, виклик підпрограм і повернення із них, а також команда порожньої операції NOP. В більшості із них використовується пряма адресація, тобто адреса переходу цілком (або його частина) міститься в самій команді передачі керування. Можна виділити три різновидності команд розгалуження відповідно до розрядності адреси переходу. Довгий перехід. Перехід по всьому адресному простору ПП. В команді міститься повна 16-бітова адреса переходу (ad16). Трибайтова команда довгого переходу містить в мнемоніці букву L (Long). Розрізняють дві таких команди: LJMP -довгий перехід і LCALL -довгий виклик підпрограми. Довгі переходи використовуються рідко, а частіше застосовуються скорочені команди переходів, які займають менше місця в пам’яті. Абсолютний перехід. Даний перехід відбувається в межах однієї сторінки пам’яті програм об’ємом 2048 байтів. Такі команди абсолютного переходу мають формат 2 байти, і їх мнемокод починається з букви А (Absolute). При їх виконанні в обчисленій адресі наступної команди ((РС)=(РС)+2) 11 молодших бітів замінюються на ad11, що є в тілі команди абсолютних переходів (ACALL i AJMP). Відносний перехід. Короткий відносний перехід дозволяє передати керування в межах-128¸+127 байтів відносно адреси наступної команди (команди, що є наступною за командою відносного переходу). МК51 має одну таку команду переходу SJMP (Short). Всі команди умовних переходів використовують даний метод адресації. Відносна адреса переходу (rel) знаходиться у другому байті команди. Таким чином в командах з відносним переходом за базу взятий лічильник команд, а перехід відбувається відносно даної бази.
Таблиця 8.18 - Група команд передачі керування
Примітка: Асемблер дозволяє використання узагальненого імені команд JMP i CALL, які в процесі трансляції замінюються оптимальними за форматом командами переходу (AJMP, SJMP, LJMP) або виклику (ACALL,LCALL).
Опосередкований перехід. Команда JMP @A+DPTR дозволяє передачу керування за опосередкованою адресою. Ця команда є вдалою для організації переходів на адресу, яка обчислюється в програмі і наперед невідома при написанні її тексту. Таким чином для виконання безумовного переходу лічильник PC завантажується адресою A+DPTR. Умовні переходи. МК51 має розвинуту систему умовних переходів, що дозволяє вести розгалуження програм за такими умовами: акумулятор містить нуль (JZ); вміст акумулятора не рівний нулю (JNZ); перенос рівний одиниці (JC); перенос рівний нулю (JNC);адресований біт рівний одиниці (JB); адресований біт рівний нулю (JNB). Крім аналізу індикаторів регістру PSW та бітів внутрішнього ОЗП в командах умовних переходів може здійснюватись попереднє декрементування (буква D у мнемоніці команди) або порівняння (буква С у мнемоніці команди) операндів. Для організації програмних циклів ефективно використовувати команду DJNZ, при цьому як лічильник циклів можна використовувати регістр або прямоадресований байт. Цикл буде відновлюватись до тих пір, доки лічильник не вичерпається. Команда CJNE ефективно використовується в процедурах очікування якої-небудь події. Наприклад, команди WAIT: CJNE A,P0,WAIT буде виконуватись до тих пір, доки на лінії порту 0 не установиться інформація, яка співпадає з вмістом акумулятора.
Підпрограми. Для звернення до підпрограм необхідно використати команди виклику (LCALL, ACALL). Ці команди на відміну від команд переходів (LJMP, AJMP) зберігають в стеці адресу повернення в основну програму. Для повернення з підпрограми необхідно використати команду RET. Команда RETI відрізняється від RET тим, що за нею припиняється обслуговування переривання, тобто дозволяється переривання обслуженого рівня повторно.
Родина МК52 Створивши вдалу мікро-ЕОМ 8051, розробники не зупинилися на досягнутому і почали пошуки шляхів її удосконалення. При цьому була поставлена задача розширити функціональні можливості мікро-ЕОМ і підвищити її продуктивність. Цим вимогам задовольняє збільшення пам'яті програм на кристалі аж до 64 Кбайт, введення додаткових регістрів спеціальних функцій і нових режимів роботи, підвищення захищеності програм від нелегального копіювання, використання ліній порту 1 в альтернативних режимах (подібно лініям порту 3, як було вище згадано). Бажано також розширити систему преривань і зробити її більш гнучкою, збільшити обсяг внутрішньої пам'яті даних. В результаті доробок з'явилися мікро-ЕОМ родини 8052. До складу цієї родини входять мікро-ЕОМ(табл.8.2) 80С52, 80С54, 80С58 з масочно програмованим ПЗП, їх версії 87С52, 87С54 і 87С58 з ПЗП, що стирається при УФ опроміненні, а також мікро-ЕОМ 80С32, що не має внутрішнього ПЗП. Між собою вони розрізняються також корпусами, робочими інтервалами температур, гранично припустимою тактовою частотою і низкою інших параметрів, які відображені в алфавітно-цифровій інформації після позначення типу мікро-ЕОМ. Цю інформацію можна одержати з фірмових посібників Intel, AMD і інших виробників мікро-ЕОМ розглянутої родини. На відміну від 8051 мікро-ЕОМ родини 8052 мають: ü вбудований ПЗП об’ємом 8 (80С52), 16 (80С54) і 32 Кбайт (80С58); ü вбудований ОЗП обсягом 256 байт; ü додаткові спеціальні функціональні регістри: таймер/лічильник 2 (далі для скорочення - Т/С2), здатний працювати в режимах засувки (фіксатор), таймера/лічильника, що допускає рахунок як на збільшення, так і на зменшення, і генератора швидкості передачі в бодах;
ü програмований послідовний інтерфейс з детектуванням помилок передачі і автоматичним розпізнаванням адреси; ü шість джерел переривань; ü розширений режим зниження споживаної потужності; ü мітка відключення живлення; ü режим ONCE. Мікро-ЕОМ 8052 використовують стандартний набір команд родини 8051, їх контакти взаємооднозначно відповідають контактам цих мікро-ЕОМ. Відмінність полягає лише в тому, що, крім вводу-виводу інформації, виводи Р1.0 і Р1.1 8052 можуть виконувати альтернативні функції: перший з них відіграє роль зовнішнього входу для Т/С2, а другий керує перезавантаженням/записуванням інформації в регістри Т/С2.
Читайте также: II -приравненное к нотариальному (глав.врач больницы, командиры воинских частей) Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|