Программирование на Ассемблере
q error ;ошибка!
;* ;начальные установки:
sub.l A1,A1 ;обнуляем A1
move.l ExecBase,A6
jsr FindTask(A6) ;находим задачу
move.l D0,nwrrep+2 ;установка порта lea nwrrep(PC),A1
jsr addport(A6) ;добавляем порт
;* ;открываем narrator.device
lea talkio,A1 ;указатель на IO-структуру
move.l #nwrrep,14(A1) ;устанавливаем адрес порта
moveq #0,D0
moveq #0,D1 ;обнуляем флаги
lea nardevice(PC),A0 ;имя устройства
jsr OpenDevice(A6)
tst.l D0 ;ошибка?
bne error ;да!
;* ;инициализируем IO-блок
lea talkio(PC),A1
move.l #amaps,48+8(A1) ;установка audio-карты
move.l #4,48+12(A1) ;размер карты
lea consolname(PC),A1 ;определение консоли
move.l #mode_old,D0
bsr openfile ;открываем окно ввода/вывода
beq error ;ошибка!
move.l D0,conhandle ;сохраняем идентификатор окна rts test:
move.l #MyText,D0
bsr pmsg ;выводим текст на экран bsr sayit ;синтезируем речь bsr readln ;ввод с клавиатуры
move #10,D0
bsr pchar ;выводим LF
move.l #inline+2,D0
bsr pmsg ;и еще раз
bsr pcrlf
bra qu error:
moveq #-1,D7
|