КАТЕГОРИИ: Архитектура-(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) |
Використання стекової адресації
Зазвичай в математиці прийнято записувати знак операції між операндами, наприклад a+b, c:d і т. д. Такий запис називають інфіксним. При використанні такого запису для обчислення складного виразу необхідно задавати пріоритети операцій. Наприклад, в алгебраїчному виразі а + bc/d - f пріоритети можуть бути наступні: х, /, +, -. Інший підхід, який забезпечує правильне виконання інфіксного запису - використання дужок, причому, з тим, що обчислення проводиться від внутрішніх дужок до зовнішніх. В дужковій формі наведений вираз прийме вигляд: ((а + ((Ьс)/а)) Замість аналізу пріоритету знаків операцій тут необхідно визначити дужки з найбільшою глибиною вкладення. Для реалізації наведеного виразу в комп’ютері можна використати всі раніше описані способи адресації. Польський математик Ян Лукашевич показав, що якщо знаки арифметичних операцій записувати перед операндами (префіксна форма) чи після операндів (постфіксна форма, або обернений польський запис), то для визначення порядку виконання операцій дужки стають непотрібними. Так, для наведеного вище виразу префіксна форма має вигляд: - + а/ хbcf, а постфіксна форма має вигляд: аbсх/f- Ця форма - обернений польський запис. Обернений польський запис прекрасно підходить для проведення обчислень на комп’ютері зі стеком. Якщо вираз складається із N символів, то алгоритм його обчислення на стеку можна представити у вигляді блок-схеми, показаної на рис. 3.35. Рис. 3.35. Блок-схема обчислення на стеку виразу, представленого в постфіксній формі Розглянемо по тактовий стан комірок стеку при реалізації раніше розглянутого виразу, записаного в постфіксній формі (рис. 3.36).
Рис. 3.36. Використання стека при розрахунку по формулі в оберненому польському запису
Для реалізації стека можуть бути використані регістри. В цьому випадку схема обчислень з використанням стека має вигляд, показаний на рис. 3.37. Рис. 3.37. Схема обчислень з використанням регістрового стека Алгоритм функціонування такий же, як вище описано функціонування на базі основної пам’яті ОП. Операція виконується над вмістом Ргі і результат розміщується в Ргі, а вміст нижніх регістрів зміщується на один крок вверх.
Дата добавления: 2014-11-06; Просмотров: 858; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |