рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

ПОДПРОГРАММЫ И СТЕК

ПОДПРОГРАММЫ И СТЕК - раздел Компьютеры, Практическая работа №1-3 Представление информации в ЭВМ. Кодирование и подсчет количества информации. Приобретение навыков представления двоичной информации в ЭВМ В Программировании Часто Встречаются Ситуации, Когда Одинаковые Дейст­Вия Нео...

В программировании часто встречаются ситуации, когда одинаковые дейст­вия необходимо выполнять многократно в разных частях программы (напри­мер, вычисление функции sin*). При этом с целью экономии памяти не сле­дует многократно повторять одну и ту же последовательность команд — дос­таточно один раз написать так называемую подпрограмму (в терминах языков высокого уровня — процедуру) и обеспечить правильный вызов этой подпро­граммы и возврат в точку вызова по завершению подпрограммы.

Для вызова подпрограммы необходимо указать ее начальный адрес в памяти и передать (если необходимо) параметры — те исходные данные, с которыми будут выполняться предусмотренные в подпрограмме действия. Адрес под­программы указывается в команде вызова call, а параметры могут переда­ваться через определенные ячейки памяти, регистры или стек.

Возврат в точку вызова обеспечивается сохранением адреса текущей коман­ды (содержимого регистра PC) при вызове и использованием в конце подпро­граммы команды возврата ret, которая возвращает сохраненное значение ад­реса возврата в PC.

Для реализации механизма вложенных подпрограмм (возможность вызова подпрограммы из другой подпрограммы и т. д.) адреса возврата целесообраз­но сохранять в стеке. Стек ("магазин") — особым образом организованная безадресная память, доступ к которой осуществляется через единственную ячейку, называемую верхушкой стека. При записи слово помещается в вер­хушку стека, предварительно все находящиеся в нем слова смещаются вниз на одну позицию; при чтении извлекается содержимое верхушки стека (оно при этом из стека исчезает), а все оставшиеся слова смещаются вверх на одну позицию. Такой механизм напоминает действие магазина стрелкового ору­жия (отсюда и второе название). В программировании называют такую дис­циплину обслуживания LIFO (Last In First Out, последним пришел — первым вышел) в отличие от дисциплины типа очередь— FIFO (First In First Out, первым пришел — первым вышел).

В обычных ОЗУ нет возможности перемещать слова между ячейками, поэто­му при организации стека перемещается не массив слов относительно неподвижной верхушки, а верхушка относительно неподвижного массива. Под стек отводится некоторая область ОЗУ, причем адрес верхушки хранится в специ­альном регистре процессора — указателе стека SP.

В стек можно поместить содержимое регистра общего назначения по команде push или извлечь содержимое верхушки в регистр общего назначения по команде pop. Кроме того, по команде вызова подпрограммы call значение программного счетчика PC (адрес следующей команды) помещается в вер­хушку стека, а по команде ret содержимое верхушки стека извлекается в PC. При каждом обращении в стек указатель SP автоматически модифицируется.

В большинстве ЭВМ стек "растет" в сторону меньших адресов, поэтому пе­ред каждой записью содержимое SP уменьшается на 1, а после каждого из­влечения содержимое SP увеличивается на 1. Таким образом, SP всегда ука­зывает на верхушку стека.

Цель настоящей лабораторной работы — изучение организации программ с использованием подпрограмм. Кроме того, в процессе организации циклов мы будем использовать новые возможности системы команд модели ЭВМ, которые позволяют работать с новым классом памяти — сверхоперативной (регистры общего назначения — РОН). В реальных ЭВМ доступ в РОН зани­мает значительно меньшее время, чем в ОЗУ; кроме того, команды обраще­ния с регистрами короче команд обращения к памяти. Поэтому в РОН разме­щаются наиболее часто используемые в программе данные, промежуточные результаты, счетчики циклов, косвенные адреса и т. п.

В системе команд учебной ЭВМ для работы с РОН используются специаль­ные команды, мнемоники которых совпадают с мнемониками соответствую­щих команд для работы с ОЗУ, но в адресной части содержат символы реги­стров RO—R9.

Кроме обычных способов адресации (прямой и косвенной) в регистровых командах используются два новых — постинкрементная и преддекрементная (см. табл. 8.5). Кроме того, к регистровым относится команда организации цикла JRNZ R,M. По этой команде содержимое указанного в команде регист­ра уменьшается на 1, и если в результате вычитания содержимого регистра не равно 0, то управление передается на метку м. Эту команду следует ставить в конце тела цикла, метку м — в первой команде тела цикла, а в регистр R по­мещать число повторений цикла.

– Конец работы –

Эта тема принадлежит разделу:

Практическая работа №1-3 Представление информации в ЭВМ. Кодирование и подсчет количества информации. Приобретение навыков представления двоичной информации в ЭВМ

ЦЕЛЬ РАБОТЫ... Приобретение навыков представления двоичной информации в... ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: ПОДПРОГРАММЫ И СТЕК

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

ЗАДАНИЯ К РАБОТЕ.
Для выполнения этого задания потребуются некоторые сведения из теории и определения: Системы счисления. Человек привык считать предметы десятками, сотнями: десять единиц образуют де

Перевод цифр из двоичной системы счисления в восьмеричную, шестнадцатеричную и десятичную и наоборот
Триада Восьмеричная цифра Тетрада Шестнадцатеричная цифра Десятичное число Двоично-десятичная запись

Особенности выполнения операций над числами с плавающей запятой
Следует кратко остановиться на выполнении операции над числами с плаваю­щей запятой (точкой). При сложении (вычитании) чисел с одинаковыми поряд­ками их мантиссы складываются (вычитаются), а

Кодирование символьной информации
Код (code) — совокупность знаков, символов и правил представления информации. Рассмотрим методы дискретного представления информации, или кодирования (которые, надо сказать, появились задолг

Двоичное кодирование мультимедиа-информации
Графическая информация на экране дисплея представляется в виде изображения, которое формируется из точек (пикселей). В современных компьютерах разрешающая способность (коли­чество точек на э

Двоичное кодирование звуковой информации.
С начала 90-х гг. персональные компьютеры получают широкие возможности для работы со звуковой информацией. Каждый компьютер, имею­щий звуковую плату, может сохранять звук в виде файлов и вос

Представление чисел в ЭВМ
В ЭВМ применяются две формы представления чисел: • естественная форма, или форма с фиксированной запятой(точкой) - ФЗ (ФТ); • нормальная форма, или форма с плавающей запятой (точк

Особенности выполнения операций над числами с плавающей запятой
Следует кратко остановиться на выполнении операции над числами с плаваю­щей запятой (точкой). При сложении (вычитании) чисел с одинаковыми поряд­ками их мантиссы складываются (вычитаются), а

Выполнение арифметических операций над числами, представленными в дополнительных кодах
При выполнении арифметических операций в компьютере обычно применяются не простые, а модифицированные коды. Модифицированный код отличается от простого использованием для изображения знака ч

МЕТОДИЧЕСКИЕ УКАЗАНИЯ
Начало исследований в области формальной логики было по­ложено работами Аристотеля в IV в. до нашей эры. Однако строго формализованный подход к проблеме впервые был предложен Дж. Булем. В честь нег

Доказательство таблицы истинности дистрибутивного закона
На рис. 1.8, а—е приведены иллюстрации к основным логи­ческим операциям и их композициям (так называемые диа­граммы Эйлера — Венна) — области истинности каждого из высказываний и их объедине

Синтез и оптимизация схем
При построении схемы, реализующей произвольную таблицу истинности, каждый выход анализируется (и строится схема) от­дельно. Для реализации таблицы истинности с помощью логиче­ских элементов «И» дос

МЕТОДИЧЕСКИЕ УКАЗАНИЯ 1
Для решения с помощью ЭВМ некоторой задачи должна быть разработана программа. Программа на языке ЭВМ представляет собой последовательФзность команд. Код каждой команды определяет выполняемую операц

МЕТОДИЧЕСКИЕ УКАЗАНИЯ
В качестве задания предлагается некоторая короткая "программа" (табл. 9.14), которую необходимо выполнить с подключенной кэш-памятью (размером 4 и 8 ячеек) в шаговом режиме для следующих

Порядок выполнения работы
Загрузить в модель учебной ЭВМ отлаженную программу из лабораторной работы № 2. В меню Работаустановить режим Кэш-память. В меню Вид

МЕТОДИЧЕСКИЕ УКАЗАНИЯ
FASM (Flat Assembler). Этот компилятор достаточно прост в установке и использовании, отличается компактностью и быстротой работы, имеет богатый и емкий макросинтаксис, позволяющий автоматизировать

Заполнение данными.
Иногда нужно описать много одинаковых переменных примерно штук 30. Вы будете делать так db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; 30 раз Это неудобно и некр

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги