1 REM *************************** 2 REM * NYPREC16.BAC * 3 REM * VER 1.0 / 1982-09-28 * 4 REM * Gjort o. ins{nt av 2415 * 5 REM * Stig Rosenlund * 6 REM * V{stmannagatan 93 * 7 REM * 113 43 Stockholm * 8 REM * Tel. 08/331736 * 9 REM *************************** 10 IF PEEK(49152%)<>42% OR PEEK(52040%)<>177% OR PEEK(53010%)<>201% OR PEEK(65053%)<208% STOP 20 ; "Assemblerrutinerna {r redan inmatade. Best{m precision och egen maskinspr}ks- area med detta program." 30 ; "Hur m}nga byte eget maskinspr}ksprogram vill Du h|gst mata in"; : INPUT I 40 ; "F|r rutinerna 13 och 51 t o m 64 m}ste vi ha R6=log2 och R7=PI. Skall dessa konstanter ber{knas?" : GET F$ 50 ONERRORGOTO 50 : ; "Vilken precision N (decimal precision 2.4N)"; : INPUT N : A0=53019+I+N : IF N<4% 50 60 IF F$="N" OR F$="n" F$="N" : GOTO 80 70 IF A0+7%*(N+3%)>=PEEK(65052%)+256*PEEK(65053%) ; "R7 g}r in p} BASIC-programmet. K|r pro- grammet igen." : END 80 ONERRORGOTO 80 : POKE 52907%,N,SWAP%(N) : POKE 52922%,A0,SWAP%(A0) : ; "Var ska BASIC-programmen b|rja"; 90 INPUT B0 : B0=FIX(B0) : F%=FIX((B0-A0-1%)/(N+3%)) : POKE 50827%,F%,SWAP%(F%) : IF F%<6% OR B0>62000 THEN 50 100 IF F$="N" 130 ELSE IF F%<8% 50 110 K%=CALL(51749%,7%)+CALL(49222%)+CALL(51229%)+CALL(52094%)+CALL(51746%)+CALL(50003%,6%)+CALL(51515%) 120 K%=CALL(51749%,7%)+CALL(51736%)+CALL(50053%)+CALL(51749%,6%)+CALL(49222%)+CALL(51229%)+CALL(52454%)+CALL(49216%) 130 ; "Vill Du definiera f1 - f3 (b1 - b8 icke-negativa heltal)?" : GET A$ : IF A$<>"J" AND A$<>"j" 180 140 ONERRORGOTO 140 : ; "Ge b1 - b8 f|r f1:" : FOR I%=1% TO 8% : INPUT B% : POKE 50808%+2%*I%,B%,SWAP%(B%) : NEXT I% 150 ONERRORGOTO 150 : ; "Ge b1 - b8 f|r f2:" : FOR I%=1% TO 8% : INPUT B% : POKE 50879%+2%*I%,B%,SWAP%(B%) : NEXT I% 160 ONERRORGOTO 160 : ; "Ge b1 - b8 f|r f3:" : FOR I%=1% TO 8% : INPUT B% : POKE 52299%+2%*I%,B%,SWAP%(B%) : NEXT I% 170 ; "R{tt?" : GET A$ : IF A$="N" OR A$="n" 140 180 IF F$="N" ; "Du disponerar register 6 t o m";F% : ; "fritt ({ndra kollen I%<8% i V[RD16)." : GOTO 200 190 ; "R6=log2 och R7=PI. Du disponerar fritt register 8 t o m";F%;"." 200 POKE 65052%,B0,SWAP%(B0) : ; "BOFA =";B0;". K|r nu t ex V[RD16." : CHAIN ""