Home » Archimedes archive » Acorn Computing » 1994 08 subscription disc.adf » 9408s » BeebDisk/EgyRusM
BeebDisk/EgyRusM
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 Computing » 1994 08 subscription disc.adf » 9408s |
Filename: | BeebDisk/EgyRusM |
Read OK: | ✔ |
File size: | 036B bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10 REM Egyptn & Russn Multiplication 20 REM by Jon Millington 30 REM (c) Acorn Computing 40 DIM A(14),B(15) 50 INPUT"Key 1-Egyptian 0-Russian "M 60 REPEAT MODE 7 70 INPUT "Enter two numbers: "A 80 R=20+LEN STR$ A 90 INPUT TAB(R,0)"times "B' 100 IF A*B>1E9-1 THEN 60 110 IF A<B THEN C=A:A=B:B=C 120 IF B>511 THEN H=1 ELSE H=2 130 VDU 23;8202;0;0;0; 140 C$=CHR$(H+139) 150 IF M THEN B(0)=1 ELSE B(0)=B 160 N=-1 170 REPEAT N=N+1 180 A(N)=A 190 FOR D=1 TO H 200 PRINT C$ B(N) CHR$133 A(N) 210 NEXT D 220 A=2*A 230 IF M THEN B(N+1)=2*B(N) 240 IF M=0 THEN B(N+1)=B(N) DIV 2 250 UNTIL B(N+1)=0 OR B(N+1)>B 260 T=0 270 FOR G=0 TO N 280 IF M THEN C=N-G ELSE C=G 290 IF M AND B<B(C) THEN 380 300 IF M=0 AND B(C) MOD 2=0 THEN 380 310 FOR K=11 TO 22 320 Z=INKEY(10) 330 FOR D=1 TO H 340 PRINT TAB(K,H*C+D+1)CHR$130 A(C) 350 NEXT D,K 360 T=T+A(C) 370 IF M THEN B=B-B(C) 380 NEXT G 390 L=LEN STR$ T 400 P$=STRING$(L,"-") 410 FOR D=H*G+2 TO H*G+H+1 420 PRINT TAB(32-L,D)C$ P$ 430 PRINT TAB(21,D+H)C$ CHR$129 T 440 NEXT D 450 PRINT"Again? Press space"; 460 UNTIL GET<>32
$ � Egyptn & Russn Multiplication � by Jon Millington � (c) Acorn Computing ( � A(14),B(15) 2" �"Key 1-Egyptian 0-Russian "M < � � 7 F � "Enter two numbers: "A P R=20+� � A Z � �R,0)"times "B' d � A*B>1E9-1 � �T|@ n � A<B � C=A:A=B:B=C x � B>511 � H=1 � H=2 � � 23;8202;0;0;0; � C$=�(H+139) � � M � B(0)=1 � B(0)=B � N=-1 � � N=N+1 � A(N)=A � � D=1 � H � � C$ B(N) �133 A(N) � � D � A=2*A � � M � B(N+1)=2*B(N) � � M=0 � B(N+1)=B(N) � 2 � � B(N+1)=0 � B(N+1)>B T=0 � G=0 � N � M � C=N-G � C=G " � M � B<B(C) � �D|A , � M=0 � B(C) � 2=0 � �D|A 6 � K=11 � 22 @ Z=�(10) J � D=1 � H T � �K,H*C+D+1)�130 A(C) ^ � D,K h T=T+A(C) r � M � B=B-B(C) | � G � L=� � T � P$=�L,"-") � � D=H*G+2 � H*G+H+1 � � �32-L,D)C$ P$ � � �21,D+H)C$ �129 T � � D � �"Again? Press space"; � � �<>32 �
00000000 0d 00 0a 24 20 f4 20 45 67 79 70 74 6e 20 26 20 |...$ . Egyptn & | 00000010 52 75 73 73 6e 20 4d 75 6c 74 69 70 6c 69 63 61 |Russn Multiplica| 00000020 74 69 6f 6e 0d 00 14 18 20 f4 20 62 79 20 4a 6f |tion.... . by Jo| 00000030 6e 20 4d 69 6c 6c 69 6e 67 74 6f 6e 0d 00 1e 1a |n Millington....| 00000040 20 f4 20 28 63 29 20 41 63 6f 72 6e 20 43 6f 6d | . (c) Acorn Com| 00000050 70 75 74 69 6e 67 0d 00 28 12 20 de 20 41 28 31 |puting..(. . A(1| 00000060 34 29 2c 42 28 31 35 29 0d 00 32 22 20 e8 22 4b |4),B(15)..2" ."K| 00000070 65 79 20 31 2d 45 67 79 70 74 69 61 6e 20 30 2d |ey 1-Egyptian 0-| 00000080 52 75 73 73 69 61 6e 20 22 4d 0d 00 3c 0a 20 f5 |Russian "M..<. .| 00000090 20 eb 20 37 0d 00 46 1d 20 e8 20 22 45 6e 74 65 | . 7..F. . "Ente| 000000a0 72 20 74 77 6f 20 6e 75 6d 62 65 72 73 3a 20 22 |r two numbers: "| 000000b0 41 0d 00 50 0f 20 52 3d 32 30 2b a9 20 c3 20 41 |A..P. R=20+. . A| 000000c0 0d 00 5a 16 20 e8 20 8a 52 2c 30 29 22 74 69 6d |..Z. . .R,0)"tim| 000000d0 65 73 20 22 42 27 0d 00 64 17 20 e7 20 41 2a 42 |es "B'..d. . A*B| 000000e0 3e 31 45 39 2d 31 20 8c 20 8d 54 7c 40 0d 00 6e |>1E9-1 . .T|@..n| 000000f0 18 20 e7 20 41 3c 42 20 8c 20 43 3d 41 3a 41 3d |. . A<B . C=A:A=| 00000100 42 3a 42 3d 43 0d 00 78 18 20 e7 20 42 3e 35 31 |B:B=C..x. . B>51| 00000110 31 20 8c 20 48 3d 31 20 8b 20 48 3d 32 0d 00 82 |1 . H=1 . H=2...| 00000120 15 20 ef 20 32 33 3b 38 32 30 32 3b 30 3b 30 3b |. . 23;8202;0;0;| 00000130 30 3b 0d 00 8c 10 20 43 24 3d bd 28 48 2b 31 33 |0;.... C$=.(H+13| 00000140 39 29 0d 00 96 1a 20 e7 20 4d 20 8c 20 42 28 30 |9).... . M . B(0| 00000150 29 3d 31 20 8b 20 42 28 30 29 3d 42 0d 00 a0 09 |)=1 . B(0)=B....| 00000160 20 4e 3d 2d 31 0d 00 aa 0c 20 f5 20 4e 3d 4e 2b | N=-1.... . N=N+| 00000170 31 0d 00 b4 0b 20 41 28 4e 29 3d 41 0d 00 be 0e |1.... A(N)=A....| 00000180 20 e3 20 44 3d 31 20 b8 20 48 0d 00 c8 18 20 f1 | . D=1 . H.... .| 00000190 20 43 24 20 42 28 4e 29 20 bd 31 33 33 20 41 28 | C$ B(N) .133 A(| 000001a0 4e 29 0d 00 d2 08 20 ed 20 44 0d 00 dc 0a 20 41 |N).... . D.... A| 000001b0 3d 32 2a 41 0d 00 e6 18 20 e7 20 4d 20 8c 20 42 |=2*A.... . M . B| 000001c0 28 4e 2b 31 29 3d 32 2a 42 28 4e 29 0d 00 f0 1c |(N+1)=2*B(N)....| 000001d0 20 e7 20 4d 3d 30 20 8c 20 42 28 4e 2b 31 29 3d | . M=0 . B(N+1)=| 000001e0 42 28 4e 29 20 81 20 32 0d 00 fa 1a 20 fd 20 42 |B(N) . 2.... . B| 000001f0 28 4e 2b 31 29 3d 30 20 84 20 42 28 4e 2b 31 29 |(N+1)=0 . B(N+1)| 00000200 3e 42 0d 01 04 08 20 54 3d 30 0d 01 0e 0e 20 e3 |>B.... T=0.... .| 00000210 20 47 3d 30 20 b8 20 4e 0d 01 18 16 20 e7 20 4d | G=0 . N.... . M| 00000220 20 8c 20 43 3d 4e 2d 47 20 8b 20 43 3d 47 0d 01 | . C=N-G . C=G..| 00000230 22 18 20 e7 20 4d 20 80 20 42 3c 42 28 43 29 20 |". . M . B<B(C) | 00000240 8c 20 8d 44 7c 41 0d 01 2c 1e 20 e7 20 4d 3d 30 |. .D|A..,. . M=0| 00000250 20 80 20 42 28 43 29 20 83 20 32 3d 30 20 8c 20 | . B(C) . 2=0 . | 00000260 8d 44 7c 41 0d 01 36 10 20 e3 20 4b 3d 31 31 20 |.D|A..6. . K=11 | 00000270 b8 20 32 32 0d 01 40 0c 20 5a 3d a6 28 31 30 29 |. 22..@. Z=.(10)| 00000280 0d 01 4a 0e 20 e3 20 44 3d 31 20 b8 20 48 0d 01 |..J. . D=1 . H..| 00000290 54 1b 20 f1 20 8a 4b 2c 48 2a 43 2b 44 2b 31 29 |T. . .K,H*C+D+1)| 000002a0 bd 31 33 30 20 41 28 43 29 0d 01 5e 0a 20 ed 20 |.130 A(C)..^. . | 000002b0 44 2c 4b 0d 01 68 0d 20 54 3d 54 2b 41 28 43 29 |D,K..h. T=T+A(C)| 000002c0 0d 01 72 13 20 e7 20 4d 20 8c 20 42 3d 42 2d 42 |..r. . M . B=B-B| 000002d0 28 43 29 0d 01 7c 08 20 ed 20 47 0d 01 86 0c 20 |(C)..|. . G.... | 000002e0 4c 3d a9 20 c3 20 54 0d 01 90 0f 20 50 24 3d c4 |L=. . T.... P$=.| 000002f0 4c 2c 22 2d 22 29 0d 01 9a 18 20 e3 20 44 3d 48 |L,"-").... . D=H| 00000300 2a 47 2b 32 20 b8 20 48 2a 47 2b 48 2b 31 0d 01 |*G+2 . H*G+H+1..| 00000310 a4 14 20 f1 20 8a 33 32 2d 4c 2c 44 29 43 24 20 |.. . .32-L,D)C$ | 00000320 50 24 0d 01 ae 18 20 f1 20 8a 32 31 2c 44 2b 48 |P$.... . .21,D+H| 00000330 29 43 24 20 bd 31 32 39 20 54 0d 01 b8 08 20 ed |)C$ .129 T.... .| 00000340 20 44 0d 01 c2 1b 20 f1 22 41 67 61 69 6e 3f 20 | D.... ."Again? | 00000350 50 72 65 73 73 20 73 70 61 63 65 22 3b 0d 01 cc |Press space";...| 00000360 0c 20 fd 20 a5 3c 3e 33 32 0d ff |. . .<>32..| 0000036b