Программирование на Ассемблере
;да, выход move.l #fileinfo+8,D0
bsr.s pmsg ;выводим имя записи
bsr.s pcrlf
bra.s loop ;цикл end:
move.l #presskey,d0
bsr.s pmsg
bsr.s getchr ;ожидаем нажатия клавиши move.l locksav(PC),D1
jsr Unlock(A6) ;освобождаем захват
error3:
move.l conhandle,D1
move.l dosbase(PC),A6
jsr Close(A6) ;закрываем консоль
error2:
move.l dosbase(PC),A1
move.l ExBase,A6
jsr CloseLib(A6) ;закрываем dos.library
error1:
EXIT_AMIGA ;все! openfile: ;открываем файл
move.l A1,D1
move.l D0,D2
move.l dosbase(PC),A6
jsr Open(A6)
tst.l D0
rts pmsg: ;печать сообщения по (D0)
movem.l D0-D7/A0-A6,-(SP)
move.l D0,A0
move.l A0,D2
moveq #0,D3
mess1:
tst.b (A0)+
beq.s mess2
addq.l #1,D3
bra.s mess1 ;вычисляем длину
mess2:
move.l conhandle(PC),D1
move.l dosbase(PC),A6
jsr Write(A6) ;печатаем строку
movem.l (SP)+,D0-D7/A0-A6
rts pcrlf:
move #10,D0
bsr pchar
move #13,D0
pchar: ;вывод символа по коду в D0
movem.l D0-D7/A0-A6,-(SP)
move.l conhandle(PC),D1
pch1:
lea chbuff(PC),A1
move.b D0,(A1)
move.l A1,D2
moveq.l #1,D3 ;выводим 1 символ
move.
|