Программирование на Ассемблере
***** OpenLib = -552
CloseLib = -414
;ExecBase = 4 Open = -30
Close = -36
IoErr = -132
Write = -48
mode_old = 1005 ILABEL Assempro:includes/Amiga.l ;только для AssemPro INIT_AMIGA ;только для AssemPro run:
bsr.s init ;создание окна итд.
bsr.s test ;основная программа
nop ;одному автору известно, зачем
;здесь нужен nop
bra.s qu ;выход test:
move.l #mytext,D0
bsr.s pmsg ;печать текста в окне
bsr.s pcrlf ;перевод строки
bsr.s pcrlf ;еще раз перевод строки 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 ;ошибка lea consolname(PC),A1 ;описание окна
move.l #mode_old,D0
bsr.s openfile ;открываем консоль
beq.s error ;ошибка
move.l D0,conhandle rts pmsg: ;печать сообщения по (D0)
movem.l d0-d7/a0-a6,-(SP)
move.l D0,A0
move.l A0,D2
moveq #0,D3
ploop: ;цикл вычисления длины строки
tst.b (A0)+
beq.s pmsg2
addq.l #1,D3
bra.s ploop
pmsg2:
move.l conhandle(PC),D1
|