SET ATTRIBUTES
From Atariki
(Różnice między wersjami)
Wersja z dnia 22:30, 28 sie 2009
Przeznaczenie: Funkcja DOS-u pozwalająca programowi na ustawianie lub kasowanie atrybutów wskazanego pliku lub katalogu.
Dostępność: SpartaDOS X
Składnia BASIC-a: XIO 49,#iocb,x1,x2,"Dn:filename.ext"
Kod w asemblerze:
ldx #iocb*16
lda #49
sta iccmd,x
lda #<fname
sta icbufa,x
lda #>fname
sta icbufa+1,x
lda #x1
sta icax1,x
lda #x2
sta icax2,x
jsr jciomain
gdzie:
- iocb - numer kanału IOCB z zakresu od 1 do 7. Kanał musi być zamknięty w chwili wywołania.
- n - numer stacji dysków (brak oznacza stację bieżącą)
- fname - adres specyfikacji pliku. Całość ciągu znaków trzeba zakończyć znakiem EOL (ASCII $9B).
- x1 - wybór atrybutów do zmiany oraz sposobu ich ustawienia (domyślna wartość $00):
Zabezpieczenie (LOCK): +1 Odbezpieczenie (UNLOCK): +16
Ukrycie (HIDE): +2 Ujawnienie (UNHIDE): +32
Archiwalny (ARCHIVED): +4 Niearchiwalny (NOT ARCHIVED): +64
- x2 - wybór atrybutów, jakie ma mieć plik podlegający zmianie ($00 = wszystkie pliki):
Zabezpieczone (LOCKED): +1 Odbezpieczone (UNLOCKED): +16
Ukryte (HIDDEN): +2 Ujawnione (UNHIDDEN): +32
Archiwalne (ARCHIVED): +4 Niearchiwalne (NOT ARCHIVED): +64
Uwagi: w przypadu, gdy jedynym zmienianym atrybutem jest stan zabezpieczenia pliku, lepiej użyć funkcji LOCK FILE i UNLOCK FILE, gdyż są zgodne z wszystkimi DOS-ami.
Zwracana wartość: Procedura zwraca w rejestrze Y ujemny kod błędu albo wartość $01 w przypadku powodzenia, oraz odpowiednio do tego ustawia znacznik N rejestru znaczników.