nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 10 Apr 2020 12:23



Reply to topic  [ 309 posts ]  Go to page Previous  1 ... 17, 18, 19, 20, 21
Микро-ЭВМ на КМ1801ВМ2 
Author Message
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Ну и чтобы разобраться, как была задумана работа этой микро-ЭВМ УМПК-1801, пришлось прочитать,
как работают эти самые безликие К1801ВП1-0хх :
Attachment:
К1801ВП1-033.pdf [217.31 KiB]
Downloaded 13 times
Attachment:
К1801ВП1-034.pdf [201.52 KiB]
Downloaded 13 times
Attachment:
К1801ВП1-035.pdf [147.11 KiB]
Downloaded 13 times

Тем не менее, разобраться с программно-аппаратным пошаговым режимом это как-то не помогло. :-?
В тексте какая-то явная несостыковка:
УМПК-1801 wrote:
Режим шага цикла обращения к ОЗУ, внешним устройствам, СПЗУ в УМПК-1801 организован аппаратно–программно. После нажатия клавиши ШЦ монитор помещает в счетчик команд команду пользователя и выставляет на РСИ1 признак пошагового режима (разряд 15 РСИ1). Далее после появления одного из сигналов DIN, DOUT происходит останов процессора (снимается тактовая частота CLCI) и на магистрали A/D устанавливается выходная информация.

Знать бы ещё, что такое РСИ1... 8)

_________________
iLavr


10 Jan 2020 03:21
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Оцифровал листинг Монитора для Микро-ЭВМ УМПК-1801 из Приложения 4
книги 7 Преснухина микро ЭВМ Учебные стенды...
Attachment:
УМПК-1801-MON.zip [5.5 KiB]
Downloaded 28 times
Компилировать не пробовал еще (нет компилятора под рукой, сейчас скачаю)... :wink:

Смущают некоторые строки типа:
Code:
MOV   <TABJMP-20-.>(R0),R0
не встречались мне ранее такие "угловые скобки"... :-?

Вполне возможно, что не все опечатки вычищены - надо проверить компиляцией.

Насколько я понял, Монитор не полный, присутствует цикл работы с параллельным
портом - сканирование индикатора и клавиатуры.
Хотел взглянуть программную часть пошагового режима, но, похоже, в тексте этого
кода нет.

Тем не менее, текст, похоже, связный, и как пример программирования для 1801ВМ2
вполне пригоден.

_________________
iLavr


11 Jan 2020 19:35
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
Смущают некоторые строки типа:
Code:
MOV   <TABJMP-20-.>(R0),R0
не встречались мне ранее такие "угловые скобки"... :-?
Это оказалось не самое неприятное... :wink:
Этот код кроссассемблер для БК-0010/11М v1.00 как раз спокойно одолел... 8)

В тексте оказалось прилично как опечаток авторских, так и ошибок программы OCR.
Неприятным оказалось, что в ряде случаев программа OCR распознала запятые, как слэш нижним индексом. :lol:
На взгляд и не отличишь... :ewink:

Далее начались авторские косяки. Кроссассемблер категорически не понял меток с точкой, типа:
К.1: - пришлось их всех заменить по типу К_1: .
Ну и я никогда не подозревал, что в выражении типа KEY = 256 имеет значение число пробелов. :o
Кроссассемблер желает KEY=256 и никак иначе.

В общем-то это как бы не противоречит правилам ассемблера PDP-11, но я не думал, что так строго...

Выкладываю исправленный вариант Монитора 1986, который написал некий VOVA. :wink:
Attachment:
Mon_1986.zip [8.89 KiB]
Downloaded 29 times

Собирается он с единственной ошибкой, и я не понял, что VOVA имел в виду:
Code:
        .GLOBL DOP_F

Возможно, это опечатка, и нужен .GLOBАL, но, тем не менее, DOP_F не находится,
что, впрочем, при необходимости легко исправить.

Также неясен смысл строки:
Code:
        .ENABLE LC

Но кроссассемблеру она не помешала...


P.S. Вобще .GLOBАL встречается в ассембленых программах PDP-11,
но не в таком контексте, как здесь.

_________________
iLavr


12 Jan 2020 00:49
Profile
Fanat

Joined: 25 Jan 2014 22:54
Posts: 61
Location: 37.113.169.14
Reply with quote
В Macro-11 и директивы и мнемоника и глобальные символы не должны быть больше 6 символов. Это связано с тем, что в таблицах для символов отводится 2 слова. При этом все символы кодируются в формате RADIX-50, по 3 символа в слове. Поэтому правильно будет именно .GLOBL. Что касается директивы .ENABL LC, то данная директива разрешает преобразование исходных символов в верхний регистр перед их обработкой. Угловые скобки используются в выражениях вместо круглых, поскольку последние используются для кодирования методов адресации.
Более подробно можно почитать в руководстве по языку: https://www.dmv.net/dec/pdf/macro.pdf


16 Jan 2020 21:44
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Спасибо большое, прояснили ситуацию, я честно этого не знал... :osad:

_________________
iLavr


16 Jan 2020 22:43
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
Новый исходник:

Code:
decimalnumbers
    org 0
    .word 0100H,0E0H ; reset vector

    org 0100H
start:
    mov #12500,r0 ; delay 15 ms for 20 MHz
...


Вот тут я немного не понял у тебя: .word 0100H,0E0H ; reset vector
0100H - это 16-битный адрес начала программы, грузится в РС, а
0E0H - это 16-битное PSW?

1801ВМ1 - сам себе при старте выставляет PSW = 340о = 0E0H и ты просто сделал также для 1801ВМ2 ?

_________________
iLavr


17 Jan 2020 02:40
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 18317
Location: Silicon Valley
Reply with quote
Да - PSW

_________________
:eugeek: https://twitter.com/Shaos1973


18 Jan 2020 13:45
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 18317
Location: Silicon Valley
Reply with quote
А между тем люди городят своё по мотивам - вот например с ардуиной вместо памяти и др.периферии:

Attachment:
KR1801VM2_prototype.jpg
KR1801VM2_prototype.jpg [ 241.7 KiB | Viewed 610 times ]


https://github.com/jaquinn/RetroShield-KR1801VM2

_________________
:eugeek: https://twitter.com/Shaos1973


19 Jan 2020 17:47
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Bill wrote:
В Macro-11 и директивы и мнемоника ...
Более подробно можно почитать в руководстве по языку: https://www.dmv.net/dec/pdf/macro.pdf

В общем, почитал я и руководство по языку и Гугл помучал, но нигде не найду, что значат в Ассемблере
БК-0010 и др. следующие псевдооператоры:
Quote:
SYS
GLOB
EQU
LOC
N/A
ABS
REL
BR

Ну, скажем, EQU я и сам знаю, но в этом ассемблере вроде как положено делать иначе:
RING = 17777 - как-то так, вместо EQU.

_________________
iLavr


29 Jan 2020 13:56
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 309 posts ]  Go to page Previous  1 ... 17, 18, 19, 20, 21

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

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.