|
nedoPC.orgElectronics hobbyists community established in 2002 |
|
Author |
Message |
askfind
Doomed
Joined: 04 Jan 2016 09:15 Posts: 662 Location: Russia, S.- Peterburg
|
Для развития использование троичной логики в проекта предлагаю пройти пройденные тропинки. Начать с ASM TRIT. Есть прекрасная книга для программистов "Языки программирования и методы трансляции" [1].В этой книге автор опубликовал исходные тексты ассемблера, который можно быстро переписать для троичных типов данных. Я написал автору книги Сергею Залмановичу и получил разрешение использовать исходный код копилятора "О" и ассемблера в проектах. Исходные коды ассемблера можно забрать здесь: https://github.com/askfind/computer_language_O/blob/master/OASM/ASMTABLE.PAS Предлагаю предложить мнемокод будущего ассемблера ASM TRIT Пример исходного кода ассемблера: | | | | Code: IN ; X IN ; X, Y
Loop: OVER ; X, Y, X OVER ; X, Y, X, Y Quit IFEQ ; X, Y OVER ; X, Y, X OVER ; X, Y, X, Y NoSwap IFLT ; X, Y SWAP ; Y, X NoSwap: OVER ; Min(X, Y), Max(X, Y), Min(X, Y) SUB ; Loop GOTO ; X, Y
Quit: DROP ; X 0 ; X, 0 OUT OUTLN STOP
| | | | |
В файле список кодов ассемблера, которые распознаёт ассемблер OASM: | | | | Code: procedure InitScan; begin cmd := 0; EnterCode(cmStop, 'STOP' ); EnterCode(cmOut, 'OUT' ); EnterCode(cmOutLn, 'OUTLN' ); EnterCode(cmIn, 'IN' ); EnterCode(cmAdd, 'ADD' ); EnterCode(cmSub, 'SUB' ); EnterCode(cmMult, 'MULT' ); EnterCode(cmDIV, 'DIV' ); EnterCode(cmMOD, 'MOD' ); EnterCode(cmNeg, 'NEG' ); EnterCode(cmDup, 'DUP' ); EnterCode(cmDrop, 'DROP' ); EnterCode(cmSwap, 'SWAP' ); EnterCode(cmOver, 'OVER' ); EnterCode(cmLoad, 'LOAD' ); EnterCode(cmSave, 'SAVE' ); EnterCode(cmGoto, 'GOTO' ); EnterCode(cmIfEQ, 'IFEQ' ); EnterCode(cmIfNE, 'IFNE' ); EnterCode(cmIfLE, 'IFLE' ); EnterCode(cmIfLT, 'IFLT' ); EnterCode(cmIfGE, 'IFGE' ); EnterCode(cmIfGT, 'IFGT' );
{ EnterCode(cmEnter, 'ENTER' ); EnterCode(cmCall, 'CALL' ); EnterCode(cmRet, 'RET' ); EnterCode(cmSetBP, 'SETBP' ); EnterCode(cmGetBP, 'GETBP' ); EnterCode(cmLLoad, 'LLOAD' ); EnterCode(cmLStore, 'LSTORE' ); EnterCode(cmSP, 'SP' ); } end; | | | | |
1. Свердлов С.З, Языки программирования и методы трансляции. Учебное пособие. // [Текст] .- С.-Петербург .- изд. Питер .- 2007 г. - стр. 571
_________________ "Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
|
27 Apr 2018 12:27 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Прямая ссылка, а не скачивается... Непонятные нелады у меня с https://github.com/...
_________________ iLavr
|
27 Apr 2018 12:49 |
|
|
askfind
Doomed
Joined: 04 Jan 2016 09:15 Posts: 662 Location: Russia, S.- Peterburg
|
_________________ "Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
|
27 Apr 2018 12:55 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Благодарю! Увлекаюсь ассемблерами просто...
_________________ iLavr
|
27 Apr 2018 13:04 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22730 Location: Silicon Valley
|
Да начинали мы уже с ассемблера - в частности я в своём ассеблере RASM поддержал троичный виртуальный компьютер Tunguska
|
27 Apr 2018 18:07 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Начинали, начинали, да что-то никак не закончили... Помнится мне, под TRIADOR кто-то обещал простенький ассемблер написать... Нет, это не ты. Но ассемблера я что-то так и не увидел даже в зачатках.
_________________ iLavr
|
28 Apr 2018 03:06 |
|
|
askfind
Doomed
Joined: 04 Jan 2016 09:15 Posts: 662 Location: Russia, S.- Peterburg
|
Скачал и посмотрел TUNGUSKA.TAB . А где описание подробное синтаксиса ассемблера скачать? Где взглянуть обсуждение идей и принципов построения ассемблера для троичных процессоров?
_________________ "Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
|
28 Apr 2018 03:31 |
|
|
askfind
Doomed
Joined: 04 Jan 2016 09:15 Posts: 662 Location: Russia, S.- Peterburg
|
У меня есть опыт создания специализированного ассемблера для виртуальной машины. Виртуальная машина работает в ARM и управляет устройствами сети CAN в автомобилях. Занять воссозданием "Сетунь". Ищите толкового добровольца-программиста. Могу стать наставником и консультантом по реализации ассемблера. Кстати, RASM - вполне даже решение. Написать документацию. Подготовить примеры с пояснениями. Взлетит!
_________________ "Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
|
28 Apr 2018 03:37 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Да мы и сами умеем, без наставников... Но на всё надо время - это же хобби тут у нас. Когда люди взялись толкнуть вместе интересный проект, просто распределяют роли или обязанности - я об этом намекнул... Вот "доброволец-программист" пока и "просел"...
_________________ iLavr
|
28 Apr 2018 03:55 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22730 Location: Silicon Valley
|
Ну у Тунгуски есть и свой родной ассемблер, и даже свой родной си - все в исходниках доступно А ассемблер Триадора надо написать, но только онлайн...
|
28 Apr 2018 07:20 |
|
|
askfind
Doomed
Joined: 04 Jan 2016 09:15 Posts: 662 Location: Russia, S.- Peterburg
|
Проект "Тунгуски" просмотрел. Автор Си дал ссылку на исходные файлы. Скачал и взглянул. Не было практической задачи. Возможно к "Сетунь" реализация может понадобиться. Я не понял главное. Для чего? Наверное хобби и страсть к новому.
_________________ "Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
|
30 Apr 2018 12:46 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22730 Location: Silicon Valley
|
Для чего? Чтобы был ещё один троичный процессор (хоть и виртуальный)
|
01 May 2018 05:04 |
|
|
askfind
Doomed
Joined: 04 Jan 2016 09:15 Posts: 662 Location: Russia, S.- Peterburg
|
Идея-план, очень захотелось, воссоздать в "железе" "Сетунь-1958". Для него сделать ассемблер. Оценить можно ли использовать "как есть". Архитектура очень простая и местами неожиданная. Например, адресация к памяти. Будет необходимо расширить и добавить страницы памяти. Попытаться оценить возможность использовать троичный процессор из "Сетуни" для логических вычислений по Аристотелю (силогистика Брусенцова). Т.е. создать нормальный набор инструментов по написанию "на человеческом" языке прикладных программ.
_________________ "Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
|
02 May 2018 12:19 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Так есть же эмулятор "Сетуни" и есть даже вариант онлайн... Не слишком ли долгий путь - строить аппаратный эмулятор "Сетуни" для этой "оценки возможностей"?
_________________ iLavr
|
02 May 2018 13:00 |
|
|
askfind
Doomed
Joined: 04 Jan 2016 09:15 Posts: 662 Location: Russia, S.- Peterburg
|
Эмулятор "Сетунь" на javascript и lisp я скачал и посмотрел. Запускал web-версию, причём поведение и реакция машины была странной. Что-то делала. Повторное обновление страницы вывела результат. Управляющие клавиши то срабатывают, то нет. Мне хочется полноценной симуляции на языке Си. На прошлой неделе начал писать модели типов ферритовых цифровых элементов как битовых, так и тритовых. Тестирую и оптимизирую программный код модели. Очень помогла. На основании модели получился синтез схемы на цифровых микросхемах, которых не наблюдал здесь. Ферритовый битовый цифровой элемент можно заменить 3-мя D-триггерами и парой обычной логики. Остальные троичные платки на ферритах также очевидно можно заменить 4-мя D-триггерами и логикой. Кстати, "про долгий путь". Процессор и память в "Сетуни" очень простые! Повторяются на "раз, два, три" из готовых программных кубиков моделей троичных блочков "Сетуни". Запутанность в моей голове была в том, что на ферритовые цифровые элементы необходимо подавать импульсы тока. А я привык к цифровой логике, где на вход подают уровни напряжения. Сейчас все хитрые секреты ферритовых цифровых элементов удалось раскрыть, благодаря статьям и книге. Купил и ожидаю доставку ферритомых колец с прямоугольной петлей гистерезиса. Надеюсь повторить некоторые ферритовые цифровые элементы "Сетунь". Проведу лабораторную работу. Конечный "железный" вариант "Сетунь-1958" конечно же будет на современных нескольких микроконтроллерах.
_________________ "Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
|
02 May 2018 14:06 |
|
|
Who is online |
Users browsing this forum: No registered users and 9 guests |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum
|
|