49150

Программа, выполняющая перенос значения ячейки памяти с сохранением знакового разряда

Курсовая

Информатика, кибернетика и программирование

Трансляция программы в исполняемый машинный код производится ассемблером от англ. Обеспечение максимального использования специфических возможностей конкретной платформы что также позволяет создавать более эффективные программы с меньшими затратами ресурсов. 3 РАЗРАБОТКА СТРУКТУРЫ ПРОГРАММЫ Для реализации поставленной задачи необходимо загрузить в аккумулятор значение ячейки памяти по адресу 6000Н затем непосредственно в аккумуляторе выполнять требуемые операции. Кодирование 5 ОТЛАДКА И ВЕРИФИКАЦИЯ ПРОГРАММЫ Начальное и итоговое состояния...

Русский

2013-12-21

153 KB

9 чел.

ОГЛАВЛЕНИЕ

[0.0.1] Достоинства


ВВЕДЕНИЕ

Язы́к ассе́мблера — язык программирования низкого уровня, мнемонические команды которого (за редким исключением) соответствуют инструкциям процессора вычислительной системы. Трансляция программы в исполняемый машинный код производится ассемблером (от англ. assembler - сборщик) - программой-транслятором, которая и дала языку ассемблера его название.

Достоинства

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

Недостатки

  •  В силу машинной ориентации («низкого» уровня) языка ассемблера человеку сложнее читать и понимать программу на нём по сравнению с языками программирования высокого уровня; программа состоит из слишком «мелких» элементов — машинных команд, соответственно, усложняются программирование и отладка, растёт трудоёмкость, велика вероятность внесения ошибок.
  •  Требуется высокая квалификация программиста. Код на ассемблере выполняется быстрее, но написанный неопытным программистом, обычно оказывается хуже сгенерированного компилятором

1 ПОСТАНОВКА ЗАДАЧИ

Задача: Сдвинуть содержимое ячейки памяти 6000Н вправо на три позиции, сохранив знаковый разряд.

Этапы решения задачи:

1. Разработать структурную схему алгоритма решения задачи.

2. Написать программу на языке ассемблера.

3. Ассемблировать программу вручную.

4. Занести программу в память микроЭВМ.

5. Выполнить программу.

2 АНАЛИЗ ЗАДАЧИ И РАЗРАБОТКА АЛГОРИТМА

Память микропроцессора K580 представляет собой совокупность  ячеек из 8 бит, т.е. 1 байт. Старший бит ячейки совпадает с признаком знака. Для того, чтобы сохранить знаковый разряд, необходимо произвести циклический сдвиг на один разряд влево. Нулевой разряд и признак С приобретают значение старшего  7 – го разряда ячейки, которое оно имело до сдвига. Теперь мы имеем в регистре F знаковый разряд ячейки, подлежащей сдвигу. Далее нам необходимо произвести перенос вправо на 4 позиции вправо, т.к. мы до этого совершили сдвиг влево, а по условию задачи, нам необходимо произвести сдвиг вправо на 3 позиции. Сдвиг мы будем осуществлять через признак С, т.о. сохранив знаковый разряд содержимого ячейки.


3 РАЗРАБОТКА СТРУКТУРЫ ПРОГРАММЫ

Для реализации поставленной задачи необходимо загрузить в аккумулятор значение ячейки памяти по адресу 6000Н, затем непосредственно в аккумуляторе выполнять требуемые операции.

 

Рисунок 1. Блок-схема

4 КОДИРОВАНИЕ

Адрес

Код

Команда

5000

11

LXI

D,6000

5001

00

5002

60

5003

1A

LDAX

D

5004

07

RLC

5005

1F

RAR

5006

1F

RAR

5007

1F

RAR

5008

1F

RAR

5009

76

HLT

Таблица 1. Кодирование

5 ОТЛАДКА И ВЕРИФИКАЦИЯ ПРОГРАММЫ

Начальное и итоговое состояния программы показаны на рисунках 2, 4.

Для того, чтобы запустить программу, необходимо установить счетчик команд по адресу 5000. Затем необходимо ввести в ячейку памяти по адресу 6000Н число, подлежащее переносу. Для этого сделать щелчком "мыши" окно памяти активным и выполнить команду меню: "NavigateJump to".

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

Рисунок 2. Окно программы при запуске программы

Рисунок 3. Окно программы на конечном шаге

ЗАКЛЮЧЕНИЕ

В результате проведенной работы были изучены архитектура и системы команд микропроцессора К580, была написана программа, выполняющая перенос значения ячейки памяти с сохранением знакового разряда. Также было осуществлено ассемблирование вручную этой программы на языке ассемблера МП 580 и получены навыки по отладке ассемблерных программ. Для решения задачи была использована справочная литература, содержащая коды команд и другие теоретические сведения.


БИБЛИОГРАФИЧЕСКИЙ СПИСОК

  1.  Степанов А.Н. Архитектура вычислительных систем и компьютерных сетей/А.Н. Степанов – СПб.: Питер, 2007. – 509 с.
  2.  Таненбаум Э. Архитектура компьютера/Э. Таненбаум  – СПб.: Питер, 2003 – 704 с.
  3.  Топольский Д.В. Топольская И.Г., Микропроцессоры. Методические указания по выполнению лабораторных работ. – Челябинск: ЮУрГУ, 2003 – 31с. 

                                                                                                                                                                   4


Начало

An+1)(An)

(A0)(A7)

(C)(A7)

(DE) 6000h

Конец

(A) ((DE))

(An)(An+1)

(C)(A0)

(A7)(C)

(An)(An+1)

(C)(A0)

(A7)(C)

(An)(An+1)

(C)(A0)

(A7)(C)

(An)(An+1)

(C)(A0)

(A7)(C)


 

А также другие работы, которые могут Вас заинтересовать

30807. Уход за бетоном в процессе твердения. Распалубливание конструкций 16.32 KB
  Открытую поверхность бетона прежде всего предохраняют от вредного воздействия прямых солнечных лучей ветра и дождя. Если поверхность бетона предварительно была укрыта влагоемкими материалами брезентом матами песком и др. В жарком сухом климате если не обеспечить благоприятных температурновлажностных условий твердения прочность бетона снижается на 15. В начальный период ухода за бетоном не следует обильной поливкой сразу после укладки нарушать структуру твердеющего бетона.
30808. Бетонирование массивов и фундаментов 14.03 KB
  В фундаменты и массивы в зависимости от объема заглубления высоты и других особенностей бетонную смесь укладывают по следующим технологическим схемам: с разгрузкой смеси из транспортного прибора непосредственно в опалубку с передвижного моста или эстакады с помощью вибропитателей и виброжелобов бетоноукладчиков бетононасосов бадьями с помощью кранов. В ступенчатые фундаменты с общей высотой до 3 м и площадью нижней ступени до 6 м2 смесь подают через верхний край опалубки предусматривая меры против смещения анкерных болтов и закладных...
30809. Бетонирование полов 15.33 KB
  Для осуществления процесса укладки плиты разбивают на карты. Если толщина плит меньше 05 м то разбивку на карты и укладку бетона ведут в таком порядке: Площадь делят на картыполосы по 34м Устанавливают по краям полос маячные доски. При большей толщине плиты разбивают на параллельные карты шириной 5. Карты бетонируют подряд т.
30810. Сетевые и локальные СУБД 12.74 KB
  Существенной проблемой СУБД такого типа является синхронизация копий данных именно поэтому для решения задач требующих совместной работы нескольких пользователей локальные СУБД фактически не используются. К сетевым относятся файлсерверные клиентсерверные и распределенные СУБД. В файлсерверных СУБД все данные обычно размещаются в одном или нескольких каталогах достаточно мощной машины специально выделенной для этих целей и постоянно подключенной к сети.
30811. Процес нормализации баз данных 16.04 KB
  Например задано следующее отношение: ПРЕДМЕТ Код предмета. Переведем атрибут с повторяющимися значениями в новую сущность назначим ей первичный ключ Код преподавателя и свяжем с исходной сущностью ссылкой на ее первичный ключ Код предмета. В результате получим две сущности причем во вторую сущность добавятся характеризующие ее атрибуты: ПРЕДМЕТ Код предмета. Название Цикл Объем часов; ПРЕПОДАВАТЕЛЬ Код преподавателя ФИО Должность Оклад Адрес Код предмета.
30812. ПОТОКИ И ПРОЦЕССЫ 13.25 KB
  Процесс обеспечивает программу всем что ей нужно для работы включая один поток. Этот стандартный поток основной поток используется для выполнения кода программы. Основной поток типичного процесса начинает работу с точки входа и продолжает выполняться в соответствии со всеми циклами условными операторами и вызовами функций. Основной поток завершается вместе с завершением процесса.
30813. Гонки и тупики 11.15 KB
  Пусть Поток 1 получил доступ к ресурсу и изменил его в своих интересах; затем активизировался Поток 2 и модифицировал этот же ресурс до завершения Потока 1. Поток 1 полагает что ресурс остался в том же состоянии что и был до переключения. Тупики имеют место тогда когда поток ожидает ресурс который в данный момент принадлежит другому потоку.
30814. Создание таблиц для базы 18.26 KB
  Создание таблиц для базы Важным моментом при создании базы данных является распределение информации между полями записи. Очевидно что информация может быть распределена между полями различным образом. После того как определены поля записи необходимо выполнить распределение полей по таблицам. В простой базе данных все поля можно разместить в одной таблице.
30815. Создание модуля данных 23.7 KB
  Создание модуля данных Для размещения компонентов доступа к данным в приложении баз данных желательно использовать специальную форму модуль данных класс TDtModule. Обратите внимание что модуль данных не имеет ничего общего с обычной формой приложения ведь его непосредственным предком является класс TComponent. В модуле данных можно размещать только невизуальные компоненты. Модуль данных доступен разработчику как и любой другой модуль проекта на этапе разработки.