Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LAB 6.doc
Скачиваний:
1
Добавлен:
20.08.2019
Размер:
95.74 Кб
Скачать

6.2. Программа p7

Записать в массив первого блока по адресу А(N2+1) очереди свободных блоков Освоб принятый с канала связи кадр “I”, подтверждающий правильный прием с противоположной стороны двух (из трех переданных) информационных кадров “I” (рис.2). Значения полей принятого кадра приведены для контрольного примера.

А(N2+1)

Биты

16 бит

16 бит

8

7

6

5

4

3

2

1

Значения

0

0

1

0

0

0

0

0

1

0

.…адр. часть…… ….кадр “I” …………..

Рис. 2. Кадр “I” в массиве очереди свободных блоков Освоб

- откорректировать поля характеристики очереди Нсвоб очереди свободных блоков Освоб, (т.е. снять свободный блок с начальным адресом массива по А(N2+1) из очереди свободных блоков Освоб (рис.3).

АНсвоб

А(N2+2)

А(N1)

N1- N2 -1

Рис.3. Характеристика Нсвоб

- установить в ноль первое адресное поле первого массива свободного блока очереди свободных блоков Освоб с начальным адресом А(N2+2).

D:=D+1

GO TO DISP6

6.3. Программа p8

Переписать из очереди свободных блоков Освоб кадр “I” (без КПК), поступивший неискаженным, в очередь принятых с канала кадров Окпм.(для упрощения рассматривается исходное состояние отсутствия очереди Окпм.):

- выделить память под характеристику Hкпм. очереди принятых кадров Окпм. с начальным адресом АHкпм. Установить поля характеристики Hкпм (рис 3) - поставить в очередь Окпм массив кадра с начальным адресом А(N2+1).

АHкпм

А(N2+1)

А(N2+1)

1

Рис.4. Характеристика Hкпм

- установить значение ноль в оба адресные поля массива кадра с начальным адресом А(N2+1).

D:=D+1

GO TO DISP6

6.4. Программа p9

- определить N(S) первого кадра в Оповт: по первому полю Нповт определяем адрес массива первого кадра в Оповт; N(S):= биты <2-4> заголовка кадра. Для контрольного примера рис.7 лаб.3 N(S)=010, адрес первого поля Нповт - A(1).

IF N(S) > N1(R)-1 THEN END (cлучай поступивших копий кадров не рассматривается) ELSE

FOR CICL = 1, ... N1(R)-1 DO

- определить N(S) первого кадра в Оповт: по первому полю Нповт определяем адрес массива первого кадра в Оповт; N(S):= биты <2-4> заголовка кадра. Для контрольного примера рис.7 лаб.3 N(S)=010.

Приведенные ниже параметры означают:

N(S) - биты <2-4> кадра “I” по начальному адресу массива кадра A(CICL) в очереди Оповт (лаб. 3):

N1(R) - <6-8> принятого кадра “I” и находящегося в очереди Окпм

Установить массив кадра по адресу A(CICL) из очереди Оповт в очередь Освоб:

В первое поле характеристики Hповт записать второе адресное слово массива кадра по адресу A(CICL) из очереди Оповт

В третьем поле Hповт значение уменьшить на единицу.

IF третье поле характеристики Hповт равно ноль THEN установить все поля Hповт в ноль END ELSE

Первое адресное слово второго поля характеристики Hповт записать во второе

поле характеристики Hповт., а в третьем поле Hповт значение уменьшить на единицу.

В первое адресное поле массива по адресу A(CICL) записать второе адресное поле массива второго поля характеристики Нсвоб. Во второе адресное поле A(CICL) записать ноль.

Во второе адресное поле массива второго поля характеристики Нсвоб записать A(CICL). . Во второе поле Нсвоб записать A(CICL), а в третьем поле Нсвоб прибавить единицу.

END

END

На рис. 5 приведена характеристика очереди Нповт (очереди Оповт) при исходных данных контрольного примера.

АНповт

А(3)

А(3)

1

Рис.5. Характеристика Нповт

На рис. 6 приведена характеристика очереди Нсвоб (очереди свободных блоков Освоб) при исходных данных контрольного примера.

АНсвоб

А(N2+2)

А(2)

N1- N2 +1

Рис.6. Характеристика Нсвоб

D:=D+1

GO TO DISP6

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]