I've googled for this stuff for some time, but finished with reading docs. May be that will be usefull for someone else (notibly me when I will look for that once again)
dtzputs.s , implements
test.c ,calls
The next thing to understand is how to get rid of S.O and CLIB, but it is not for today.
dtzputs.s , implements
dtzputs
via calling BDOS fn 2
Assemble it withtext globl _dtzputs _dtzputs: move.l 4(sp),a1 *
taking argument from stackdtzputsl: move.b (a1)+,d1 *
take next char; should if be ANDed with 0x00FF ? A1 expected to be wcmpi.b #0,d1 beq dtzputse move.l a1,-(sp) *
storing string pointer to stackmove.w #2,d0 *
calling BDOS '2'trap #2 move.l (sp)+,a1 bra dtzputsl dtzputse: rts
AS68 -L -U -S 0: dtzputs.s
, get dtzputs.o
test.c ,calls
dtzputs
main()
{
dtzputs("Fuck a duck");
}
Compile it with C TEST
like that:
9C>c test
9C>CP68 -I 0: TEST.C TEST.I
9C>C068 TEST.I TEST.1 TEST.2 TEST.3 -F
9C>ERA TEST.I
9C>C168 TEST.1 TEST.2 TEST.S
9C>ERA TEST.1
9C>ERA TEST.2
9C>AS68 -L -U -S 0: TEST.S
9C>ERA TEST.S
9C>
And link it
9C>clink test dtzputs
9C>LO68 -R -U_NOFLOAT -O TEST.68K 0:S.O TEST.O DTZPUTS.O .O .O .O .O .O .O .O 0:CLIB
9C>test
Fuck a duck
Quack! Quack! Quack!The next thing to understand is how to get rid of S.O and CLIB, but it is not for today.
No comments:
Post a Comment