BINARY LOAD
From Atariki
(Różnice między wersjami)
Wersja z dnia 21:47, 28 sie 2009 KMK (Dyskusja | wkład) ← Previous diff |
Wersja z dnia 21:48, 28 sie 2009 KMK (Dyskusja | wkład) Next diff → |
||
Linia 25: | Linia 25: | ||
* ''iocb'' - numer kanału [[IOCB]] z zakresu od 1 do 7. Kanał musi być zamknięty w chwili wywołania. | * ''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. | + | * ''n'' - numer stacji dysków. Brak tegoż pod MyDOS-em i SpartaDOS-em oznacza dysk bieżący. |
* ''fname'' - adres specyfikacji pliku. Całość ciągu znaków trzeba zakończyć znakiem EOL (ASCII $9B). | * ''fname'' - adres specyfikacji pliku. Całość ciągu znaków trzeba zakończyć znakiem EOL (ASCII $9B). | ||
* ''x1'' - zwykle $04. Pod MyDOS-em inne wartości mają następujące funkcje: | * ''x1'' - zwykle $04. Pod MyDOS-em inne wartości mają następujące funkcje: |
Wersja z dnia 21:48, 28 sie 2009
Przeznaczenie: Funkcja DOS-u pozwalająca programowi załadować i uruchomić wskazany plik binarny.
Dostępność: MyDOS, SpartaDOS (Real.DOS), SpartaDOS X
Składnia BASIC-a: XIO 40,#iocb,x1,x2,"Dn:flename.ext"
Kod w asemblerze:
ldx #iocb*16 lda #40 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 tegoż pod MyDOS-em i SpartaDOS-em oznacza dysk bieżący.
- fname - adres specyfikacji pliku. Całość ciągu znaków trzeba zakończyć znakiem EOL (ASCII $9B).
- x1 - zwykle $04. Pod MyDOS-em inne wartości mają następujące funkcje:
- $05 - zignoruj segmenty INIT
- $06 - zignoruj segmenty RUN
- $07 - zignoruj segmenty INIT i RUN (nie uruchamiaj pliku)
- x2 - domyślnie $00. Pod SpartaDOS oraz SpartaDOS X od 4.42 wzwyż wartość $80 (128) zakazuje uruchomienia pliku (przez zignorowanie segmentu RUN).
Uwagi:
- W SpartaDOS X 4.2x/4.3x funkcja ta była wadliwie zaimplementowana, uruchomienie nie następowało nigdy, niezależnie od wartości x2.
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.