49110

Загрузить в ячейку памяти с адресом 6000h число 100 и уменьшать его на единицу, пока результат не станет равен нулю

Курсовая

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

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

Русский

2014-01-07

146.5 KB

7 чел.

ОГЛАВЛЕНИЕ


ВВЕДЕНИЕ

Исторически можно рассматривать ассемблер как второе поколение языков программирования ЭВМ (если первым считать машинный код). Недостатки ассемблера, сложность разработки на нем больших программных комплексов привели к появлению языков третьего поколения — языков программирования высокого уровня (Фортран, Лисп, Кобол, Паскаль, Си и др.). Именно языки программирования высокого уровня и их наследники в основном используются в настоящее время в индустрии информационных технологий. Однако, языки ассемблера сохраняют свою нишу, обуславливаемую их уникальными преимуществами в части эффективности и возможности полного использования специфических средств конкретной платформы.


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

Задача: загрузить в ячейку памяти с адресом 6000h число 100 и уменьшать его на единицу, пока результат не станет равен нулю.

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

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

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

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

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

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


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

Поскольку для представления данных используется шестнадцатеричная система счисления, начальные данные, а именно число 100, необходимо перевести в эту систему счисления: .

Вводим данное число в ячейку 6000h и отнимаем от него единицу, используя команду DCR (декремент). Повторяем это действие до тех пор, пока значение ячейки 6000h не станет равным нулю. Остановка происходит, когда признак z становится равным единице. Для предотвращения преждевременной остановки, которая может возникнуть при запуске программы с не обнулённым признаком, мы обнуляем его в основной программе.


3 РАЗРАБОТКА СТРУКТУРЫ ПРОГРАММЫ И ЕЁ АССЕМБЛИРОВАНИЕ

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

Таблица 1

Адрес

Код

Команда

5000

2E

MVI

L,00

5001

00

5002

2D

DCR

L

5003

21

LXI

H,6000

5004

00

5005

60

5006

CD

CALL

MINUS

5007

0A

5008

50

5009

76

HLT

500A

3E

MINUS: MVI

A,64

500B

64

500C

77

MOV

M,A

500D

35

DCR

M

500E

C2

JNZ

500D

500F

0D

5010

50

5011

C9

RET

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

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

Рисунок 2 Окно программы на начальном шаге

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

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


ЗАКЛЮЧЕНИЕ

В результате выполнения данной работы были получены навыки ассемблирования вручную простейших программ на языке ассемблера МП 580ВМ80. Получены навыки по отладке ассемблерных программ.


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

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


(H,L)
6000h

L) (L)-1

(L)00h

Начало

MINUS

Конец

MINUS

(H,L) (H,L)-1

(H,L) (A)

(A)64h

T

RET

z=1

F


 

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

60454. Writing Esseys 81.5 KB
  I think that writing can be a challenge for most of the students. I don’t find it is an easy process. Even though I myself enjoy writing as it is a way to make connections with the world outside.
60461. Створення звітів та макросів у Microsoft Access 2007 510.5 KB
  Макрос – це набір макрокоманд. Макрокоманда описує дії, які потрібно виконати: відкриття і закриття таблиць, звітів, форм; виконання запитів; встановлення значень полів; пошук даних...