Программирование на Ассемблере
;ввод = 0
move.l conhandle(PC),D3 ;вывод = консоль
jsr Execute(A6) ;выполнить команду
rts ;возврат error:
moveq #-1,D7 ;для AssemPro
moveq #0,D5 qu:
move.l conhandle(PC),D1
move.l dosbase(PC),A6
jsr Close(A6) ;закрываем консоль move.l dosbase(PC),A1
move.l ExecBase,A6
jsr CloseLib(A6) ;закрываем dos.library EXIT_AMIGA ;только для AssemPro openfile: ;подпрограмма открытия
;файла
move.l A1,D1
move.l D0,D2
move.l dosbase(PC),A6
jsr Open(A6) ;открываем файл tst.l D0
rts dosname: dc.b \'dos.library\',0
align.w dosbase: dc.l 0 consolname: dc.b \'CON:0/100/640/100/** CLI-Console **\',0
align.w conhandle: dc.l 0 command:
dc.b \"dir\",0 end
6.5.6. Чтение каталога диска. А сейчас рассмотрим другой метод получения списка файлов в текущем
каталоге, который не требует постоянного доступа к системному диску.
А именно, напишем собственный аналог программы \"Dir\", которая использует
функции операционной системы.
Сначала необходимо передать системе информацию о том, с каким каталогом
мы будем работать. Для этого в состав \"dos.library\" входит функция Lock
(\"захват\", смещение -84), которая вызывается с двумя параметрами: в D1 указатель на ASCII-строку, содержащую путь к нужному каталогу.
Например, если требуется прочитать содержимое RAM-диска, нужно
написать \"RAM:\",0. в D2 режим работы с каталогом (чтение или запись).
|