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

Исследование работы ЭВМ при выполнении комплекса программ

по предмету: Информатика

Работу выполнили студенты 150 группы:

  1. Муллачанов Д.М.

  2. Шорохов Д.М.

Работу принял:

Щёлоков И.В.

2000

Цель работы – изучение способов связи между программными модулями, команды обращения к подпрограмме и исследование порядка функционирования ЭВМ при выполнении комплекса взаимосвязанных программ.

1. Текст исходной программы

Адрес

Код команды

Мнемоника

Комментарии

00D

0019

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

010

F200

CLA

0→A

011

480D

ADD (M)

(M)+(A) →A

012

B014

BEQ M

если (А)=0, то М→СК

013

2045

JSR M

(CK) →M, M+1→CK

014

0018

ISZ M

(M)+1→M, если (М)<0, то (СК)+1→СК, иначе (СК)+2→СК

015

С010

BR M

M→CK

016

F000

HLT

017

0000

ячейка для подсчёта количества элементов ≠0

018

FFFD

условие выхода из цикла

019

801B

первый элемент

01A

0000

второй элемент

01B

11FF

третий элемент

045

0000

ячейка для хранения адреса возврата

046

F200

CLA

0→A

047

F800

INC

(A)+1→A

048

4017

ADD M

(M)+(A) →A

049

3017

MOV M

(A) →M

04A

C845

BR (M)

(M) →CK

2. Таблица трассировки

Выполняемая

команда

Содержимое регистров процессора

после выполнения команды

Ячейка, содержимое которой изменилось после выполнения команды

Адрес

Код

СК

РА

РК

РД

А

С

Адрес

Новый код

010

F200

011

010

F200

F200

0

0

011

480D

012

019

480D

801B

801B

0

00D

01A

012

B014

013

012

B014

B014

801B

0

013

2045

046

046

2045

0014

801B

0

045

014

046

F200

047

046

F200

F200

0

0

047

F800

048

047

F800

F800

1

0

048

4017

049

017

4017

0000

1

0

049

3017

04A

017

3017

0001

1

0

017

0001

04A

C845

014

045

C845

014

1

0

014

0018

015

018

0018

FFFE

1

0

018

FFFE

015

C010

010

015

C010

C010

1

0

010

F200

011

010

F200

F200

0

0

011

480D

012

01A

480D

0000

0

0

00D

01B

012

B014

014

012

B014

B014

0

0

014

0018

015

018

0018

FFFF

0

0

018

FFFF

015

C010

010

015

C010

C010

0

0

010

F200

011

010

F200

F200

0

0

011

480D

012

01B

480D

11FF

11FF

0

00D

01C

012

B014

013

012

B014

B014

11FF

0

013

2045

046

045

2045

0014

11FF

0

045

014

046

F200

047

046

F200

F200

0

0

047

F800

048

047

F800

F800

1

0

048

4017

049

017

4017

1

2

0

049

3017

04A

017

3017

2

2

0

017

0002

04A

C845

014

045

C845

014

2

0

014

0018

016

018

0018

0

2

0

018

0000

016

F000

017

016

F000

F000

2

0

3. Описание программы:

  • данная программа определяет и подсчитывает количество чисел ≠ 0 в исходных данных:

  • 0S2^16-1, -2^15Ai2^15-1;

  • вся программа располагается в памяти ЭВМ по адресам: 00D16, 0101601B16, 0451604A; исходные данные располагаются по адресам: A – 0191601B16, результат - 01716;

  • адрес первой выполняемой команды программы – 01016, адрес последней выполняемой команды программы – 01616.