Программирование на Ассемблере
= -480 ;закончить ввод/вывод Translate = -30 ;перевести текст из обычного
;представления в фонетическое Программа инициализации синтезатора выглядит так: init: ;инициализация narrator.device ;* Открываем библиотеку dos.library * move.l ExecBase,A6 ;база библиотеки exec
lea dosname(PC),A1 ;имя библиотеки dos.library
moveq #0,D0 ;любая версия
jsr OpenLib(A6) ;открываем библиотеку dos
move.l D0,dosbase ;сохраняем базу
beq error1 ;ошибка ;* Открываем библиотеку translator.library * lea transname(PC),A1 ;\"translator.library\"
moveq #0,D0
jsr OpenLib(A6) ;открываем translator
move.l D0,transbase ;сохраняем базу
beq error2 ;ошибка! ;* Подготавливаем структуру ввода/вывода для narrator.device * lea talkio,A1 ;адрес IO-структуры
move.l #nwrrep,14(A1) ;адрес порта
move.l #amaps,48+8(A1) ;указатель на audio-карту
move #4,48+12(A1) ;размер audio-карты
move.l #512,26(A1) ;размер IO-структуры
move #3,28(A1) ;команда: запись (вывод)
move.l #outtext,40(A1) ;адрес буфера вывода ;* Открываем устройство narrator.device * moveq #0,D0
moveq #0,D1 ;обнуляем флаги
lea nardevice(PC),A0 ;адрес строки
;\"narrator.device\"
jsr OpenDevice(A6) ;открываем narrator
tst.l D0 ;ошибка?
bne error3 ;да! ;* Открываем окно * move.l #consolname,D1 ;имя консоли
move.l #mode_old,D2 ;режим
|