Нижегородский государственный технический университет им.

Кафедра «Вычислительные системы и технологии»

Лабораторная работа №1

Знакомство  с  программной моделью микропроцессора КР580ВМ80

       

Выполнил:

студент группы 10-В-1

Проверил:

Нижний Новгород

2012

Цель работы

Целью работы №1 является  знакомство c программной моделью микропроцессора КР580ВМ80, пакетом “Моделирование цифровых систем” и программированием простейших  задач  в кодах  процессора.

Задача

Написать программу, которая выводит на индикатор заданную преподавателем последовательность символов.

Схема  микро-ЭВМ  на процессоре  КР580ВМ80А

Распределение регистров процессора и ячеек памяти

Регистр A

Регистр общего назначения.

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

Регистр B

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

Регистр C

Регистр – счетчик, для условных переходов.

Регистры D и E

Используются для хранения адреса выводимого символа.

Регистр H

Используется для отображения строки сначала, после того как она полностью «пробежит» на индикаторе.

Регистр L

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

0000h – 03FFh

Область физической памяти.

(Только чтение).

8000h

Регистр  кода позиции DD5,  управление входом индикатора  (C1 – C8).

(Только запись).

8001h

Регистр кода сегментов DD6, управление входом индикатора  (0 – 8 ).

(Только запись).

8002h

Регистр кода сегментов DD7, управление входом индикатора  (9 – 12 ).

(Только запись).



Алгоритм работы программы.

НЕ нашли? Не то? Что вы ищете?

Листинг

:start

org 0h

lxi sp,0600h

mvi a,01h ;where

sta 8000h  ;where

lxi h,0001h ;this

shld  8001h ;this

mvi c,3

:c1

sta 8000h  ;where

lxi h,0000h ;this

shld  8001h ;this

add a; mvi a,02h ;where

sta 8000h  ;where

lxi h,0001h ;this

shld  8001h ;this

dcr c

jnz c1

;//////////////// 5 position

sta 8000h  ;where

lxi h,0000h ;this

shld  8001h ;this

mvi a,010h ;where

sta 8000h  ;where

lxi h,0030h ;this

shld  8001h ;this

sta 8000h  ;where

lxi h,0000h ;this

shld  8001h ;this

mvi a,08h

;////////////////

mvi c,4

:c2

sta 8000h  ;where

lxi h,0000h ;this

shld  8001h ;this

add a; mvi a,02h ;where

sta 8000h  ;where

lxi h,0008h ;this

shld  8001h ;this

dcr c

jnz c2

;////////////////8 position

sta 8000h  ;where

lxi h,0000h ;this

shld  8001h ;this

;add a ;where

sta 8000h  ;where

lxi h,006h ;this

shld  8001h ;this

sta 8000h  ;where

lxi h,000h ;this

shld  8001h ;this

;/////////////////

sta 8000h  ;where

lxi h,001h ;this

shld  8001h ;this

mvi c,3

:c3

sta 8000h  ;where

lxi h,0000h ;this

shld  8001h ;this

rrc ;add a; mvi a,02h ;where

sta 8000h  ;where

lxi h,0001h ;this

shld  8001h ;this

dcr c

jnz c3

;//////////////////////////////5 position

sta 8000h  ;where

lxi h,0000h ;this

shld  8001h ;this

;add a ;where

sta 8000h  ;where

lxi h,030h ;this

shld  8001h ;this

sta 8000h  ;where

lxi h,000h ;this

shld  8001h ;this

;//////////////////////////////

mvi c,4

:c4

sta 8000h  ;where

lxi h,0000h ;this

shld  8001h ;this

rrc ;add a; mvi a,02h ;where

sta 8000h  ;where

lxi h,0008h ;this

shld  8001h ;this

dcr c

jnz c4

;////////////////////////////1 position

sta 8000h  ;where

lxi h,0000h ;this

shld  8001h ;this

;add a ;where

sta 8000h  ;where

lxi h,030h ;this

shld  8001h ;this

sta 8000h  ;where

lxi h,000h ;this

shld  8001h ;this

;////////////////////////////

jmp start