Категории
Войти
Поиск
Реклама
Полезное:
Новые статьи
Опечатка?
Выделите текст и нажмите Shift+Enter.
И мы в ближайшее время ее исправим!
Счетчики
| Использование способов адресации |
|
Использование способов адресации, допускающих в памяти существование управляемых различными программами стеков с относительной адресацией внутри каждого стека, и команд, позволяющих программе управлять своим стеком при передаче параметров, возврате адресов и выделении памяти локальных переменных, позволяет эффективно реализовать обращение к процедуре. При входе в процедуру командой ENTER производится запоминание в стеке общих регистров и резервируется область локальных переменных. После выполнения команды ENTER указатель кадра FP (один из регистров микропроцессора) будет определять старое значение FP, относительно которого можно адресовать аргументы подпрограммы. Перед возвратом в вызывающую программу выполняется команда EXIT, которая, используя значение FP, восстанавливает регистры, пересылает содержимое FP в SP (указатель стека), восстанавливает старое значение FP. На смотреть обзор под номером 1, а представлена схема содержимого стека при входе в процедуру после выполнения команды ENTER (смотреть обзор под номером 1, б) и после выполнения команды EXIT (смотреть обзор под номером 1, в). Для возврата в программу используется команда RET, в которой указывается количество байтов, занятых аргументами процедуры. Надо отметить, что подобный механизм обращения к процедуре был несколько раньше реализован в 16разрядном микропроцессоре MC68000 фирмы Motorola. Аналогично он устроен в 32разрядном микропроцессоре MC68020 той же фирмы. Наиболее часто используемым типом организации данных в современных языках высокого уровня является массив. Как правило, языки предоставляют такие возможности, как использование многомерных массивов, обращение к отдельным элементам массива по индексу, защита от выхода за пределы соответствующего массива и т. д. В микропроцессоре NS32032 для вычисления адресов элементов в массиве может быть использована команда INDEX, реализующая рекурсивный шаг вычисления индекса в многомерном массиве.
Newer news items:
Older news items:
|
