История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
Топ:
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов...
Оценка эффективности инструментов коммуникационной политики: Внешние коммуникации - обмен информацией между организацией и её внешней средой...
Интересное:
Распространение рака на другие отдаленные от желудка органы: Характерных симптомов рака желудка не существует. Выраженные симптомы появляются, когда опухоль...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Дисциплины:
2017-11-17 | 525 |
5.00
из
|
Заказать работу |
|
|
Выполнить все команды приведенные в таблице.
Осуществить перевод предложенных преподавателем чисел из одной системы в другую.
2.6 Найти в теоретических сведениях или при работе с отладчиком ответы на контрольные вопросы.
1.3 Контрольные вопросы
Какой диапазон чисел можно передать по 16-разрядной шине? по 32-разрядной? по 64-разрядной?
Типы программ-отладчиков и особенности их работы.
Основные команды для работы с ячейками памяти и регистрами отладчика Turbo Debugger?
Основные команды для отладки загруженной программы?
Основные команды для работы с окнами отладчика Turbo Debugger
Лабораторная работа № «Создание программы в среде разработки. Команды обмена данными. Линейные программы на Ассемблер»
Цель работы: изучить назначение регистров и структуру памяти, ознакомиться со структурой программы на языке Ассемблер, знать синтаксис простейших команд и научиться составлять линейные программы на Ассемблере.
Для выполнения работы студент должен: иметь представление о современных языках программирования, знать основные правила выполнения операций в ЭВМ, уметь осуществлять перевод чисел из десятичной в шестнадцатеричную систему счисления и обратно, знать правила задания имен переменных и записи простейших операторов.
Теоретические сведения
Структура ЭВМ. Регистры
При выполнении программы, микропроцессор взаимодействует с оперативной памятью, где хранятся исполняемая программа и данные, а так же с периферийными устройствами (рисунок 2.1).
Рисунок 2.1 – Структура ЭВМ минимальной конфигурации
Для повышения быстродействия и логических возможностей микропроцессора в его состав включают блок регистровой памяти (местную память) небольшой емкости, но более высокого, чем ОП, быстродействия. Регистры этого блока (или ячейки местной памяти) указываются в командах программы путем укороченной регистровой адресации и служат для хранения операндов, в качестве аккумуляторов (регистров результата операций), базовых и индексных регистров, указателя стека.
|
Для организации вычислений микропроцессор (для упрощения выполняемых задач в рамках лабораторных работ будет рассмотрен 16 разрядный микропроцессор i8086) имеет в своём составе 14 шестнадцатиразрядных регистров, которые обеспечивают выполнение программы.
К регистрам общего назначения относят: AX(AH, AL), BX(BH, BL), CX(CH, CL), DX(DH, DL), которые делятся программно на пары однобайтных регистров и могут использоваться для хранения данных. Разбиение на однобайтные регистры позволяет увеличить общее число регистров.
Регистры SP, BP – это указатель и база стека, соответственно, обеспечивают доступ к данным в стеке, могут использоваться для хранения данных, но делать это не рекомендуется, так как при этом возможно нарушение адресации в стеке, особенно при использовании SP.
Регистры SI, DI – шестнадцатиразрядные регистры для хранения данных.
Регистры CS, DS, ES, SS – хранят адреса сегментов в памяти, не могут использоваться для хранения данных.
Регистр IP – регистр инструкций – хранит адрес(смещение) следующей исполняемой команды.
FLAGS – регистр флагов содержит набор битовых флагов, определяющий текущее состояние процессора и результат выполнения предыдущей команды. Названия и назначение регистров-флагов приведены в таблице 2.1.
Таблица 2.1. Флаги
Флаг | Название | Назначение |
О | Переполнение | Переполнение при выполнении арифметических операций |
D | Направление | Направление пересылки данных при выполнении строковых команд |
I | Прерывание | Разрешает/Запрещает внешние прерывания |
T | Пошаговый режим | Останов после выполнения каждой команды(используется отладчиками) |
S | Знак | Знак результата выполненной команды(0 – плюс, 1 – минус) |
Z | Ноль | Значение результата выполненной команды(0 – ненулевой, 1 – нулевой) |
A | Внешний перенос | Используется для специальных арифметических операций |
P | Контроль чётности | Число единиц в операнде(0 – нечётное, 1 – нечётное) |
C | Перенос | Содержит перенос из старшего бита при выполнении арифметических операциях |
Структура памяти
|
Память, с которой взаимодействует процессор при обработке программ, называется оперативным запоминающим устройством (ОЗУ) или random access memory (RAM). Она состоит из набора однобайтных ячеек, обращение к которым происходит по их номерам (физическим адресам). Число ячеек зависит от ширины шины адреса и составляет для процессора i8086 20 – ячеек (1Мбайт), т.к. ширина шины адреса равна 20. Для процессоров с шириной шины адреса 32 объём ОЗУ может доходить до 4 Гбайт.
Данные можно читать или сохранять в ОЗУ байтами, указывая номер требуемой ячейки или словами (2 байта), указывая адрес младшей ячейки памяти и вводя специальный префикс.
Сегментация памяти
Для обращения к памяти процессор предварительно помещает адрес ячейки в один из своих регистров, но для процессора i8086, очевидно нельзя в шестнадцатиразрядном регистре хранить двадцатиразрядный адрес. Поэтому применяют так называемую сегментацию памяти, которая заключается в том, что истинный, физический адрес ячейки хранится в двух регистрах.
Один из них – сегментный, он хранит адрес начала блока памяти, который и называется сегментом. Если к шестнадцати разрядам сегмента мысленно справа дописать четыре двоичных нуля(16+4=20), то получим физический адрес начала сегмента в ОЗУ. Второй регистр хранит величину смещения адреса требуемой ячейки от начала сегмента. Адрес ячейки памяти записывается в виде двойного слова (4 байта): <сегмент>:<смещение>.
Сегмент всегда начинается с ячейки, номер которой заканчивается на 4 двоичных (или один шестнадцатеричный) нуля. Минимальная длина сегмента 16 байт (параграф). Максимальная длина определяется длиной регистра, хранящего смещение и равна 216 (64 Кбайта).
Пара регистров CS:IP(<сегмент>:<смещение>) определяют адрес следующей команды программы.
|
Для адресации данных используются сегментные регистры DS и ES, а в качестве регистров, хранящих смещение, используются регистры общего назначения BX, SI, DI. Для работы с сегментом стека используют сегментный регистр SS и регистр BP.
|
|
Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!