Программирование на Ассемблере
= -48
MyInput = -54
Output = -60
CurrDir = -126
Lock = -84
Unlock = -90
Examine = -102
ExNext = -108
Exit = -144
IoErr = -132
WaitForChar = -204
Mode = 0
mode_old = 1005
mode_new = 1006 ILABEL AssemPro:includes/Amiga.i ; только для AssemPro INIT_AMIGA ; только для AssemPro run:
bsr.s init
bra test init: ;инициализация
move.l ExBase,A6
lea dosname(PC),A1
moveq #0,d0
jsr OpenLib(A6) ;открываем dos.library
move.l D0,dosbase
beq error1 ;обработка ошибки lea consolname(PC),A1
move.l #mode_old,D0
bsr.s openfile ;открываем консоль
beq error2 ;ошибка?
move.l D0,conhandle ;ok, сохраняем id rts test:
move.l #MyText,D0
bsr.s pmsg ;вывод текста подсказки move.l dosbase(PC),A6
move.l #name,D1
moveq.l #-2,D2 ;режим захвата - Shared
jsr Lock(A6) ;захват каталога
move.l D0,D5
tst.l D0
beq error3 ;ошибка?
move.l d0,locksav move.l dosbase(PC),A6
move.l locksav(PC),D1
move.l #fileinfo,D2
jsr Examine(A6) ;Examine каталог
move.l D0,D6
loop:
move.l dosbase(PC),A6
move.l locksav(PC),D1
move.l #fileinfo,D2
jsr ExNext(A6) ;Examine очередную запись
tst.l D0 ;все?
beq end
|