Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБОРАТОРНая работа17.doc
Скачиваний:
7
Добавлен:
18.03.2015
Размер:
1.3 Mб
Скачать

Ход работы

І.СОСТАВИТЬ И НАРИСОВАТЬ БЛОК-СХЕМЫ АЛГОРИТМОВ СЛЕДУЮЩИХ ЗАДАЧ:

  1. Вычислить сумму первых 100 чисел натурального ряда, начиная с 1.

(1+2+3+…+100)

  1. Найти произведение первых 100 чисел натурального ряда (1*2*…*100)

  2. Учет проданных билетов. Известно, что массив S[1:n] содержит информацию об 1-ом месте. S[1]=0, если место свободно, S[1]=1, если место с номером 1 продано.

а) Определить продано ли место с номером m?

б) Сколько мест продано?

в) Какое место свободно?

  1. Отсортировать массив S[1:m] в порядке возрастания.

S[1]<=S[2]<=S[3]N=…<=S[m]/

ІІ. Разработать программы:

  1. Начиная с адреса 8200 записать последовательно по порядку 64 шестнадцатеричных числа, начиная с 0.

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

число

сумма

Квадрат

1

1

=1

2

1+3

=4

3

1+3+5

=9

4

1+3+5+7

=16

5

1+3+5+7+9

=23

ЛИТЕРАТУРА:

  1. Описание «Микролаб».

  2. Преснухин. Микропроцессоры.Т.3.

ВОПРОСЫ ДЛЯ САМОПОДГОТОВКИ:

  1. по каким правилам производится запись 1 в разряды регистров признаков МП F?

  2. Какие команды входят в группу условных переходов, и как они выполняются?

  3. Как выполняются команды сравнения?

  4. Назначение счетчика команд и регистра команд?

Команды перехода

Команды этой группы изменяют нормальное последовательное исполнение программы. Исполнение команд не влияет на состояние флагов.

Состояние флагов

Переход

Вызов

Возврат

Z=1

Z=0

Перенос есть

Переноса нет

Знак положительный

Знак отрицательный

Результат четный

Результат нечетный

Безусловное

JZ CA

JNZ C2

JC DA

JNC D2

JP F2

JMP FA

JPE EA

JPO E2

JMP C3

CZ CC

CNZ C4

CC DC

CNC D4

CP F4

CM FC

CPE EC

CPO E4

CALL CD

RZ C8

RNC C0

RC D8

RNC D0

RP F0

RM F8

RPE E8

RPO E0

RET C9

Имеется два типа команд перехода: безусловные и условные. Безусловные команды перехода осуществляют передачу управления, изменяя значение программного счетчика РС. Команды условного перехода сначала проверяют состояние одного из четырех флагов процессора, чтобы определить, выполнено ли указанное в команде условие. Имеются следующие условия перехода:

Условие

Код

NZ – не ноль (Z = 0)

000

Z – ноль (Z = 1)

001

NC – нет переноса (CY = 0)

010

C – есть перенос (CY = 1)

011

PO – нечетный результат (Р = 0)

100

РЕ – четный результат (Р = 1)

101

Р- плюс (S = 0)

110

M – минус (S = 1)

111

JMP [адр.] (ПЕРЕХОД)

(РС) (байт 3) (байт 2)

Управление передается команде, адрес которой указан во втором и третьем байтах команды перехода.

1

1

0

0

0

0

1

1

Младший байт адреса

Старший байт адреса

JMP [адр.] С3

Циклы: 3

Состояния: 10

Адресация: непосредственная

Флаги: нет

J (УСЛОВИЕ) [адр.] (УСЛОВНЫЙ ПЕРЕХОД)

Если (ССС), то (РС) (байт 3) (байт2)

Если указанное условие истинно, то управление передается команде, адрес которой указан во втором и третьем байтах команды перехода. Если условие ложное, то последовательный код программы не изменяется.

1

1

С

С

С

0

1

0

Младший байт адреса

Старший байт адреса

JNZ

[адр.]

C2

JZ

[адр.]

CA

JNC

[адр.]

D2

JC

[адр.]

DA

JPO

[адр.]

E2

JPE

[адр.]

EA

JP

[адр.]

F2

JM

[адр.]

FA

Циклы: 3

Состояния: 10

Адресация: непосредственная

Флаги: нет

CALL [адр.] (ВЫЗОВ)

((SP) – 1) (PCH)

((SP) – 2) (PCL)

(SP) (SP) – 2

(PC) (байт 3) (байт 2)

Старшие 8 бит адреса следующей команды пересылаются в ячейку памяти, адрес которой на 1 меньше содержимого указателя СТЕКА SP.

Младшие 8 бит адреса следующей команды пересылаются в ячейку памяти, адрес которой на 2 меньше величины указателя СТЕКА SP. Содержимое указателя СТЕКА уменьшается на 2. Управление передается команде, адрес которой указан во втором и третьем байтах команды вызова.

1

1

0

0

1

1

0

1

Младший байт адреса

Старший байт адреса

CALL [адр.] CD

Циклы: 5

Состояния: 18

Адресация: непосредственная / косвенная регистровая

Флаги: нет

С (УСЛОВИЕ) (адр.) (УСЛОВНЫЙ ВЫЗОВ)

Если (ССС), то ((SP) – 1) (PCH),

((SP) – 2) (PCL),

(SP) (SP) – 2,

(PC) (байт 3) (байт 2)

Если указанное условие истинно, то выполняются действия, описанные в команде CALL, в противном случае последовательность исполнения команд не изменяется.

1

1

С

С

С

1

0

0

Младший байт адреса

Старший байт адреса

CNZ

(адр.)

C4

CZ

(адр.)

CC

CNC

(адр.)

D4

CC

(адр.)

DC

CPO

(адр.)

E4

CPE

(адр.)

EC

CP

(адр.)

F4

CM

(адр.)

FC

Циклы: 5

Состояния: 18

Адресация: непосредственная / косвенная регистровая

Флаги: нет

RET (ВОЗВРАТ)

(PCL) ((SP))

(PCH) ((SP) + 1)

(SP) (SP) + 2

Содержимое ячейки памяти, адрес которой содержится в указателях СТЕКА SP, пересылается в 8 младших бит программного счетчика РС. Содержимое ячейки памяти, адрес которой на 1 больше содержимого указателя СТЕКА, пересылается в 8 старших бит программного счетчика. Содержимое указателя СТЕКА увеличивается на 2.

1

1

0

0

1

0

0

1

RET C9

Циклы: 3

Состояния: 10

Адресация: косвенная регистровая

Флаги: нет

R условие (УСЛОВНЫЙ ВОЗВРАТ)

если (ССС), то (PCL) ((SP)), (PCH) ((SP) + 1), (SP) ((SP) + 2)

Если указанное условие истинно, то выполняются действия, описанные в команде RET, в противном случае последовательность исполнения команд не нарушается.

1

1

С

С

С

0

0

0

RNZ

C0

RZ

C8

RNC

D0

RC

D8

RPO

E0

RPE

E8

RP

F0

RM

F8

Циклы: 3

Состояния: 12

Адресация: косвенная регистровая

Флаги: нет

RST n (РЕСТАРТ)

((SP) – 1) (PCH)

((SP) – 2) (PCL)

(SP) ((SP) – 2)

(PC) 8* (NNN)

Старшие 8 бит адреса следующей команды пересылаются в ячейку памяти, адрес которой на 1 меньше содержимого указателя СТЕКА. Младшие 8 бит адреса следующей команды пересылаются в ячейку памяти, адрес которой на 2 меньше содержимого указателя СТЕКА. Содержимое указателя СТЕКА уменьшается на 2. Управление передается команде, адрес которой равен коду NNN, умноженному на 8.

1

1

N

N

N

1

1

1

RST

0

C7

RST

1

CF

RST

2

D7

RST

3

DF

RST

4

E7

RST

5

EF

RST

6

F7

RST

7

FF

Циклы: 3

Состояния: 12

Адресация: косвенная регистровая

Флаги: нет

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

0

0

0

N

N

N

0

0

0

Программный счетчик после рестарта.

PCHL (ЗАГРУЗКА СОДЕРЖИМОГО РЕГИСТРОВ Н и L В ПРОГРАММНЫЙ СЧЕТЧИК)

(PCH) (H)

(PCL) (L)

Содержимое регистра Н пересылается в 8 старших бит программного счетчика РС. Содержимое регистра L пересылается в 8 младших бит программного счетчика.

1

1

1

0

1

0

0

1

PCHL E9

Циклы: 1

Состояния: 6

Адресация: регистровая

Флаги: нет

16