КАТЕГОРИИ: Архитектура-(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) |
Введение. Программирование переходов
Стековая память Задание по разделу Программирование переходов 1) Переход программируется последовательностью из двух команд:
Первая в последовательности – возможно, какая из логических или арифметических команд. Необходима, чтобы "сформировать условие перехода", в ходе ее выполнения - получают значения флаги побочных результатов
Вторая в последовательности – одна из команд семейства JMP XX #Adr - осуществляет (или не осуществляет) сам переход.
2) Рассмотрим на примере. Пусть имеется строка на языке высокого уровня: IF A>B THEN метка
Тогда на машинном языке это выражение будет представлено последовательностью из двух команд: SUB memB, memA (1) JMP S Adr (2)
Комментарии к командам:
(1) SUB memA, memB – В вычитаем из A. memA, memB - адреса памяти, где записаны соответственно A и B. Основной результат выполнения нас не важен, важно то, что флаг SF установиться в 1 только если условие перехода A>B выполняется. (2) Переход на адрес Adr – переход состоится, только если в ходе выполнения первой команды последовательности - флаг SF был установлен в 1.
Обязательно потренируйтесь в программировании переходов. Попробуйте самостоятельно написать последовательности из двух команд реализующих следующие выражения:
IF A = B THEN метка IF A <= B THEN метка IF A >= B THEN метка IF A <> B THEN метка IF A < B THEN метка
Это поможет вам лучше понять - как используются флаги побочных результатов, и как - используются команды условного перехода. И, в конце концов, это – будет первый написанный Вами фрагмент ассемблерной программы. J
1) В обычную оперативную памяти и запись, и чтение – всегда производится с указанием адресов. Но это - не всегда удобно. Например: когда нужно на время освободить регистр и сохранить его содержимое, чтоб потом - вернуть старое содержимое обратно. Запоминать адреса на которые производилось временное сохранение регистров… Нет, полезна и память такая, с которой можно работать - без указания адресов. Такая память в ЭВМ поддерживается, называется – "стековой памятью".
2) Проблема, как при чтении отличить – какое именно из слов данных ранее записанных в стековую память будет прочитано? Решается использованием следующего принципа работы стековой памяти: – В стековую память можно записать одно или несколько слов памяти (данных) без указания адреса записи – При чтении, первым прочитается то слово, что было занесено в стек последним, и далее - порядок чтения противоположен порядку записи.
3) Механизм стековой памяти обеспечивается следующими командами: PUSH reg – сохранить регистр reg в стековой памяти POP reg – выбрать данные из стековой памяти и записать в reg.
4) При пользовании командами PUSH reg, POP reg что в ЭВМ присутствует специальный аппаратный блок памяти, особый – поддерживающий принцип работы стековой памяти. На самом деле это - иллюзия. Данные заносимые в стек командой PUSH на самом деле – размещаются в обычной оперативной памяти (ОЗУ), а иллюзия работы команд РUSH и РОР с отдельной памятью - поддерживается специальными алгоритмами команд PUSH reg, POP reg.. Говорят о "алгоритмической эмуляции" стековой памяти в ЭВМ.
Дата добавления: 2014-01-04; Просмотров: 264; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |