annotate 3rdparty/packages/basic09/basic09.real.add.68.asm @ 1331:0a3500c747de

Fixed ANOTHER bug
author boisy
date Sun, 07 Sep 2003 00:53:51 +0000
parents 7a5d3fcbe2d8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
477
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
1 * Add for REAL #'s - 6809 version
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
2 L3FB1 pshs x Preserve X
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
3 tst 2,y 1st byte of mantissa 0 (means value is 0)?
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
4 beq L3FC7 Yes, eat temp var & leave other var alone
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
5 tst 8,y Is original # a 0?
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
6 bne L3FCB No, go do actual add
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
7 L3FBB ldd 1,y Copy temp var's value overtop original var (0)
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
8 std 7,y
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
9 ldd 3,y
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
10 std 9,y
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
11 lda 5,y Copy last byte of mantissa (sign bit) to orig var
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
12 sta $B,y
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
13 L3FC7 leay 6,y Eat temp var & return
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
14 puls pc,x
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
15
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
16 * Real add with non-zero values starts here
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
17 * NOTE: Exponents are 2^n, with n being the SIGNED exponent byte
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
18 L3FCB lda 7,y Get 1st exponent
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
19 suba 1,y Calculate difference in exponents
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
20 bvc L3FD5 Didn't exceed +127 or -128, skip ahead
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
21 bpl L3FBB Went too big on plus side, make temp var the answe
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
22 bra L3FC7 Too small, eat temp var & leave answer alone
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
23
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
24 L3FD5 bmi L3FDD If negative difference in exponents, skip ahead
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
25 cmpa #31 Difference of exponents within 0-31?
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
26 ble L3FE5 Yes, go deal with it
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
27 bra L3FC7 >2^31, out of range so eat temp var & return
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
28
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
29 L3FDD cmpa #-31 Difference of exponents within -1 to -31?
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
30 blt L3FBB <2^-31, out of range so copy temp to answer
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
31 ldb 1,y ???Since negative difference, copy temp exponent
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
32 stb 7,y overtop destination exponent?
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
33 * As of this point, exponent in temp var no longer needed (A=difference in exp
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
34 L3FE5 ldb $B,y Get sign of dest. var
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
35 andb #$01 Keep sign bit only
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
36 stb ,y Save copy over var type
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
37 eorb 5,y EOR with sign bit of temp var
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
38 andb #$01 Keep only merged sign bit
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
39 stb 1,y Save what resulting sign should be
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
40 ldb $B,y
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
41 andb #$FE
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
42 stb $B,y
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
43 ldb 5,y
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
44 andb #$FE
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
45 stb 5,y
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
46 tsta Are exponents exactly the same?
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
47 beq L4031 Yes, skip ahead
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
48 bpl L4029 Exponent difference positive, go process
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
49 * Exponent difference is a negative value
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
50 nega Force to positive
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
51 leax 6,y Point X to dest. var
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
52 bsr L4082 Shift mantissa to match other value (into X:D)
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
53 tst 1,y Result going to be positive?
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
54 beq L4039 Yes, skip ahead
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
55 L400B subd 4,y Essentially, X:D=X:D-(2,y)
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
56 exg d,x
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
57 * This is essentially a sign reverse on 32 bit #?
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
58 sbcb 3,y
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
59 sbca 2,y
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
60 bcc L404D No borrow required, skip ahead
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
61 coma Compliment all 4 bytes
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
62 comb
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
63 exg d,x
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
64 coma
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
65 comb
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
66 addd #1 +1
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
67 exg d,x
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
68 bcc L4025 If no carry, skip ahead
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
69 addd #1 +1 to rest of 32 bit #
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
70 L4025 dec ,y Drop exponent by 1
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
71 bra L404D
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
72
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
73 * Exponent difference is positive value
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
74 L4029 leax ,y Point X to temp var
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
75 bsr L4082 Shift mantissa to match other value (into X:D)
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
76 stx 2,y
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
77 std 4,y
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
78 * Equal exponents come here
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
79 L4031 ldx 8,y Get mantissa of dest var into X:D
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
80 ldd $A,y
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
81 tst 1,y Check exponent of temp var
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
82 bne L400B <>0, go process
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
83 L4039 addd 4,y 32 bit add of X:D + [2,y]
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
84 exg d,x
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
85 adcb 3,y
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
86 adca 2,y
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
87 bcc L404D No overflow carry after add, skip ahead
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
88 rora Overflow, divide 32 bit mantissa by 2
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
89 rorb
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
90 exg d,x
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
91 rora
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
92 rorb
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
93 inc 7,y Bump up exponent of dest var by 1
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
94 exg d,x
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
95 L404D tsta
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
96 bmi L4060
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
97 L4050 dec 7,y
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
98 lbvs L40DD
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
99 exg d,x
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
100 lslb
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
101 rola
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
102 exg d,x
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
103 rolb
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
104 rola
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
105 bpl L4050
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
106 L4060 exg d,x
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
107 addd #1
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
108 exg d,x
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
109 bcc L4071
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
110 addd #1
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
111 bcc L4071
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
112 rora
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
113 inc 7,y
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
114 L4071 std 8,y
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
115 tfr x,d
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
116 andb #$FE Mask out sign bit in mantissa (force to positive)
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
117 tst ,y Result supposed to be negative?
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
118 beq L407C No, leave it alone
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
119 incb Set sign bit (negative result)
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
120 L407C std $A,y Save LSW of mantissa
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
121 leay 6,y Eat temp var
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
122 puls pc,x Restore X & return
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
123
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
124 * Entry: A=ABS(difference between exponents)
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
125 * Y=Ptr to temp var packet\ These could be swapped depending on whether
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
126 * X=Ptr to dest var packet/ exponent difference is positive or negative
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
127 * Exit: X:D is 32 bit shifted mantissa
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
128 L4082 suba #16 Subtract 16 from exponent difference (2 byte shift
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
129 blo L40A0 Wrapped to negative, skip ahead
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
130 suba #8 Try subtracting 8 from it
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
131 blo L4091 Wrapped, go add it back in
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
132 * 3 byte minimum shift
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
133 sta <u0014 Save number of rotates needed after 3 byte move
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
134 clra D=High word of mantissa
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
135 ldb 2,x
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
136 bra L4097 Go get Low word of mantissa into X & process
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
137
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
138 * 2 byte minimum shift
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
139 L4091 adda #8 Bump # shifts back up
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
140 sta <u0014 Save number of rotates needed
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
141 ldd 2,x D=
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
142 L4097 ldx #0
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
143 tst <u0014 Any shifts required?
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
144 bne L40BD Yes, go do them
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
145 rts No, return
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
146
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
147 L40A0 adda #8 Add 8 back (back to 1 byte shift)
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
148 bhs L40B3 Still more left, skip ahead
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
149 sta <u0014
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
150 clra
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
151 ldb 2,x
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
152 ldx 3,x
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
153 tst <u0014 Any shifts to do?
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
154 bne L40BF Yes, go do
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
155 exg d,x
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
156 rts
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
157
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
158 L40B3 adda #8 Add 8 back again (back to original difference)
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
159 sta <u0014 Save # bit shifts needed
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
160 ldd 2,x Get 32 bit mantissa into D:X from dest var
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
161 ldx 4,x
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
162 bra L40BF Go perform shift
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
163
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
164 * NOTE: BY LOOKS OF IT MOST OF THESE D,X PAIRS CAN BE CHANGED TO D,W (Q) PAIRS
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
165 * ELIMINATING ALL THE EXCHANGES AND SPEEDING UP REAL CALCS BY QUITE A BIT
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
166 L40BD exg d,x
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
167 L40BF lsra
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
168 rorb
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
169 exg d,x
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
170 rora
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
171 rorb
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
172 dec <u0014
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
173 bne L40BD
7a5d3fcbe2d8 Added Basic09 sources from Curtis Boyle
boisy
parents:
diff changeset
174 L40C9 rts