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

8

Лабораторная работа №3 Алгоритм программы передачи в канал связи нескольких информационных кадров

(см. главы 4,5)

Программа LAB3.

Описание:

-константы N1, N2, Z1, Z2, m, МСICL;

- переменные D, V(S), V(R), N(S), N(R),CICL;

- программы DISP1, P1, P2, P3, P4, P5;

- очереди Оп32, Оповт, Освоб.

Диспетчер программы DISP3

Установить и передать в канал МСICL информационных кадров.

МСICL:=3 (контрольный пример)

1:=CICL

Begin;

D:= 1

IF D = 1 THEN GO TO P1 ELSE IF D = 2 THEN GO TO P2 ELSE

IF D= 3 THEN GO TO P3 ELSE IF D = 4 THEN GO TO P4 ELSE

IF D = 5 THEN GO TO P5 ELSE

END

Программы:

P1 – формирование очереди из N1 свободных блоков

P2 – формирование N2 пакетов данных

P3 – перенос N2 пакетов данных из очереди Освоб в очередь пакетов Оп32

P4 – формирование информационного кадра, включающего первый пакет в очереди пакетов Оп32

P5 – перенос информационного кадра, сформированного программой P4, в очередь повтора Оповт и в регистр на передачу в канал

3.1. Программа p1

а) Выделение памяти под N1 свободных блоков (3<= N1=< 20). Каждый свободный блок занимает 138 байт:

- 2 байта под адрес предыдущего блока в списке блоков (первое адресное поле связки очереди);

- 2 байта под адрес следующего блока в списке блоков (второе адресное поле связки очереди);

- 3 байта под заголовок пакета;

- 1 байт под заголовок кадра;

- 128 байт под информационную часть пакета данных;

- 2 байта под контрольно-проверочную комбинацию КПК.

Очистить память, занятую свободными блоками.

б) Установление адресов связки в N1 свободных блоках:

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

АНсвоб

А(1)

А(N1)

N1

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

Здесь

А(1) – адрес начала массива первого свободного блока в очереди Освоб

А(N1) – адрес начала массива последнего свободного блока в очереди Освоб.

Под массивом блока будем понимать блок (пакет, кадр, ячейка и др.) с адресными полями связки очереди.

_- установить адресные поля связки первого (рис. 2а) и N1 – го (рис. 2б) свободного блока в очереди Освоб.

А(1)

0

А(N1)

а)

А(N1)

А(N1)-1

0

б)

Рис. 2. Формат первого (а) и последнего (б) свободного блока в списке очереди Освоб

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

FOR i=2, 3 …. (N1-1) DO

Запись в первое адресное поле i-го блока адрес начала i-1 блока списка очереди;

Запись во второе адресное поле i-го блока адрес начала i+1 блока списка очереди.

i=i+1

D:=D+1

GO TO DISP3

3.2. Программа p2

Записать данные в информационную часть первых N2 свободных блоков очереди Освоб, т.е. сформировать пакет данных в этих свободных блоках. Для упрощения примем заголовок пакета равным нулю.

На рис. 3 показан формат размещенного пакета в свободном блоке с начальным адресом A(i).

байты

2

2

1

3

128

2

Начальный адрес A(i)

Первое адресное поле

Второе адресное поле

Заголовок пакета

Информационная часть пакета

Рис. 3. Формат размещения пакета данных в свободном блоке с начальным адресом A(i).

Обозначим через m начальное значение для записи данных в информационную часть пакета данных.

FOR i= 1,2…..N2 DO

Записать m+1 в поле информационной части пакета с начальным адресом массива A(i). (Исходные данные параметра m приведены в разделе 6 настоящей лабораторной работы).

END

В результате в первых N2 свободных блоках установлены пакеты данных, образуя очередь пакетов Оп32. Функция следующей программы P3 в освобождении Освоб от пакетов очереди пакетов Оп32 (переносе их из . Освоб в Оп32 ), формирование характеристики очереди пакетов Оп32.

D:=D+1

GO TO DISP3

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