мойЦУУ (1075389), страница 4
Текст из файла (страница 4)
.
.
.






.
.
.




























.
.
.











Программа решения задачи
Проведем распределение оперативной памяти (составим карту памяти). Оперативная память состоит из 16 страниц с номерами 0-F . В каждой странице размещается по 16 слов с номерами 0-F . Все слова однобайтовые. Адресуется каждый байт. Полный адрес байта состоит из адреса страницы и адреса слова в странице. При этом карта памяти имеет вид:
а) страницы 0 - 1 - основная программа;
б) страницы 2 - 3 - подпрограммы;
б) страница A - массив А;
в) страница B - массив В;
г) страница C - массив С;
д) страница D - параметр n, адреса подпрограмм и переходов.
Проведем кодировку машинной программы в шестнадцатеричной системе счисления (табл. 3). Основная программа начинается с адреса 00.
Таблица 3. Машинная программа
№ пп. | Адрес ОП | Код команды | Примечание | |
Байт 1 | Байт 2 | |||
Основная программа | ||||
1 | 00 | 8F | D0 | POH[F]:=D0 ( адр. пар. n) |
2 | 02 | 10 | F0 | Ввод n |
3 | 04 | 8E | D1 | POH[E]:=D1 (адр. п/прогр. сдвига) |
4 | 06 | 20 | E0 | Вызов п/прогр. сдвига |
5 | 08 | 8B | A0 | POH[B]:=A0 (адр. печатаемого мас.) |
6 | 0A | 8E | D2 | POH[E]:=D2(адр. п/прогр. печати) |
7 | 0C | 20 | E0 | Вызов п/прогр. печати |
8 | 0E | 8B | B0 | POH[B]:=B0 (адр. печатаемого мас.) |
9 | 10 | 20 | E0 | Вызов п/прогр. печати |
10 | 12 | 8B | C0 | POH[B]:=C0 (адр. печатаемого мас.) |
11 | 14 | 20 | E0 | Вызов п/прогр. печати |
12 | 16 | 00 | 00 | Стоп |
Подпрограмма сдвига | ||||
13 | 20 | 50 | F0 | Установка индекса |
14 | 22 | 8D | D3 | POH[D]:=D3 |
15 | 24 | 8A | A0 | POH[A]:=A0 |
16 | 26 | 8B | B0 | POH[B]:=B0 |
17 | 28 | 8C | C0 | POH[C]:=C0 |
18 | 2A | 6A | BC | Сдвиг эл–тов с декрементом |
19 | 2C | 70 | D0 | Переход условный по ненулевому индексу |
20 | 2E | 30 | 00 | Возврат из подпрограммы |
Подпрограмма печати | ||||
21 | 30 | 50 | F0 | Установка индекса |
22 | 32 | 8D | D4 | POH[D]:=D4 |
23 | 34 | 40 | 0B | Печать эл-та массива с декр. |
24 | 36 | 70 | D0 | Переход условный по ненулевому индексу |
25 | 38 | 30 | 00 | Возврат из подпрограммы |
Подготовим фотографию оперативной памяти (табл. 4).
Таблица 4. Фотография оперативной памяти.
Адрес страницы | Адрес слова в странице | |||||||||||||||
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
0 | 8F | D0 | 10 | F0 | 8E | D1 | 20 | E0 | 8B | A0 | 8E | D2 | 20 | E0 | 8B | B0 |
1 | 20 | E0 | 8B | C0 | 20 | E0 | 00 | 00 | ||||||||
2 | 50 | F0 | 8D | D3 | 8A | A0 | 8B | B0 | 8C | C0 | 6A | BC | 70 | D0 | 30 | 00 |
3 | 8D | D4 | 50 | FO | 40 | 0B | 70 | D0 | 30 | 00 | ||||||
4 | ||||||||||||||||
5 | ||||||||||||||||
6 | ||||||||||||||||
7 | ||||||||||||||||
8 | ||||||||||||||||
9 | ||||||||||||||||
A | ||||||||||||||||
B | ||||||||||||||||
C | ||||||||||||||||
D | (n) | 20 | 30 | 2A | 34 | |||||||||||
E | ||||||||||||||||
F |
Результаты запуска программы говорят о ее работоспособности.