3035
edycji
Linia 558: | Linia 558: | ||
Po otrzymaniu polecenia od MERY-400 MULTIX sprawdza, czy może przyjąć polecenie i reaguje odpowiednio do warunków, wysyłając przerwanie odpowiednie dla danego polecenia: | Po otrzymaniu polecenia od MERY-400 MULTIX sprawdza, czy może przyjąć polecenie i reaguje odpowiednio do warunków, wysyłając przerwanie odpowiednie dla danego polecenia: | ||
* jeśli konfiguracja MULTIX-a nie jest ustawiona -> | * jeśli konfiguracja MULTIX-a nie jest ustawiona -> '''brak linii''' | ||
* jeśli linii nie ma w konf (nr. linii > MAXLL) - | * jeśli linii nie ma w konf (nr. linii > MAXLL) - '''brak linii''' | ||
* jeśli konfiguracja MULTIX-a nie jest ustawiona (ponowne sprawdzenie) | * jeśli konfiguracja MULTIX-a nie jest ustawiona (ponowne sprawdzenie) '''pdrzucenie polecenia''' | ||
* jeśli ((b. | * jeśli ((b.war & 1) | (b.zaw) != 0) -> '''pdrzucenie polecenia'''. Warunek tłumaczy się na: | ||
** jeśli | ** jeśli jest już polecenie bezwarunkowego startu zadania (czyli takie polecenie zostało już wydane) | ||
** jeśli zadanie | ** jeśli zadanie jest aktywne | ||
** jeśli | ** jeśli zadanie czeka na warunek | ||
* jeśli żadna z powyższych sytuacji nie wystąpiła, zadanie jest zgłaszane: | * jeśli żadna z powyższych sytuacji nie wystąpiła, zadanie jest zgłaszane: | ||
** opcjonalnie pobierany jest argument zadania (dla zadań, które mają argumenty) | ** opcjonalnie pobierany jest argument zadania (dla zadań, które mają argumenty) | ||
** PZGLI | ** PZGLI[zadanie] = 1 | ||
** ADPZL[zadanie, linia] |= 1 (zgłoszenie zadania od początku) | ** ADPZL[zadanie, linia] |= 1 (zgłoszenie zadania od początku) | ||