Загрузка данных


GENERATE 10,5          ; Генерация сигналов (интервал 10±5 мкс)
        MARK 1                ; Метка времени для расчёта задержки
       
* --- ОБРАБОТКА В КАНАЛЕ ---
        QUEUE Q_CHAN          ; Встать в очередь к каналу
        SEIZE CHANNEL          ; Захват канала
        ADVANCE 10,3          ; Обработка в канале (10±3 мкс)
        RELEASE CHANNEL        ; Освобождение канала
        DEPART Q_CHAN          ; Выход из очереди канала
       
* --- ВЫБОР ЭВМ (НАИМЕНЬШАЯ ОЧЕРЕДЬ) ---
        TEST G Q$Q_CPU1,Q$Q_CPU2,TO_CPU1  ; Если Q1 < Q2, идём на CPU1
       
* --- ВЕТКА ЭВМ 2 ---
CHECK2   TEST L Q$Q_CPU2,9,OVERFLOW  ; Если очередь > 9, переполнение
        QUEUE Q_CPU2          ; В очередь к ЭВМ 2
        SEIZE CPU2            ; Захват ЭВМ 2
        ADVANCE 33,6          ; Обработка (33±6 мкс)
        RELEASE CPU2          ; Освобождение ЭВМ 2
        DEPART Q_CPU2          ; Выход из очереди
        TERMINATE 1            ; Конец обработки сигнала
       
* --- ВЕТКА ЭВМ 1 ---
TO_CPU1  TEST L Q$Q_CPU1,9,OVERFLOW  ; Если очередь > 9, переполнение
        QUEUE Q_CPU1          ; В очередь к ЭВМ 1
        SEIZE CPU1            ; Захват ЭВМ 1
        ADVANCE 33,6          ; Обработка (33±6 мкс)
        RELEASE CPU1          ; Освобождение ЭВМ 1
        DEPART Q_CPU1          ; Выход из очереди
        TERMINATE 1            ; Конец обработки сигнала
 
* --- ПЕРЕПОЛНЕНИЕ ---
OVERFLOW SAVEVALUE 1+,1        ; Увеличить счётчик переполнений
        TERMINATE 1            ; Сигнал потерян
 
* --- ЗАПУСК МОДЕЛИРОВАНИЯ ---
        START 500              ; Моделировать 500 сигналов