Программирование на Ассемблере
move.l dosbase(PC),A6 ;загружаем базу dos.library
jsr Open(A6) ;открываем окно ввода/вывода
move.l D0,conhandle ;сохраняем идентификатор окна
beq error4 ;ошибка!
Для отображения текста, \"произносимого\" синтезатором, будем использовать
функцию \"pmsg\": move.l #intext,D2 ;входной текст
bsr pmsg ;печатаем в окно sayit: ;заставляем narrator говорить ;* Приводим текст к фонетическому виду, \"понятному\" синтезатору * lea intext(PC),A0 ;адрес текста - в A0
move.l #outtext-intext,D0 ;размер текста
lea outtext(PC),A1 ;адрес области вывода (для
;сохранения результата
;трансляции)
move.l #512,D1 ;размер области вывода
move.l tranbase(PC),A6 ;база библиотеки translator
jsr Translate(A6) ;Translate - функция
;библиотеки translator!!! ;* Синтезируем речь * lea talkio(PC),A1 ;адрес IO-структуры
move.l #512,36(A1) ;размер области вывода
move.l ExecBase,A6 ;адрес exec.library
jsr SendIO(A6) ;выводим данные на device
По окончании программы вывод данных прекращается, поэтому перед выходом
поместим вызов функции \"getchr\" (ожидание нажатия клавиши): bsr getchr ;ждем нажатия клавиши После запуска программы Вы услышите некоторую фразу, \"произнесенную\"
компьютером (естественно, по-английски). Выйти из программы
можно по нажатию клавиши . qu: ;(6.4.5C)
move.l E
|