Программирование на Ассемблере
Недостатком данного метода является то, что система должна иметь
доступ к диску Workbench (а именно, к каталогу \"c:\"), так как все команды
интерпретатора командной строки являются отдельными программами и, как
правило, размещаются на системном диске (для владельцев жесткого диска (HD)
это не является проблемой). Однако использование команд CLI сильно упрощает
код и позволяет писать более компактные программы. Приведем теперь полный текст программы, работающей с функцией Execute: ;***** 6.5.5 ADIR.ASM S.D. ***** OpenLib = -552
CloseLib = -414
;ExecBase = 4 ;* вызовы AmigaDOS: Open = -30
Close = -36
Execute = -222
IoErr = -132
mode_old = 1005
alloc_abs = -$CC ILABEL AssemPro:includes/Amiga.i ;только для AssemPro INIT_AMIGA ;только для AssemPro run:
bsr.s init ;инициализация
bra.s test ;основная часть init:
move.l ExecBase,A6 ;база exec.library
lea dosname(PC),A1
moveq #0,D0
jsr OpenLib(A6) ;открываем dos.library
move.l D0,dosbase ;сохраняем базу DOS
beq error lea consolname(PC),А1 ;параметры консоли
move.l #mode_old,D0
bsr openfile ;открываем консоль
beq error
move.l d0,conhandle ;сохраняем ID rts test:
bsr dir ;читаем каталог
bra qu ;выход dir:
move.l dosbase(PC),A6 ;база dos.library
move.l #command,D1 ;команда CLI
moveq #0,D2
|