49109

Архитектура и системы команд микропроцессора К580. Достоинства и недостатки ассемблера

Курсовая

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

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

Русский

2014-01-07

119.5 KB

13 чел.

ОГЛАВЛЕНИЕ

[0.0.1] Достоинства ассемблера

[0.0.2] Недостатки ассемблера


ВВЕДЕНИЕ

Достоинства ассемблера

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

Недостатки ассемблера

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

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

Задача:  Непрерывно, начиная с числа 0lh, наращивать на единицу содержимое ячейки памяти с адресом 6000h до появления признака переноса. Результат поместить в регистр В.

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

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

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

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

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

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

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

В результате выполнения программы мы должны получить в регистре В значение равное 0. Когда происходит переполнение, признак с становится равным единице. Затем значение являющееся результатом переноса помещается в регистр В.

Вводим данное число в ячейку 6000h и к нему прибавляем единицу. Повторяем это действие до тех пор, пока значение ячейки 6000h не станет равным нулю. Остановка происходит, когда признак с становится равным единице. Результат заносится в регистр В.


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

Для реализации поставленной задачи нужно запомнить входные данные

В программе осуществляется последовательное увеличение содержимого ячейки 6000h на 1 путем сложения до тех пор, пока признак переноса «с» не станет равным «1»

Рисунок 1 - Блок-схема алгоритма

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

Адрес

Код

Команда

4000

21

LXI

H,6000h

4001

00

4002

60

L

4003

3E

MVI

A,01h

4004

01

4005

06

MVI

B,01h

4006

01

4007

77

MOV

M,A

4008

88

ADC

B

4009

77

MOV

M,A

400A

D2

JNC

4008h

400B

08

400C

40

400D

47

MOV

B,A

400E

76

HLT

Таблица 1 - кодирование

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

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

Для просмотра результатов выполнения программы нужно посмотреть на окна регистров и флагов. А так же установить в окне памяти начальный адрес 4000h. Для этого сделать щелчком "мыши" окно памяти активным и выполнить команду меню: "NavigateJump to".

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

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

ЗАКЛЮЧЕНИЕ

В результате выполнения программы признак переноса с стал равен 1, соответственно произошёл перенос и программа работает верно.

Для решения задачи была использована справочная литература, содержащая коды команд и другие теоретические сведения.

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


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

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

                                                                                                                                                                   4


Начало

H,L)6000h

(A)01h

(B) 01h

Конец

(H,L) (A)

c=0

T

F

(A) (A)+(B)

(H,L) (A)

(B)(A)


 

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

66589. Анализ структуры персонала филиала ОАО «Иркутскэнерго» 145.5 KB
  Преддипломная практика является неотъемлемой частью учебного процесса. В ходе её прохождения происходит углубление и закрепление знаний и профессиональных навыков, полученных в процессе обучения. Она помогает преобразовать знания в умения.
66592. Установка операционной системы Windows7 611.5 KB
  Звуковая система ПК комплекс программно-аппаратных средств выполняющих следующие функции: запись звуковых сигналов поступающих от внешних источников например микрофона или магнитофона путем преобразования входных аналоговых звуковых сигналов...
66593. Побудова емпіричної формули методом найменших квадратів 1.04 MB
  На основі розрахунків, виконаних засобами MS Excel, алгоритмічної мови програмування C#, ми отримали емпіричну формулу у=0,023679-0,11475*Х. Значення суми квадратів відхилень (-19,4716) та графіки, побудовані засобами MS Excel, є наочною ілюстрацією правильності розв’язування завдання.
66595. Аналіз доцільності оплати за спожиту електроенергію за диференційованим тарифом 2.83 MB
  На даний момент ВАТ «Київмедпрепарат» спеціалізується на виробництві лікарських засобів у вигляді різних лікарських форм: порошків для ін'єкцій, таблеток, капсул, мазей, гелів. Номенклатура продукції складає більше 80 найменувань препаратів практично всіх фармакотерапевтичних груп.