
Лабораторная работа №4
Исследование работы ЭВМ при выполнении комплекса программ
по предмету: Информатика
Работу выполнили студенты 150 группы:
-
Муллачанов Д.М.
-
Шорохов Д.М.
Работу принял:
Щёлоков И.В.
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 в исходных данных:
-
0S2^16-1, -2^15Ai2^15-1;
-
вся программа располагается в памяти ЭВМ по адресам: 00D16, 0101601B16, 0451604A; исходные данные располагаются по адресам: A – 0191601B16, результат - 01716;
-
адрес первой выполняемой команды программы – 01016, адрес последней выполняемой команды программы – 01616.