Программирование на Ассемблере
= 1000000 микросекунд
move.l dosbase(PC),A6 ;база библиотеки dos.library
jsr WaitForCh(A6) ;ждем клавишу
tst.l D0 ;проверка нажатия
rts ;возврат Здесь команда tst используется для проверки результата работы WaitForChar,
так что сразу после вызова \"scankey\" основная программа может выполнить
ветвление (BNE или BEQ).
Приведем пример программы, которая открывает окно, печатает в нем некоторый
текст и ждет ввода с клавиатуры.: ;***** (6.4.2A).ASM S.D. ***** OpenLib = -552
CloseLib = -414
;ExecBase = 4 Open = -30
Close = -36
IoErr = -132
Read = -42
Write = -48
mode_old = 1005 ILABEL Assempro:includes/Amiga.l ;только для AssemPro INIT_AMIGA ;только для AssemPro run:
bsr.s init ;создание окна итд.
bsr.s test ;основная программа
nop ;???
bra.s qu ;выход test:
move.l #mytext,D0
bsr pmsg ;печать текста в окне
bsr pcrlf ;перевод строки
bsr pcrlf ;еще раз перевод строки
moveq #80,D3 ;80 символов для чтения
bsr getchr ;ввод строки
bsr pchar ;печать результата rts ;возврат
init:
move.l ExecBase,A6 ;базовый адрес EXEC lea dosname(PC),A1 ;\'dos.library\'
moveq #0,D0 ;годится любая версия
jsr OpenLib(A6) ;открываем dos.library
move.l D0,dosbase
beq.s error1
|