Objevil jsem zajímavý kompiler, který umožňuje psaní jednoduchého kódu a ten následně přeloží do assembleru pro Sharp PC-1500A. Struktura je poměrně jednoduchá, např.
_A=I
*A=A+I
_IFA<PGO*
_STOP
_END
(Pozn. znak _ znamená mezera.)
Do dneška šlo používat pouze +,-,*,/,SQR, IF...GO, GO, GS, RET, STOP, CLS a INT. Pro IF lze použít všechny klasické podmínky jako <>,#, atd.
V programu z roku 2010 nefungovala funkce IF...GO. Seděl jsem na tom docela dlouho, než jsem našel chyby, ta druhá mi dala zabrat
řádek 3500:POKE P,&B5,&79,&AE,&38,&D2,&B5,X,&AE,&38,&D3,&B5,&79,&AE,&38,&D0,&B5,Y (chyběl znak &)
V řádku 6510 nemá být &B5 ale musí být instrukce &BE (SJP i,j) na adresu D0D2H, kde probíhá porovnání dvou proměnných.
řádek 6510:POKE P+18,&BE,&3A,&C4,&B5,ZZ,&BE,&D0,&D2,&89,2,&8E,3,&BA,Y,Z
Ten program vlastně nemohl nikomu fungovat po celou dobu.
Uživatelům bych zdůraznil, že funkce _STOP v psaném kódu je naprosto nutná, jinak program „zabloudí“ v RAM.
Program jsem dále upravil, a jsou přidány funkce SIN, COS, TAN, LOG a ABS. Návod a program je v příloze. Takto vypadá například řešení Keplerovy rovnice. Assembler bývá výrazně rychlejší, zvláště v běžných matematických operacích. Soubor bin je v podstatě textový soubor, který lze například převést na WAV, nebo nahrát pomocí rozhraní CE-158 z počítače pomocí RS232. Program po překladu kompilerem zabírá v RAM 391 Bytů.
*L=(M+180*I/pi* SIN(E) - E)/(1-I*COS (E))
IF ABS(L) > 1E-3 THEN E = E + L: GOTO *
0 M=E
1*F=ESX
2 F=F*I
3 F=F*D
4 F=F-E
5 F=F+M
6 C=ECX
7 C=C*I
8 C=K-C
9 L=F/C
10 L=LAX
11 E=E+L
12 IFL>RGO*
13 PRE
14 WE
15 STOP
16 END
M= Střední anomálie, I= Excentricita, D= 180/3.14, K=1, R=0.01
No je to taková hodně speciální zajímavost, možná ještě osloví jednoho uživatele
Kalkulátory v astronomii
- Psion
- Příspěvky: 12096
- Registrován: 02. 01. 2001, 05:03
- Bydliště: Praha
- Věk: 62
- Kontaktovat uživatele:
Re: Kalkulátory v astronomii
- Přílohy
-
- Archiv.zip
- (232.9 KiB) Staženo 59 x
- Psion
- Příspěvky: 12096
- Registrován: 02. 01. 2001, 05:03
- Bydliště: Praha
- Věk: 62
- Kontaktovat uživatele:
Re: Kalkulátory v astronomii
Kalkulátor HP41C se objevil v roce 1979 jako naprosto převratný kalkulátor s alfanumerickým displejem. Byla k němu vyvinuta řada periférií, jako IR tiskárna, skener textu, měřící přístroj, ploter, disková jednotka, chromatograf, spektrální analyzátor a mnoho dalších. Díky HP bylo vyvinuto velké množství příslušenství kompatibilní s rozhraním HP-IL.
HP-41C (vlevo), který letěl na devíti prvních misích raketoplánu, je vystaven v Národním muzeu letectví a kosmonautiky ve Washingtonu DC, za účelem provádění běžných, ale nezbytných výpočtů, jako je například výpočet změny středu gravitace v důsledku spotřeby paliva. HP-41C byl také naprogramován tak, aby zvládal výpočty obvykle prováděné hlavním palubním počítačem, jako je určování časů zážehu pro opětovný vstup v případě selhání hlavního počítače.
Společnost SwissMicros, která vyrábí klony HP kalkulaček a již jsem zde představoval DM42, která se považuje za jednu z nejpřesnějších kalkulaček na světě (výpočty na 34 desetinných míst a 4 místný exponent) vyrobil čistý klon DM41X. Tato kalkulačka obsahuje ROM HP41 a tedy je plně kompatibilní se všemi programy a moduly, kterých je opravdu nepřeberné množství. Řada programů je z oblasti astronomie (poslední z roku 2024 a 2025), moduly (původní programy HP na cartridge) obsahují např. navigační SW. Mimochodem poslední verze Astronomických efemerid je opravdu monumentální dílo, na kterém autor neustále pracuje po mnoho let.
http://www.hp41.org/LibView.cfm?Command ... ileID=7563
DM41X je tedy stejně (ne)přesná jako původní HP41C a pracuje na max 10 desetinných míst. Nicméně je výrazně rychlejší než původní HP. Standardně na 24 MHz je 12x rychlejší a na 80 MHz (připojeno na USB) je 39x rychlejší.
.
HP-41C (vlevo), který letěl na devíti prvních misích raketoplánu, je vystaven v Národním muzeu letectví a kosmonautiky ve Washingtonu DC, za účelem provádění běžných, ale nezbytných výpočtů, jako je například výpočet změny středu gravitace v důsledku spotřeby paliva. HP-41C byl také naprogramován tak, aby zvládal výpočty obvykle prováděné hlavním palubním počítačem, jako je určování časů zážehu pro opětovný vstup v případě selhání hlavního počítače.
Společnost SwissMicros, která vyrábí klony HP kalkulaček a již jsem zde představoval DM42, která se považuje za jednu z nejpřesnějších kalkulaček na světě (výpočty na 34 desetinných míst a 4 místný exponent) vyrobil čistý klon DM41X. Tato kalkulačka obsahuje ROM HP41 a tedy je plně kompatibilní se všemi programy a moduly, kterých je opravdu nepřeberné množství. Řada programů je z oblasti astronomie (poslední z roku 2024 a 2025), moduly (původní programy HP na cartridge) obsahují např. navigační SW. Mimochodem poslední verze Astronomických efemerid je opravdu monumentální dílo, na kterém autor neustále pracuje po mnoho let.
http://www.hp41.org/LibView.cfm?Command ... ileID=7563
DM41X je tedy stejně (ne)přesná jako původní HP41C a pracuje na max 10 desetinných míst. Nicméně je výrazně rychlejší než původní HP. Standardně na 24 MHz je 12x rychlejší a na 80 MHz (připojeno na USB) je 39x rychlejší.
.