SET ATTRIBUTES
From Atariki
(Różnice między wersjami)
Wersja z dnia 22:30, 28 sie 2009 KMK (Dyskusja | wkład) ← Previous diff |
Wersja z dnia 22:37, 28 sie 2009 KMK (Dyskusja | wkład) Next diff → |
||
Linia 19: | Linia 19: | ||
lda #''x2'' | lda #''x2'' | ||
sta icax2,x | sta icax2,x | ||
- | jsr jciomain | + | jsr [[Tablica skoków#JCIOMAIN|jciomain]] |
</code> | </code> | ||
Wersja z dnia 22:37, 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.