RENAME FILE

From Atariki

Revision as of 20:16, 28 sie 2009; view current revision
←Older revision | Newer revision→
Jump to: navigation, search

XIO 32. Funkcja DOS-u pozwalająca programowi na zmianę nazwy wskazanego pliku, a w niektórych implementacjach (MyDOS, SpartaDOS X 4.4) także katalogu.

Składnia BASIC-a: XIO 32,#iocb,x1,x2,"Dn:old_name,new_name"

Kod w asemblerze:

     ldx #iocb*16
     lda #32
     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.
  • x1 - wartość AUX1. Powinna wynosić $00.
  • x2 - wartość AUX2. Patrz niżej.
  • n - numer stacji dysków (brak pod MyDOS-em i SpartaDOS X oznacza stację bieżącą)
  • fname - adres specyfikacji pliku, którego nazwa ma zostać zmieniona. Po niej musi następować nowa nazwa oddzielona przecinkiem, jako to widać w powyższym przykładzie dla BASIC-a. Całość ciągu znaków trzeba zakończyć znakiem EOL (ASCII $9B).

Wartość x2 wynosi normalnie $00. Pod MyDOS-em pozwala to na zmianę nazwy pliku lub katalogu, natomiast SpartaDOS zmieni tylko nazwę pliku ignorując katalogi. Żeby zmienić nazwę katalogu, trzeba ustawić wartość x2 na 128 (działa to w ten sposób od wersji 4.42 SpartaDOS X, poprzednie wersje ignorują wartość parametru).

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.

Personal tools