annotate lib/alib/fputs.as @ 3278:ea1afb494127

defs: Add Bt.Sec for atari and corsham
author Tormod Volden <debian.tormod@gmail.com>
date Sat, 07 Mar 2020 23:52:40 +0100
parents 03f26e88b809
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2474
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
1 **************************************
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
2
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
3 * FPUTS: print null terminated string to "A".
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
4
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
5 * OTHER MODULES REQUIRED: none
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
6
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
7 * ENTRY: X=start of string
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
8 * A=path
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
9
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
10 * EXIT: CC carry set if error
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
11 * B = OS9 error if any (from I$WritLn)
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
12
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
13 * NOTE: string is feed through I$WritLn for editing (adding LF, etc.)
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
14
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
15 nam Output String
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
16 ttl Assembler Library Module
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
17
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
18
2782
aaba193af04f Updated code to use lwasm/lwlink
Boisy Pitre <boisy.pitre@nuance.com>
parents: 2474
diff changeset
19 section .text
2474
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
20
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
21 FPUTS:
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
22 pshs a,x,y,u
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
23 tfr x,u start of 1st segment to print
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
24
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
25 loop
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
26 pshs u start of this segment
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
27 ldy #-1 size of this seg.
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
28
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
29 l1
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
30 leay 1,y count size
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
31 ldb ,u+ check for null/cr
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
32 beq doit null=do last seg.
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
33 cmpb #$0d cr=do this seg.
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
34 bne l1
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
35 leay 1,y count CR as one of the ones to print
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
36
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
37 doit
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
38 puls x get start of this segment
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
39 OS9 I$WritLn
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
40 bcs exit
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
41 tst -1,u at end?
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
42 bne loop
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
43
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
44 exit
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
45 puls a,x,y,u,pc return with status in CC,error code in B
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
46
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
47 endsect