Кон-Тики XXI |
Главная / ЭКВМ / Программы для ЭКВМ / Игры |
Программа объединяет четыре программы для ПМК: "Лунолёт-4" (опубликована в номере 1-1986 журнала "Техника-Молодёжи", соответствует частям 5 ("Право на ошибку") и 6 ("Тьма") фантастической повести Михаила Пухова "Путь к Земле"), "Кеплер" (2-86, часть 7 "Космическое течение"), "Атмосфера-1" (3-86, часть 8 "Разбуди в апогее") и "Атмосфера 2" (4-86, часть 9 "SOS после финиша"). Приведённая программа позволяет совершить перелёт от лунной орбитальной станции "Юрий Гагарин" до Земли при помощи ЭКВМ. ИнструкцияЗапуск - 0 B/O C/П для комплекта данных Кон-Тики/Юрий Гагарин, или 1 B/O C/П с предварительным заполнением регистров 0, 4, 7, А, В, С, D (см. описание "Лунолёт-4" в ТМ 1/86). 1. Стек при останове в режиме "Лунолёт-4": Т - гориз.скорость относительно планеты Z - вертикальная скорость Y - расстояние по вертикали от точки либрации X - высота над планетой Остальные регистры аналогичны "Лунолету-4", дополнительно в РЕ - общее время полета в секундах. Это время отсчитывается и далее - до самой посадки. На графическом дисплее (К ГРФ) - система "Луна-точка либрации", показана траектория лунолёта. 2. Манёвр вводится аналогично Лунолёту-XXI: угол В↑ расход В↑ время С/П Команда 0 С/П - полёт с выключенным двигателем на время предыдущего манёвра. Команда -1 С/П подаётся в окрестностях точки либрации и переводит программу в режим "Кеплер". При этом все параметры автоматически пересчитываются для полёта к Земле. 3. Стек при останове в режиме "Кеплер": T - трансверсальная скорость Z - радиальная скорость Y - расстояние до поверхности Земли X - время предыдущего маневра (сек.) На графическом дисплее (К ГРФ) - система "Земля-точка либрации", показана траектория лунолёта. Время маневра С/П (можно просто оставить в РX предыдущее). Команда -1 С/П подаётся в окрестностях Земли и переводит программу в режим "Атмосфера-1". При этом все параметры автоматически пересчитываются для маневров в атмосфере с помощью двигателя. 4. Стек при останове в режиме "Атмосфера-1": Т - горизонтальная скорость Z - вертикальная скорость Y - угол отклонения от линии Земля-Луна X - высота над поверхностью Земли На графическом дисплее (К ГРФ) - Земля, показана траектория лунолёта. При посадке (выводится сообщение) стек таков: Z - горизонтальная скорость Y - вертикальная скорость X - полная скорость в момент посадки Манёвр: расход топлива (со знаком "-" для торможения) В↑ время маневра С/П Для раскрытия парашютов: 500 П1. Команда 0 С/П - полёт с выключенным двигателем на время предыдущего манёвра. Команда -1 С/П переводит программу в режим "Атмосфера-2". При этом все параметры автоматически пересчитываются для планирования с выключенным двигателем и посадки. 5. Стек при останове в режиме "Атмосфера-2": Т - горизонтальная скорость Z - вертикальная скорость Y - вертикальное ускорение X - высота над поверхностью Земли Манёвр: угол атаки в градусах В↑ время маневра С/П Стек при посадке аналогичен указанному выше. Автор программы: paul-161. Опубликовано: http://community.livejournal.com/mk_152/44827.html Программа "Кон-тики-XXI" версия 1.0Файл Kon-tiki.mkp (КС 100097/141)
Исходный текст для кросс-компилятораФайл Kon-tiki.mkl ; Кон-Тики ; Версия 1.0, 10.12.09 ; Исходные данные M E 2200 M 5 3660 M 6 1738 EE 3 M 7 6371 EE 3 F X^2 9,81 * 3844 EE 5 P M 15 F X^2 F ANS * / F SQRT M 3 1,62 RM 7 F X^2 * M 4 3 F 1/X ENT RM 4 RM 3 F X^2 / * F X^Y M 1 RM E P X=0 INIT_DATA RM 7 5 EE 4 + M A RM 4 RM A / F SQRT RM 3 RM A * - M 0 3500 M D 180 +/- M C CX M B INIT_DATA: 2 PP M 9010 40 ENT 0 PP M 9011 37 ENT 121 PP M 9000 .NUM MOON PP M 9015 0 ENT PP M 9000 .NUM MESS4 PP M 9021 0 ENT 105 PP M 9000 .NUM MESS3 PP M 9021 5 EE 5 P M 17 CX M E M 8 P M 20 PP M 9045 ENT BEGIN: 2 / RM A + M A LBL1: RM 8 9,81 ENT 3 * - P X>=0 LBL3 K INT 1 + M 2 .NUM MESS1 PP M 9026 CX ENT RM 8 9,81 / RM 2 R/S RM 2 ENT CX <-> P GOTO TIME LBL3: RM A RM C F SIN * P RM 17 / 40 <-> - RM A RM C F COS * P RM 17 / 123 <-> - P RM 20 P X=0 NO_NP F R PP M 9000 ENT NO_NP: F R PP M 9012 PP M 9000 1 P M 20 .NUM MESS0 PP M 9026 RM B RM A RM 1 - RM A RM 7 - RM 0 F R R/S TIME: P X=0 NO_ZERO P RM 16 M 8 P GOTO POLET NO_ZERO: P X>=0 KEPLER M 2 F R M 8 P M 16 F R M 9 POLET: RM 8 RM 2 / RM 6 * RM D RM 8 - P X>=0 LBL3 M D RM 5 + / M 8 RM E RM 2 + M E RM C F SIN RM B P GSB SUB1 F SIN * + RM 2 * RM 0 + M 0 F ANS + RM 2 * 90 * F PI / RM A / RM C + M C F COS RM 0 P GSB SUB1 F COS * - RM 4 RM A F X^2 / + RM 2 * +/- RM B + M B F ANS + RM 2 * P GOTO BEGIN SUB1: RM 0 RM A / RM 3 + RM 3 + * <-> RM C F COS * RM A * 3 * RM 3 F X^2 * + +/- RM 8 RM 9 RTN KEPLER: 0 P M 20 P M 2 2 PP M 9010 60 ENT 127 PP M 9011 57 ENT 1 PP M 9000 .NUM EARTH PP M 9015 0 ENT PP M 9000 .NUM MESS2 PP M 9021 0 ENT 105 PP M 9000 .NUM MESS4 PP M 9021 RM D P M 21 26 EE 5 P M 17 P RM 15 RM C P M 18 F COS RM A * - ENT RM C F SIN RM A * <-> / F ARCTG +/- M C F COS / M A 6371 EE 3 F X^2 9,81 * M 7 P RM 15 / F ANS F X^2 / F SQRT 180 * F PI / M D RM 0 F X^2 RM B F X^2 + F SQRT ENT RM 0 RM B P X=0 ZERO_VR CX 90 RM 0 K SGN * P GOTO END_VR1 ZERO_VR: P X<0 END_VR / F ARCTG 180 RM 0 K SGN * + P GOTO END_VR1 END_VR: / F ARCTG END_VR1: 180 + P RM 18 - RM C - M 0 F COS * M B <-> RM 0 F SIN * M 0 RM D RM A * 180 / F PI * RM 0 + M 0 BEGIN1: RM A RM C F SIN * P RM 17 / 60 + RM A RM C F COS * P RM 17 / 3 + P RM 20 P X=0 NO_NP1 F R PP M 9000 ENT NO_NP1: F R PP M 9012 PP M 9000 1 P M 20 .NUM MESS5 PP M 9026 RM 0 RM B RM A 6371 EE 3 - RM 2 R/S P X>=0 ATMOS1 P X!=0 TZERO M 2 TZERO: RM 2 RM E + M E RM 2 ENT RM D * RM C - +/- <-> RM A / ENT RM B * 1 - * RM 0 * F PI / 180 * M 9 - M C RM A RM 0 * ENT ENT RM 0 * RM 7 - M A F X^2 <-> RM B * F X^2 + F SQRT RM A <-> M A / F ARCCOS RM B RM 0 * P X<0 LBL4 <-> +/- <-> LBL4: F R RM 9 - M 9 F SIN <-> / RM A * M B F R RM 9 F COS RM A * RM 7 + / F 1/X M 0 / M A P GOTO BEGIN1 ATMOS1: 2 PP M 9010 8 ENT 40 PP M 9000 .NUM BIG_EARTH PP M 9015 P RM 21 M D 5 M 1 6371 EE 3 M 7 F X^2 9,81 * M 4 17500 M 3 P M 20 BEGIN2: RM A + M A RM 7 - P X<0 LBL6 .NUM MESS6 PP M 9026 RM 0 RM B RM 0 F X^2 RM B F X^2 + F SQRT 0 R/S LBL6: RM A RM C F SIN * 277 EE 3 / 31 + RM A RM C F COS * 277 EE 3 / 63 + P RM 20 P X=0 NO_NP2 F R PP M 9000 ENT NO_NP2: F R PP M 9012 PP M 9000 1 P M 20 .NUM MESS0 PP M 9026 RM B RM C RM A RM 7 - RM 0 F R R/S TIME0: P X=0 NO_ZERO1 0 M 8 ENT P GOTO POLET1 NO_ZERO1: P X>=0 ATMOS2 M 2 <-> ENT K ABS M 8 POLET1: F R RM 2 RM E + M E F R RM 2 / RM 6 * RM B F X^2 RM 0 F X^2 + M 9 / RM 7 RM A - RM 3 / 9 + P X<0 LBL8 CX ENT LBL8: 9 - F 10^X RM 1 * - RM D RM 8 - P X>=0 LBL6 M D RM 5 + / RM 9 F SQRT * M 9 RM 2 RM 9 RM B RM A / - RM 0 * * RM 0 + M 0 P GSB SUB2 RM A / 180 * F PI / RM C + M C F R RM 0 F X^2 RM 4 RM A / - RM A / RM 9 RM B * + * RM B + M B P GSB SUB2 P GOTO BEGIN2 SUB2: F ANS + * 2 / RTN ATMOS2: 7,5 EE 5 +/- M 1 30 M 6 0 M C BEGIN3: RM A + M A RM 7 - P X<0 LBL9 .NUM MESS6 PP M 9026 RM 0 RM B RM 0 F X^2 RM B F X^2 + F SQRT 0 R/S LBL9: M 8 .NUM MESS0 PP M 9026 RM 0 RM B RM 9 RM 8 R/S P X=0 TIME1 P RM 15 0 TIME1: M 2 RM E + M E <-> P M 15 F COS F ANS F SIN M D RM 6 * * M 5 F ANS RM D * 1 + RM 1 RM 8 RM 3 / F 10^X / RM B F X^2 RM 0 F X^2 M D + F SQRT * * M 8 F ANS RM 5 * RM D F SQRT / RM A F 1/X + M 5 RM 0 RM 8 RM B RM 5 * + * RM 2 * - M 0 P GSB SUB3 RM C + M C RM D RM 5 * RM B RM 8 * - RM 4 RM A F X^2 / - M 9 RM 2 * RM B + M B F ANS P GSB SUB3 P GOTO BEGIN3 SUB3: + RM 2 * 2 / RTN MESS0: .TEXT "Введите маневр:\0" MESS1: .TEXT "ПЕРЕГРУЗКА!\0" MESS2: .TEXT "ЗЕМЛЯ\0" MESS3: .TEXT "ЛУНА\0" MESS4: .TEXT "Т.Л. \0" MESS5: .TEXT "Время маневра:\0" MESS6: .TEXT "ПОСАДКА!\0" EARTH: .DB 06h, 06h, 0Ch, 12h, 21h, 21h, 12h, 0Ch MOON: .DB 06h, 06h, 0Ch, 12h, 21h, 3Fh, 1Eh, 0Ch BIG_EARTH: .DB 02Fh, 02Eh, 000h, 000h, 0E0h, 001h, 000h, 000h, .DB 000h, 000h, 01Fh, 03Eh, 000h, 000h, 000h, 0E0h, .DB 000h, 0C0h, 001h, 000h, 000h, 010h, 000h, 000h, .DB 002h, 000h .DB 000h, 00Ch, 000h, 000h, 00Ch, 000h, 000h, 002h, .DB 000h, 000h, 010h, 000h, 080h, 001h, 000h, 000h, .DB 060h, 000h, 040h, 000h, 0F8h, 000h, 080h, 000h, .DB 040h, 01Ch, 0FCh, 001h, 080h, 000h .DB 020h, 01Eh, 0FCh, 003h, 000h, 001h, 030h, 03Fh, .DB 0FEh, 003h, 000h, 002h, 030h, 07Fh, 0FFh, 003h, .DB 000h, 002h, 038h, 03Fh, 0FFh, 003h, 000h, 004h, .DB 034h, 03Fh, 0FFh, 007h, 000h, 008h .DB 004h, 03Fh, 0FFh, 01Fh, 000h, 008h, 084h, 01Fh, .DB 0FFh, 0FFh, 000h, 008h, 082h, 01Fh, 0FFh, 0FFh, .DB 007h, 010h, 0FAh, 07Fh, 0FFh, 0FFh, 0FFh, 010h, .DB 0FAh, 03Fh, 0FFh, 0FFh, 0FFh, 011h .DB 0FAh, 01Fh, 0FFh, 0FFh, 0FFh, 011h, 0FAh, 00Fh, .DB 0FFh, 0FFH, 0FFh, 011h, 0F9h, 01Fh, 0FFh, 0FFh, .DB 0FFh, 021h, 0F9h, 01Fh, 0FFh, 0FFh, 0FFh, 021h, .DB 0E1h, 00Fh, 0FBh, 0FFh, 07Fh, 020h .DB 0C3h, 01Fh, 0E3h, 0FFh, 01Fh, 020h, 0C7h, 067h, .DB 0CFh, 01Fh, 000h, 020h, 0C6h, 0E3h, 09Fh, 003h, .DB 000h, 010h, 0FEh, 0E3h, 03Fh, 001h, 03Ch, 010h, .DB 0FEh, 0E3h, 0FFh, 000h, 07Eh, 010h .DB 0E6h, 0FFh, 0FFh, 000h, 018h, 010h, 0E6h, 0FFh, .DB 0FFh, 000h, 000h, 010h, 0F8h, 0FCh, 0F9h, 000h, .DB 000h, 008h, 0FCh, 0F8h, 0E1h, 000h, 000h, 008h, .DB 0FCh, 0F3h, 04Fh, 000h, 000h, 008h .DB 0F8h, 0F7h, 01Fh, 000h, 000h, 004h, 0F0h, 0FFh, .DB 01Fh, 000h, 000h, 002h, 0F0h, 0FFh, 01Fh, 000h, .DB 000h, 002h, 0E0h, 0FFh, 01Fh, 000h, 000h, 001h, .DB 0C0h, 0FFh, 01Fh, 000h, 080h, 000h .DB 0C0h, 0FFh, 01Fh, 000h, 080h, 000h, 080h, 0FFh, .DB 00Fh, 000h, 060h, 000h, 000h, 0FEh, 00Fh, 000h, .DB 010h, 000h, 000h, 0FCh, 01Fh, 000h, 00Ch, 000h, .DB 000h, 0F0h, 0FFh, 000h, 002h, 000h .DB 000h, 0E0h, 0FFh, 0CFh, 001h, 000h, 000h, 000h, .DB 0FFh, 03Fh, 000h, 000h, 000h, 000h, 0E0h, 001h, .DB 000h, 000h .END |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
НПП "СЕМИКО" (383) 271-01-25 (многоканальный) |