Home » Archimedes archive » Acorn User » AU 1998-05 A.adf » Regulars » StarInfo/Reysenbach/cos

StarInfo/Reysenbach/cos

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Acorn User » AU 1998-05 A.adf » Regulars
Filename: StarInfo/Reysenbach/cos
Read OK:
File size: 0319 bytes
Load address: 0000
Exec address: 0000
File contents
   10 REM >cos2
   20 REM 0 <= radians <1
   30 REM by A Reysenbach
   40 REM STRONG ARM ONLY
   50 :
   60 MODE 28
   70 DIM co 100
   80 FOR pass=0 TO 2 STEP 2
   90 P%=co
  100 :
  110 [OPT  pass
  120 DCD   &E0861090
  130 ADR   2,x
  140 LDMIA 2,{1-5}
  150 DCD   &E0810691
  160 DCD   &E0810691
  170 DCD   &E0827692
  180 MVN   0,6,LSR #1
  190 ADD   0,0,1,LSR #4
  200 DCD   &E0817291
  210 DCD   &E0837693
  220 SUB   0,0,1,LSR #8
  230 DCD   &E0817391
  240 DCD   &E0847694
  250 ADD   0,0,1,LSR #13
  260 DCD   &E0817491
  270 DCD   &E0857695
  280 SUB   0,0,1,LSR #19
  290 DCD   &E0817591
  300 ADD   0,0,1,LSR #25
  310 MOV   PC,14
  320 .x
  330 EQUD  &AAAAAAAB
  340 EQUD  &88888889
  350 EQUD  &92492493
  360 EQUD  &B60B60B7
  370 EQUD  &F83E0F84
  380 ]
  390 NEXT  pass
  400 :
  410 INPUT'"0 <= cosine < 1 ";a
  420 A%=(a*2^31)<<1
  430 :
  440 Z%=USR(co)>>>1
  450 PRINTZ%/(2^31)
  460 PRINT COS(a)

 � >cos2
 � 0 <= radians <1
 � by A Reysenbach
( � STRONG ARM ONLY
2 :
<	 � 28
F
 � co 100
P � pass=0 � 2 � 2
Z
 P%=co
d :
n [OPT  pass
x DCD   &E0861090
� ADR   2,x
� LDMIA 2,{1-5}
� DCD   &E0810691
� DCD   &E0810691
� DCD   &E0827692
� MVN   0,6,LSR #1
� ADD   0,0,1,LSR #4
� DCD   &E0817291
� DCD   &E0837693
� SUB   0,0,1,LSR #8
� DCD   &E0817391
� DCD   &E0847694
� ADD   0,0,1,LSR #13
 DCD   &E0817491
 DCD   &E0857695
 SUB   0,0,1,LSR #19
" DCD   &E0817591
, ADD   0,0,1,LSR #25
6 MOV   PC,14
@ .x
J EQUD  &AAAAAAAB
T EQUD  &88888889
^ EQUD  &92492493
h EQUD  &B60B60B7
r EQUD  &F83E0F84
| ]
� �  pass
� :
� �'"0 <= cosine < 1 ";a
� A%=(a*2^31)<<1
� :
� Z%=�(co)>>>1
� �Z%/(2^31)
� � �(a)
�
00000000  0d 00 0a 0c 20 f4 20 3e  63 6f 73 32 0d 00 14 16  |.... . >cos2....|
00000010  20 f4 20 30 20 3c 3d 20  72 61 64 69 61 6e 73 20  | . 0 <= radians |
00000020  3c 31 0d 00 1e 16 20 f4  20 62 79 20 41 20 52 65  |<1.... . by A Re|
00000030  79 73 65 6e 62 61 63 68  0d 00 28 16 20 f4 20 53  |ysenbach..(. . S|
00000040  54 52 4f 4e 47 20 41 52  4d 20 4f 4e 4c 59 0d 00  |TRONG ARM ONLY..|
00000050  32 06 20 3a 0d 00 3c 09  20 eb 20 32 38 0d 00 46  |2. :..<. . 28..F|
00000060  0d 20 de 20 63 6f 20 31  30 30 0d 00 50 15 20 e3  |. . co 100..P. .|
00000070  20 70 61 73 73 3d 30 20  b8 20 32 20 88 20 32 0d  | pass=0 . 2 . 2.|
00000080  00 5a 0a 20 50 25 3d 63  6f 0d 00 64 06 20 3a 0d  |.Z. P%=co..d. :.|
00000090  00 6e 0f 20 5b 4f 50 54  20 20 70 61 73 73 0d 00  |.n. [OPT  pass..|
000000a0  78 14 20 44 43 44 20 20  20 26 45 30 38 36 31 30  |x. DCD   &E08610|
000000b0  39 30 0d 00 82 0e 20 41  44 52 20 20 20 32 2c 78  |90.... ADR   2,x|
000000c0  0d 00 8c 12 20 4c 44 4d  49 41 20 32 2c 7b 31 2d  |.... LDMIA 2,{1-|
000000d0  35 7d 0d 00 96 14 20 44  43 44 20 20 20 26 45 30  |5}.... DCD   &E0|
000000e0  38 31 30 36 39 31 0d 00  a0 14 20 44 43 44 20 20  |810691.... DCD  |
000000f0  20 26 45 30 38 31 30 36  39 31 0d 00 aa 14 20 44  | &E0810691.... D|
00000100  43 44 20 20 20 26 45 30  38 32 37 36 39 32 0d 00  |CD   &E0827692..|
00000110  b4 15 20 4d 56 4e 20 20  20 30 2c 36 2c 4c 53 52  |.. MVN   0,6,LSR|
00000120  20 23 31 0d 00 be 17 20  41 44 44 20 20 20 30 2c  | #1.... ADD   0,|
00000130  30 2c 31 2c 4c 53 52 20  23 34 0d 00 c8 14 20 44  |0,1,LSR #4.... D|
00000140  43 44 20 20 20 26 45 30  38 31 37 32 39 31 0d 00  |CD   &E0817291..|
00000150  d2 14 20 44 43 44 20 20  20 26 45 30 38 33 37 36  |.. DCD   &E08376|
00000160  39 33 0d 00 dc 17 20 53  55 42 20 20 20 30 2c 30  |93.... SUB   0,0|
00000170  2c 31 2c 4c 53 52 20 23  38 0d 00 e6 14 20 44 43  |,1,LSR #8.... DC|
00000180  44 20 20 20 26 45 30 38  31 37 33 39 31 0d 00 f0  |D   &E0817391...|
00000190  14 20 44 43 44 20 20 20  26 45 30 38 34 37 36 39  |. DCD   &E084769|
000001a0  34 0d 00 fa 18 20 41 44  44 20 20 20 30 2c 30 2c  |4.... ADD   0,0,|
000001b0  31 2c 4c 53 52 20 23 31  33 0d 01 04 14 20 44 43  |1,LSR #13.... DC|
000001c0  44 20 20 20 26 45 30 38  31 37 34 39 31 0d 01 0e  |D   &E0817491...|
000001d0  14 20 44 43 44 20 20 20  26 45 30 38 35 37 36 39  |. DCD   &E085769|
000001e0  35 0d 01 18 18 20 53 55  42 20 20 20 30 2c 30 2c  |5.... SUB   0,0,|
000001f0  31 2c 4c 53 52 20 23 31  39 0d 01 22 14 20 44 43  |1,LSR #19..". DC|
00000200  44 20 20 20 26 45 30 38  31 37 35 39 31 0d 01 2c  |D   &E0817591..,|
00000210  18 20 41 44 44 20 20 20  30 2c 30 2c 31 2c 4c 53  |. ADD   0,0,1,LS|
00000220  52 20 23 32 35 0d 01 36  10 20 4d 4f 56 20 20 20  |R #25..6. MOV   |
00000230  50 43 2c 31 34 0d 01 40  07 20 2e 78 0d 01 4a 14  |PC,14..@. .x..J.|
00000240  20 45 51 55 44 20 20 26  41 41 41 41 41 41 41 42  | EQUD  &AAAAAAAB|
00000250  0d 01 54 14 20 45 51 55  44 20 20 26 38 38 38 38  |..T. EQUD  &8888|
00000260  38 38 38 39 0d 01 5e 14  20 45 51 55 44 20 20 26  |8889..^. EQUD  &|
00000270  39 32 34 39 32 34 39 33  0d 01 68 14 20 45 51 55  |92492493..h. EQU|
00000280  44 20 20 26 42 36 30 42  36 30 42 37 0d 01 72 14  |D  &B60B60B7..r.|
00000290  20 45 51 55 44 20 20 26  46 38 33 45 30 46 38 34  | EQUD  &F83E0F84|
000002a0  0d 01 7c 06 20 5d 0d 01  86 0c 20 ed 20 20 70 61  |..|. ].... .  pa|
000002b0  73 73 0d 01 90 06 20 3a  0d 01 9a 1b 20 e8 27 22  |ss.... :.... .'"|
000002c0  30 20 3c 3d 20 63 6f 73  69 6e 65 20 3c 20 31 20  |0 <= cosine < 1 |
000002d0  22 3b 61 0d 01 a4 13 20  41 25 3d 28 61 2a 32 5e  |";a.... A%=(a*2^|
000002e0  33 31 29 3c 3c 31 0d 01  ae 06 20 3a 0d 01 b8 11  |31)<<1.... :....|
000002f0  20 5a 25 3d ba 28 63 6f  29 3e 3e 3e 31 0d 01 c2  | Z%=.(co)>>>1...|
00000300  0f 20 f1 5a 25 2f 28 32  5e 33 31 29 0d 01 cc 0b  |. .Z%/(2^31)....|
00000310  20 f1 20 9b 28 61 29 0d  ff                       | . .(a)..|
00000319