|
nedoPC.orgCommunity for electronics hobbyists, established in 2002 |
|
Author |
Message |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Ну и чтобы разобраться, как была задумана работа этой микро-ЭВМ УМПК-1801, пришлось прочитать, как работают эти самые безликие К1801ВП1-0хх : Тем не менее, разобраться с программно-аппаратным пошаговым режимом это как-то не помогло. В тексте какая-то явная несостыковка: Знать бы ещё, что такое РСИ1...
_________________ iLavr
|
10 Jan 2020 02:21 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Оцифровал листинг Монитора для Микро-ЭВМ УМПК-1801 из Приложения 4 книги 7 Преснухина микро ЭВМ Учебные стенды... Компилировать не пробовал еще (нет компилятора под рукой, сейчас скачаю)... Смущают некоторые строки типа: не встречались мне ранее такие "угловые скобки"... Вполне возможно, что не все опечатки вычищены - надо проверить компиляцией. Насколько я понял, Монитор не полный, присутствует цикл работы с параллельным портом - сканирование индикатора и клавиатуры. Хотел взглянуть программную часть пошагового режима, но, похоже, в тексте этого кода нет. Тем не менее, текст, похоже, связный, и как пример программирования для 1801ВМ2 вполне пригоден.
_________________ iLavr
|
11 Jan 2020 18:35 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Это оказалось не самое неприятное... Этот код кроссассемблер для БК-0010/11М v1.00 как раз спокойно одолел... В тексте оказалось прилично как опечаток авторских, так и ошибок программы OCR. Неприятным оказалось, что в ряде случаев программа OCR распознала запятые, как слэш нижним индексом. На взгляд и не отличишь... Далее начались авторские косяки. Кроссассемблер категорически не понял меток с точкой, типа: К.1: - пришлось их всех заменить по типу К_1: . Ну и я никогда не подозревал, что в выражении типа KEY = 256 имеет значение число пробелов. Кроссассемблер желает KEY=256 и никак иначе. В общем-то это как бы не противоречит правилам ассемблера PDP-11, но я не думал, что так строго... Выкладываю исправленный вариант Монитора 1986, который написал некий VOVA. Собирается он с единственной ошибкой, и я не понял, что VOVA имел в виду: Возможно, это опечатка, и нужен .GLOBАL, но, тем не менее, DOP_F не находится, что, впрочем, при необходимости легко исправить. Также неясен смысл строки: Но кроссассемблеру она не помешала... P.S. Вобще .GLOBАL встречается в ассембленых программах PDP-11, но не в таком контексте, как здесь.
_________________ iLavr
|
11 Jan 2020 23:49 |
|
|
Bill
Fanat
Joined: 25 Jan 2014 21:54 Posts: 92 Location: 37.113.169.14
|
В Macro-11 и директивы и мнемоника и глобальные символы не должны быть больше 6 символов. Это связано с тем, что в таблицах для символов отводится 2 слова. При этом все символы кодируются в формате RADIX-50, по 3 символа в слове. Поэтому правильно будет именно .GLOBL. Что касается директивы .ENABL LC, то данная директива разрешает преобразование исходных символов в верхний регистр перед их обработкой. Угловые скобки используются в выражениях вместо круглых, поскольку последние используются для кодирования методов адресации. Более подробно можно почитать в руководстве по языку: https://www.dmv.net/dec/pdf/macro.pdf
|
16 Jan 2020 20:44 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Спасибо большое, прояснили ситуацию, я честно этого не знал...
_________________ iLavr
|
16 Jan 2020 21:43 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Вот тут я немного не понял у тебя: .word 0100H,0E0H ; reset vector0100H - это 16-битный адрес начала программы, грузится в РС, а 0E0H - это 16-битное PSW?1801ВМ1 - сам себе при старте выставляет PSW = 340о = 0E0H и ты просто сделал также для 1801ВМ2 ?
_________________ iLavr
|
17 Jan 2020 01:40 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23437 Location: Silicon Valley
|
Да - PSW
|
18 Jan 2020 12:45 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23437 Location: Silicon Valley
|
А между тем люди городят своё по мотивам - вот например с ардуиной вместо памяти и др.периферии: https://github.com/jaquinn/RetroShield-KR1801VM2
|
19 Jan 2020 16:47 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
В общем, почитал я и руководство по языку и Гугл помучал, но нигде не найду, что значат в Ассемблере БК-0010 и др. следующие псевдооператоры: Ну, скажем, EQU я и сам знаю, но в этом ассемблере вроде как положено делать иначе: RING = 17777 - как-то так, вместо EQU.
_________________ iLavr
|
29 Jan 2020 12:56 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Шарил я тут по сайту Ангстрем, так 1806ВМ2, судя по всему, они до сих пор предлагают: http://old.angstrem.ru/products/micro/LSI2/Если они до сих пор продают их только юридическим лицам, то не пинайте меня...
_________________ iLavr
|
08 Nov 2020 04:35 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Я смотрю, не у меня одного есть кварц на 1кГц для генератора... Так что косяком это считать не будем, и критику отнесем к неконструктивной...
_________________ iLavr
|
18 Sep 2021 12:36 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Сегодня полчаса опять искал, что означает .ENABL LC ... В итоге нашел описание MACRO-11 на русском языке для ДВК. В текстовом фактически файле искать все эти служебные слова легче, нежели в macro.pdf .
_________________ iLavr
|
02 Nov 2021 13:44 |
|
|
kuber
Fanat
Joined: 20 Sep 2015 02:50 Posts: 85
|
Приветствую всех. Давно хотел начать освоение архитектуры 1801. Пока не попалась в руки печатная машинка "ромашка", сложновато для начала. Решил с повторения схемы из середины поста.
Есть ли прошивка 556РТ4 ? Хочу заменить D9 - 556РТ4 на логику и убрать D14 - 1801ВП1 065, для простоты.
|
07 Nov 2024 09:15 |
|
|
Mixa64
Doomed
Joined: 25 Aug 2009 07:02 Posts: 472 Location: Москва
|
Прошивку придумать не составляет труда. РТ-шка здесь формирователь RPLY и всяческих стробов для ПЗУ и регистров параллельного ввода-вывода. CS1 и CS2 управляются совместно SYNC и стробами DIN DOUT (ИЛИ между ними и И результата с SYNC) A7 принимает уровень WTBT , для различения чтения или записи A6-A0 старшие разряды адреса, позволяют разместить ПЗУ и порты ввода и вывода где угодно с точностью до 512 байт, точнее - 256 слов, порты и ПЗУ 16-разрядные. Порт будет отзываться на любое обращение в этом диапазоне. Порт для чтения с портом записи могут быть разнесены по разным адресам. D0 это RPLY как ПЗУ, так и портов. D1 открывает буфер ПЗУ на шину AD D2 открывает на эту шину порт ввода D3 строб записи в порт вывода То есть, главное условие появления чего-то на выходе РТ-шки это наличие DIN или DOUT вместе с SYNC, а конкретизирующие условия это цикл записи или цикл чтения, и по адресу какого 256-словного окна. RPLY выставляется при любом обращении к ПЗУ или портам, остальное по обстоятельствам. Активный уровень всех сигналов - низкий. Выходы порта вывода для чего-то держатся в Z-состоянии после сброса и до первой записи. Это тоже можно убрать, если такое не требуется. D15 выкиньте для начала. Там, как я понял, какие-то импульсы генерятся для вектора по ACLO, от ВП1-065 50 Гц EVNT приходит. Для ACLO DCLO сделайте формирователь нормальный, как для них задумано.
|
07 Nov 2024 13:50 |
|
|
Who is online |
Users browsing this forum: No registered users and 2 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
|
|