Студопедия

КАТЕГОРИИ:


Архитектура-(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; Просмотров: 241; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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