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

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

Работа со стеком

Работа со стеком - Лекция, раздел Программирование, Основы алгоритмизации и программирования Стек — Это Область Памяти, Специально Выделяемая Для Временного Хранения Данн...

Стек — это область памяти, специально выделяемая для временного хранения данных программы. Важность стека определяется тем, что для него в структуре программы предусмотрен отдельный сегмент. На тот случай, если программист забыл описать сегмент стека в своей программе, компоновщик tlink выдаст предупреждающее сообщение.

Для работы со стеком предназначены три регистра:

SS — регистр сегмента стека;

SP/ESP — регистр указателя стека;

ВР/ЕВР — регистр указателя базы кадра стека.

Команда PUSH выполняет запись значения <источник> в вершину стека: push <источник>.

Команда POP выполняет запись значения из вершины стека по месту, указанному операндом <приемник> (значение при этом «снимается» с вершины стека): pop <приемник>.

Команда PUSHA предназначена для групповой записи в стек.

И еще многие другие, которые вы рассмотрите самостоятельно.

 

Остальные команды обмена данными мы рассмотрим на лабораторных работах.

К лабораторной работе №7-8

Преобразование данных

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

xlat [адрес_таблицы_перекодировки]

Это очень интересная и полезная команда. Ее действие заключается в том, что она замещает значение в регистре AL другим байтом из таблицы в памяти, расположенной по адресу, указанному операндом адрес_таблицы_перекодировки. Слово «таблица» весьма условно; по сути, это просто строка байтов. Адрес байта в строке, которым будет производиться замещение содержимого регистра AL, определяется суммой (ВХ) + (AL), то есть содержимое AL играет роль индекса в байтовом массиве.

При работе с командой XLAT обратите внимание на следующий тонкий момент. Хотя в команде указывается адрес строки байтов, из которой должно быть извлечено новое значение, этот адрес должен быть предварительно загружен (например, с помощью команды LEA) в регистр ВХ. Таким образом, операнд адрес_таблицы_перекодировки на самом деле не нужен (на это указывают квадратные скобки). Что касается строки байтов (таблицы перекодировки), то она представляет собой область памяти размером от 1 до 255 байт (диапазон числа без знака в 8-разрядном регистре).

В качестве иллюстрации работы данной команды мы рассмотрим программу из лабораторной работы №1-3{листинга 6.1 (см. главу 6)}. Вы помните, что эта программа преобразовывала двузначное шестнадцатеричное число, вводимое с клавиатуры (то есть в символьном виде), в эквивалентное двоичное представление в регистре AL. В листинге 7.3 приведен вариант этой программы с использованием команды XLAT.

 

К лабораторной работе № 9-11

Порт ввода-вывода можно определить как 8-, 16- или 32-раз рядный аппаратный регистр, имеющий определенный адрес в адресном пространстве ввода-вывода.

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

in <аккумулятор>,<номер_порта> – ввод в аккумулятор из порта с номером <номер_порта>;

out <номер_порта>,<аккумулятор> – вывод содержимого аккумулятора в порт с номером <номер_порта>.

В качестве примера рассмотрим, как на уровне аппаратуры заставить компьютер издавать звуки через свой внутренний динамик. На большинстве компьютеров это будет некоторый треск. Изменяя различные параметры программы, в идеале, вы можете получить звук, напоминающий сирену.

Как это ни удивительно, но специальной схемы генерации звука для внутреннего динамика нет. Сигнал для управления динамиком формируется в результате совместной работы следующих микросхем:

программируемого периферийного интерфейса (ППИ) i8255;

таймера i8253.

 

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

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

Основы алгоритмизации и программирования

Основы алгоритмизации и программирования... Литература В И Юров Ассемблер Учебник для вузов Н И Голубь Искусство программирования на Ассемблере Лекции и упражнения...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Работа со стеком

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

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

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

Организация памяти
Физическая память к которой процессор имеет доступ по шине адреса называется оперативной памятью. Реально ОЗУ организовано как последовательность ячеек, т.е. байтов. Диапазон значений физи

Основное применение организации виртуальной памяти
Сегментация – это механизм адресации, обеспечивающий существование нескольких независимых адресных пространств как в пределах одной задачи, так и в системе в целом для защиты задач от взаимного вли

Регистры общего назначения
Регистры общего назначения используются в программах для хранения: операндов

Сегментные регистры
Процессоры Intel аппаратно поддерживают сегментную организацию программы. Это означает, что любая программа состоит из трех сегментов: кода, данных и стека. Логически машинные команды в архитектуре

Регистры состояния и управления
В процессор включены два регистра, постоянно содержащие информацию о состоянии как самого процессора, так и программы, команды которой он в данный момент обрабатывает:

Формат команд
Машинная команда представляет собой закодированное по определенным правилам указание процессору на выполнение некоторой операции. Правила кодирования команд называются форматом команд

Обработка прерываний
Система прерываний любого компьютера является его важнейшей частью, позволяющей быстро реагировать на события, обработка которых должна выполнятся немедленно: сигналы от машинных таймеров, нажатия

К теме о регистрах 2.3 Регистры состояния и управления
В процессор включены два регистра, постоянно содержащие информацию о состоянии как самого процессора, так и программы, команды которой он в данный момент обрабатывает:

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

Процесс разработки программы
На рис. 6.1 приведена общая схема процесса разработки программы на ассемблере. Название программы соответствует рассмотренному далее примеру программы. На схеме выделено четыре этапа этого процесса

Лекция 6.
1. Синтаксис Ассэмблера Программа на ассемблере представляет собой совокупность блоков памяти, называемых сегментами. Программа может состоять из одного или нескольких таких блоков-сегмент

Лекция 7.
1. Простые типы данных Ассемблера Любая программа предназначена для обработки некоторой информации, поэтому вопрос о том, какие типы данных языка программирования доступны для использовани

Лекция 8.
1.Структура машинной команды. Способы задания операндов. Машинная команда представляет собой закодированное по определенным правилам указание микропроцессору на выполнение некоторой операц

Префиксы.
Необязательные элементы машинной команды, каждый из которых состоит из 1 байта или может отсутствовать. В памяти префиксы предшествуют команде. Назначение префиксов – модифицировать операцию, выпол

Байт режима адресации modr/m.
Значения этого байта определяет используемую форму адреса операндов. Операнды могут находиться в памяти в одном или двух регистрах. Если операнд находится в памяти, то байт modr/m определяет компон

Поле смещения в команде.
8-, 16– или 32-разрядное целое число со знаком, представляющее собой, полностью или частично (с учетом вышеприведенных рассуждений), значение эффективного адреса операнда. 6. Поле

Прямая адресация
Это простейший вид адресации операнда в памяти, так как эффективный адрес содержится в самой команде и для его формирования не используется никаких дополнительных источников или регистров. Эффектив

Косвенная базовая (регистровая) адресация
При такой адресации эффективный адрес операнда может находиться только в базовом регистре bx/ebx.   Синтаксически в команде этот режим адресации выражается заключением имени

Лекция 9.
1.Функциональная классификация машинных команд Система команд Pentium 4, последнего на сегодняшний день процессора архитектуры IA-32, включает в себя около 330 мнемоник машинных команд. Ес

Команды общего назначения
Командами данной категории охватывается базовый набор операций по обработке данных. Классификация целочисленных машинных команд приведена на рис.9.1.

Команды сопроцессора
Возможны три формата команд сопроцессора, аналогичные форматам команд центральных процессоров фирмы Intel. Это команды с обращением к оперативной памяти, команды с обращением к одному из численных

MMX-расширения
Расширение MMX ориентировано в основном на использование в мультимедийных приложениях. Основная идея MMX заключается в одновременной обработке нескольких элементов данных за одну инструкцию. Расшир

XMM-расширения
В 1999 году семейство процессоров Pentium фирмы Intel пополнилось новой мо­делью — процессором Pentium III. Основу его архитектуры составляет ядро про­цессора Pentium II, дополненное модулем SSE (S

Лекция 10.
1.Пересылка данных Алгоритм, представляет собой формализованное описание логики работы программы. Способы такой формализации весьма разнятся: от текстового описания последовательности дейс

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