НавигацияВход для пользователейМетки20 лет
25 лет
9860
add-ins
Atmega16
Casio
casio 9860
CITIZEN
COM-порт
FA-124
Geany
hello world
HP
HP-48
HP-50
HP 50g
IDE
iOS
mk.exe
mk161 for dummies
mkl2mkp
SPI
TI-89 Titanium
Андроид
Анонсы
Дополнительные вопросы по SPI-интерфейсу.
Игры
Импульсная характеристика
История
Итоги
КЭИ
Комбинаторика
Комплексные числа
Конкурсы
Криптография
Куплю БРП Москва
Лунолёты
МК-52
МК-161
Математика
Мысли
ПМК
ПО
Поломка
Пробел в знаниях
Программные метки в МК-1хх
Программы
Прогрессия
Простые числа
Разложение
Регламент
Секундомер
Сервис
События
Справочник В.П. Дьяконова
Справочное пособие
Стыковка
Факторизация
Физика
Фото
ЭКВМ
Юмор
ЯВУ
браузер
версия
внешний модуль
гибкий
гипербола
градиент
дети
дивергенция
калькулятор
книги
компилятор
кривые второго порядка
матрицы
методичка
мк-61
парабола
подзатыльник
практическое руководство
преобразоване координат
программируемый
производная n-го порядка
производная по направлению
прошивка
ротор
рынок
ряд Фурье
справочник
среда разработки
текст
учебник
цветы жизни
цифровая обработка сигналов
частная производная
числовой ряд
читалка
шахматы
эллипс
Новости других сайтов
|
Книга перемен на МК-161И-Цзин («Книга перемен») это классический китайский труд, включённый в китайское Пятикнижье. Предположительно он появился до возникновения письменности и представлял из себя простейший способ записи 64 наиболее важных и часто повторяющихся ситуаций (с помощью шести палочек, целых или сломанных). В последующие тысячелетия человечество накапливало опыт, развивало вокабуляр и изобразительные средства, а в «Книгу перемен» добавлялись новые смысловые пласты: афоризмы, комментарии, трактовки,… Сейчас она представляет из себя самую древнюю базу данных, к которой охотно обращаются за мудрым советом писатели, учёные и политики Востока — как жившие в прошлых веках, так и современные. «Книга перемен» настолько повлияла на культуру Китая, Японии и других стран Востока, что исследователи-востоковеды сравнивают её с «Библией» стран Запада. В России и на Западе «Книга перемен» в-основном используется эмигрантами из стран Востока, а также гадалками-«эзотериками». В доме книги на Арбате две книжные полки заполнены книгами с различными трактовками И-цзин. Моя инструкция даже не пытается заменить подобную книгу, но программа «Книга перемен» способна помочь читателю любой из них. Предлагаемая программа рисует на экране МК-161 (и МК-152, не проверялось) все 64 гексограммы «Книги перемен», а также их номера и названия на китайском и русском языках. Для определённости мной использовался академический перевод Щуцкого, но представители аутентичных школ могут использовать собственный, изменив текст (содержимое регистров R5096…8167) во встроенном текстовом редакторе МК-161.
При запуске программы на экран выводится случайная гексограмма, выбранная в соответствии с КСЧ. Чтобы МК-161 самостоятельно (и независимо от вас) генерировал последующие случайные гексограммы, нажимайте клавишу Cx. Для просмотра соседних гексограмм используйте клавиши ШГ. Чтобы перейти на нужную гексограмму, просто наберите её двухзначный номер (например, 02 для перехода на гексограмму «Кунь»). Также в программе реализован способ гадания, традиционный для ПМК. Стоит нажать клавишу Р-ГРД-Г, как ЭКВМ начнёт последовательно перебирать все 64 гексограммы по нескольку за секунду, начиная с последней отображённой. При повторном нажатии на клавишу Р-ГРД-Г на экран будет выведена та гексограмма, которая рассматривалась микрокалькулятором в момент вашего вмешательства. Существует множество других, не менее традиционных, способов гадания по «Книге перемен». Можно гадать на дату рождения или события. Некоторые школы китайской медицины и астрономии используют гексограммы в качестве ключа к своим научным базам данных. Чтобы облегчить реализацию вашего проверенного способа использования «Книги перемен», программа составлена из удобных подпрограмм, обращение к которым вынесено в самое начало нулевой страницы. Просто закодируйте собственный алгоритм, а выводом гексограмм и их преобразованием между стандартной нумерацией Вэнь-вана и двоичным представлением Фу-си займутся мои мощные подпрограммы. Программа «Книга перемен» представляет из себя пакет, то есть требует наличия в памяти ЭКВМ заранее подготовленного набора байтовых регистров, что реализуется загрузкой кроме программного кода (MKP) двух дополнительных файлов, двоичного (MKB) и текстового (MKT). Все необходимые файлы (и приведённый скриншот) присутствуют в архиве YiJing.zip Для записи «Книги перемен» в МК-161 рекомендую использовать MK.EXE версии 1.16 или выше, т.к. в предыдущих содержалась ошибка передачи двоичных файлов. Подходящую версию MK.EXE можно скачать с сайта производителя, то есть отсюда: .CHARSET 1251 ; Файл YiJing.mkl ; Разработан в Москве, 31 июля 2009 года ; Автор Васильев И.В. ; Вывод гексограмм по "Книге перемен" ; ; Не забудьте загрузить в ЭКВМ файлы MKT и MKB ; ; Файл MKT содержит перевод гексограмм по Щуцкому: ; Щуцкий Ю.К. Китайская классическая "Книга перемен": 2-е изд., испр. и доп. ; под ред. А.И.Кобзева. -- М.: Изд. фирма "Восточная литература" РАН, 1997. ; -- 606 c. -- ISBN 5-02-017991-4 ; ; Структура файла MKB: ; 000..004 R1000..R1004 Картинка символа № ; 010..019 R1016..R1025 Заголовок экрана гадания ; 020..037 R1032..R1055 Первая строчка экрана гадания ; 040..054 R1064..R1084 Вторая строчка экрана гадания ; 060..078 R1096..R1119 Третья строчка экрана гадания ; FA1..FE0 R5001..R5064 Двоичные картинки гексограмм 1..64 (номера Фу-си) ; .ORG 0 ; ======= № 33 ; ======= Дунь ; ======= ; ======= ; === === ; === === ; ; Бегство ; ; BIN_IMG_N .EQU 1000 BIN_HEADER .EQU 1016 BIN_LINE1 .EQU 1032 BIN_LINE2 .EQU 1064 BIN_LINE3 .EQU 1096 ; ; Функции "Книги перемен" используют (портят) регистры R0, R1, R6, Ra, Rc ; GOTO Start ; 0000 Dialog KNOP GOTO StartN ; 0003 N --> (dialog) KNOP PGOTO DrawN ; 0006 N --> (screen) PGOTO DrawBin ; 0009 Фу-си --> GOTO CreateN ; 0012 N --> Фу-си KNOP GOTO SearchBin ; 0015 Фу-си --> N KNOP GOTO MachineN ; 0018 --> N (1..64) KNOP PGOTO UserN ; 0021 --> N (1..64) GOTO TextChi ; 0024 N --> text KNOP ; GOTO TextRus ; 0027 N --> text TextRus: GSB TextChi ; Получить китайское название M6 ; Известно, что первый символ не ноль SearchZ: KRM6 FX=0 SearchZ ; Поиск первого нуля RM6 1 + RTN ; Искомая строка после него TextChi: ENT 48 * 5048 + RTN ; Китайское название идёт первым ;---------------------------------- ; Найти гексограмму с рисунком в RX ; Ответ в R0 и RX ; Изменяет R1 ; SearchBin: ENT 64 M0 5 EE 3 + M1 ; Ищем 64 раза, начиная с R5064 CmpBin: FX!=0 FoundBin ; Если найдена, выдать её номер FR ENT KRM1 - FL0 CmpBin ; Сравнить и перейти к следующей FoundBin: RM0 RTN ; Возвращаем найденную тетраграмму CreateN: ENT 5 EE 3 + MA KRMA RTN ; Преобразовать N в двоичный код Фу-си MachineN: KRAN 64 * 1 + KINT RTN ; Получить случайное N от 1 до 64 Start: GSB MachineN ; Получить случайную гексограмму StartN: PGSB DrawN ; Вывести картинку с гексограммой ; ; ШГ -- перейти на соседнюю гексограмму ; Cx -- перейти на случайную гексограмму (RND) ; 0..9 -- задать номер гексограммы ; Р-ГРД-Г -- гадать (до повторного нажатия Р-ГРД-Г) ; Wait: PPRM 9029 10 - PX>=0 Key09 ; 0..9 выбирает номер с клавиатуры 3 - FX!=0 Start ; Cx выводит случайную гексограмму 10 - FX!=0 KeyRight ; ШГ> Последующая гексаграмма 1 - FX!=0 KeyLeft ; ШГ< Предыдущая гексаграмма 7 - PX=0 Wait ; Р-ГРД-Г, гадание PGSB UserN GOTO StoreN Key09: FANS + RMC FANS / KFRAC 100 * 60 KMAX FR jPlusStoreN: + 64 KMAX FR EE StoreN: PGOTO StartN KeyLeft: RMC 1 - FX=0 StoreN 64 GOTO StoreN KeyRight: RMC 63 KAND 1 GOTO jPlusStoreN ;-------------------------------------------- ; Выводим гексограмму с номером в RX. ; Помимо гексограммы выводится всё обрамление ; Переходим на графический экран ; Изменяет регистры R0, R6, RA, RC ; DrawN: MC ; Запомним номер гексограммы в RC PGSB CreateN ; Перевести гексограмму в двоичный код Фу-си PGSB DrawBin ; Вывести гексограмму на экран 0 ENT 40 PPM9000 78 PPM 9020 ; N .NUM BIN_IMG_N ; № PPM 9016 ; Вывод графического образа из памяти данных 0 ENT 52 PPM9000 RMC PPM9023 ; Вывести номер гексограммы 8 ENT 40 PPM9000 RMC PGSB TextChi M6 PPM 9022 ; Вывести название гексограммы 48 ENT 0 PPM9000 PGSB SearchZ PGSB MLit ; Вывести перевод гексограммы K GRPH ; Графический режим RTN ; R4=8 расстояние между линиями плюс R5 (8) ; R5=5 толщина линии (5) ; R7=16 длина малой чёрточки (15) ; R8=8 зазор между малыми чёрточками (5) ;---------------------------------------------------------- ; Выводим гексограмму Фу-си RX. ; Изменяет регистры R0, RA ; Инициализирует графический экран, но не переходит на него ; DrawBin: MA 2 PPM 9010 ; Инициализация экрана (Графический экран) 6 M0 ; Обработать 6 линий NextLine: RMA 2 / KINT MA ; Перейти к следующей линии FANS KFRAC FX!=0 OutLine0 ; Какую черту выводим? 5 ENT 35 ; Вывести длинную чёрточку GOTO OutRect ; Вывод прямоугольника (Графический экран) OutLine0: ; Вывести прерывистую черту 5 ENT 15 ; Вывести малую чёрточку PPM 9013 ; Вывод прямоугольника (Графический экран) PPRM 9000 ; Считать начальные координаты объекта (Графический экран) 20 + ; Сдвинуть вправо на чёрточку и зазор PPM 9000 ; Установить начальные координаты объекта (Графический экран) 5 ENT 15 ; Вывести малую чёрточку OutRect: PPM 9013 ; Вывод прямоугольника (Графический экран) 7 RM0 - 8 * ; На следующую строчку 0 PP M 9000 ; Начальные координаты объекта (Графический экран) FL0 NextLine ; Вывести следующую линию RTN ;------------------------------------------------------ ; Получаем случайный номер гексограммы от пользователя. ; Ответ в RC и RX. ; UserN: 2 PPM 9010 ; Инициализация экрана (Графический экран) 0 ENT PPM 9000 .NUM BIN_HEADER PPM 9022 ; Вывод строки символов из памяти программ 16 ENT 0 PPM 9000 .NUM BIN_LINE1 PPM 9022 32 ENT 0 PPM 9000 .NUM BIN_LINE2 PPM 9022 48 ENT 0 PPM 9000 .NUM BIN_LINE3 PPM 9022 K GRPH Razdumja: RMC 63 KAND 1 + MC PPRM 9029 31 - FX=0 Razdumja RMC MLfinished: RTN ;-------------------------------------------------- ; Вывести строчку, начиная с R6+1 ; Результат может занимать несколько строчек экрана ; при этом символ FF служит переводом строки ; Multiline: RM6 1 + MLit: PPM9022 ; Вывод строки символов из памяти данных Search255: KRM6 FX!=0 MLfinished ; Строчка заканчивается нулевым символом KNOT FX=0 Search255 ; Поиск символа с кодом 255 PPRM9000 ; Программирование начальных координат объекта Cx 8 + 0 PPM9000 ; Переход на следующую строчку GOTO Multiline .END
|