Przejdź do zawartości

STAT (CP/M)

Z Wikipedii, wolnej encyklopedii

STATdyrektywa nierezydentna systemu CP/M, zlecająca uruchomienie programu STAT, obsługi dyskietek i urządzeń zewnętrznych. Program ten umożliwia:

Postać dyrektywy

[edytuj | edytuj kod]

Dyrektywa ta może mieć następującą postać:

STAT
dyrektywa wyświetla informację o wolnych obszarach na wszystkich dyskietkach
STAT VAL;
dyrektywa wyświetla pomoc do polecenia STAT, w której podane są formaty specyfikacji argumentów wywołania dyrektywy
STAT specyfikacja
dyrektywa uruchamiająca wykonanie określonej funkcji polecenia STAT, w zależności od podanych argumentów.

Funkcje dyrektywy

[edytuj | edytuj kod]

Ponieważ dyrektywa łączy w sobie kilka funkcji związanych z obsługą dyskietek, plików, użytkowników i urządzeń, to która z tych funkcji będzie zrealizowana zależy od zawartych w specyfikacji argumentów wywołania. Dostępne są następujące możliwości:

STAT X:
podanie oznaczenia napędu, ogranicza wyświetlenie informacji o wolnych obszarach, do pojedynczej dyskietki X:
STAT [X:]nazwa [$S][1]
wyświetlenie informacji o rozmiarze pamięci zajmowanej przez plik (gdy nazwa jest nazwą jednoznaczną pliku), lub grupę plików (gdy nazwa jest nazwą wieloznaczną grupy plików), dodatkowy argument $S powoduje wyprowadzenie dodatkowo informacji o wielkości pliku wyrażonej w rekordach; wyświetlana jest informacja pliku lub plikach, z bieżącego katalogu lub (jeżeli wyspecyfikowano) z napędu X:
STAT [X:]nazwa <$R/0 | $R/W> | $SYS | $DIR[1][2]
ustalenie atrybutów pików; dostępne są atrybuty: R/0 – plik tylko do odczytu, R/W – plik do odczytu i zapisu (zmiany), SYS – systemowy, DIR – unieważnienie ustawienia atrybutu SYS; podobnie jak wyżej zmiana atrybutu dotyczy jednego pliku (gdy nazwa jest nazwą jednoznaczną pliku), lub grupę plików (gdy nazwa jest nazwą wieloznaczną grupy plików); plik lub plikach muszą znajdować się w bieżącym katalogu lub (jeżeli wyspecyfikowano) w napędzie X:
STAT [X:]DSK:[1]
wyprowadzenie informacji o dyskietce, tj. jej pojemności i sposobie zapisywania plików; dotyczy wszystkich napędów lub (jeżeli wyspecyfikowano) napędu X:
STAT X:=<R/0 | R/W>[1]
ustawienie atrybutów dla całej dyskietki, dostępne są atrybuty: R/0 – dyskietka tylko do odczytu, R/W – dyskietka do odczytu i zapisu (zmiany)
STAT USR:
wyświetlenie informacji z numerem aktywnego użytkownika oraz numerami użytkowników, których posiadają pliki na aktywnej dyskietce
STAT VAL:
wyświetlenie informacji pomocy o możliwych sposobach przypisania urządzeń fizycznych do urządzeń logicznych
STAT DEV:
wyświetlenie informacji o bieżącym przypisaniu urządzeń fizycznych od urządzeń logicznych
STAT urządzenie_log_1=urządzenie_fiz_1 [,urządzenie_log_2=urządzenie_fiz_2 [, ..., urządzenie_log_n=urządzenie_fiz_n]][1]
zmiana bieżącego przypisania urządzeń fizycznych do urządzeń logicznych

Urządzenia

[edytuj | edytuj kod]

Powyższe możliwości wskazują, iż dyrektywa STAT jest uniwersalnym programem obsługi pików, dyskietek i urządzeń. Stosowanie jej wymaga także znajomości trzyliterowych oznaczeń urządzeń logicznych i fizycznych, predefiniowanych w systemie. Urządzenia logiczne (są cztery urządzenia logiczne obsługiwane przez system):

  • CON: – konsola (konwersacja z użytkownikiem)
  • RDR: – urządzenie wejściowe klasy perforatora taśmy
  • PUN: – urządzenie wyjściowe klasy perforatora taśmy
  • LST: – urządzenie wyjściowe klasy drukarka.

Również urządzenia fizyczne mają swoje oznaczenia, np. TTY, CRT, BAT itd.. Sposób przypisania urządzeń fizycznych do logicznych jest pamiętany w bajcie IOBYTE przechowywanym w bajcie o adresie 0003H[3] strony zerowej. Jest to podzielony na pary bitów określających poszczególne urządzenia logiczne. Wartość pary bitów identyfikuje konkretne urządzenia fizyczne przypisane aktualnie urządzeniom logicznym.

Przypisy

[edytuj | edytuj kod]
  1. a b c d e nawiasy kwadratowe [] grupują elementy opcjonalne i nie są częścią dyrektywy
  2. nawiasy kątowe <> grupują jedną sekcję elementów opcjonalnych i nie są częścią dyrektywy
  3. Wartość podana w systemie szesnastkowym

Bibliografia

[edytuj | edytuj kod]