annotate lib/alib/mult16x16.a @ 2639:283433fa565c

Added notes to atari.d
author Boisy Pitre <boisy.pitre@nuance.com>
date Tue, 28 Feb 2012 09:26:09 -0600
parents 7d70b7e1cb21
children aaba193af04f
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 * 16 x 16 Multiply
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 * ENTRY: D = multiplier
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
6 * X = multiplicand
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
7
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
8 * EXIT: Y = product 2 msbs
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
9 * U = " 2 lsbs
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
10 * D & X preserved
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
11
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
12 nam 16x16 bit Multiply
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
13 ttl Assembler Library Module
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
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
16 psect MULT16,0,0,0,0,0
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 MULT16:
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
19 PSHS D,X,Y,U save #s and make stack room
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
20 CLR 4,S reset overflow flag
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
21 LDA 3,S get byte
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
22 MUL
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
23 STD 6,S save B x Xl
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
24 LDD 1,S
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
25 MUL B x Xh
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
26 ADDB 6,S
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
27 ADCA #0
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
28 STD 5,S add 1st 2 mult.
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
29 LDB 0,S
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
30 LDA 3,S
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
31 MUL A x Xl
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
32 ADDD 5,S
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
33 STD 5,S add result to previous
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
34 BCC no.ov branch if no overflow
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
35 INC 4,S set overflow flag
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 no.ov
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
38 LDA 0,S
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
39 LDB 2,S
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
40 MUL A x Xh
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
41 ADDD 4,S
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
42 STD 4,S
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
43 PULS D,X,Y,U,PC return
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
44
7d70b7e1cb21 Moved net and alib files into here
boisy
parents:
diff changeset
45 endsect
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