Электроника МК-85

Digital Equipment Corporation PDP-8 & PDP-11 (а также совместимые с последним советские ЭВМ на 1801ВМ1/2/3)

Moderator: Shaos

User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Электроника МК-85

Post by Shaos »

Продолжение про CASIO в соответствующем топике:

viewtopic.php?f=92&t=9576#p142934

А вообще у меня Casio FX-700P появился в оригинальной коробке и с книжками - так вот я теперь вижу, что мануал MK85 был бессовесно содран с мануала к FX-700P, включая картинки, примеры программ и т.д.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Электроника МК-85

Post by Lavr »

Shaos wrote:вижу, что мануал MK85 был бессовесно содран с мануала к FX-700P, включая картинки, примеры программ и т.д.
Хех! :mrgreen: Так в этом и есть смысл сдирания: не затрачивать лишних усилий и ресурсов... :wink:
Возможно, поэтому и внешний вид 1:1...

Intel, к примеру, не была в обиде, что русские повторили i8080 - не конкуренты на рынке...
А те же японцы узкоглазо и молчаливо реально драли i8080 1:1...
iLavr
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Электроника МК-85

Post by Shaos »

Так в том то и дело, что это только внешнее сдирание - у МК85 внутри то всё другое и намного более продвинутое...

Не понимаю - написать свой бейсик-интерпретатор по образу и подобию, но более быстрый и более точный времени хватило, а вот свой вменяемый мануал написать - нет? :econfused:
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Электроника МК-85

Post by Lavr »

Shaos wrote:написать свой бейсик-интерпретатор по образу и подобию, но более быстрый и более точный времени хватило, а вот свой вменяемый мануал написать - нет? :econfused:
Ну так у нас плохо пишут мануалы - никому этого делать просто не охота...
Вот и облегчили себе жизнь - передрали и мануал, чего тут не понимать? :o
Ты же видел, я тут на форуме показывал оригинальный мануал на К580ВМ80... :wink: Стыдоба! :osad:

А что так далеко за примерами ходить? Вот тебе живой пример, как у нас "любят" писать мануалы... :mrgreen:
iLavr
SAA
Senior
Posts: 136
Joined: 12 Jul 2016 21:30

Re: Электроника МК-85

Post by SAA »

Shaos wrote:Так в том то и дело, что это только внешнее сдирание - у МК85 внутри то всё другое и намного более продвинутое...

Не понимаю - написать свой бейсик-интерпретатор по образу и подобию, но более быстрый и более точный времени хватило, а вот свой вменяемый мануал написать - нет? :econfused:
Где то на сайте ixbt целая ветка (http://forum.ixbt.com/topic.cgi?id=64:3394) посвящена этому процессору и этой микро ЭВМ, Отрохов описывал процесс как это все было и ЕМНИП как раз про написание интерпретатора говорил что для того что бы в срок и вовремя его написать разработчик брал работу домой и обкладывался там книжками по самую макушку - скорость достигалась за счет использования "шитого кода".

P.S. Нашел вроде бы http://forum.ixbt.com/topic.cgi?id=64:3394:429#429
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Электроника МК-85

Post by Lavr »

Вот если в ассемблерном тексте метки без букв - 1: 2: 3: и т.д.

Code: Select all

RUN:  CLR UROW
  JSR PC,RAM
  JSR PC,PRNEBO
  JSR PC,INST2
  JSR PC,NANN
  JSR PC,INST1
  JSR PC,STT
1:  JSR PC,IBLOK
  BR RUN

IBLOK:  JSR PC,OPROS
  JSR PC,PRBITA
  JSR PC,NKBV
  JSR PC,PRBV
  JSR PC,NKHAR
  JSR PC,ZADER
  JSR PC,PRMUX
  TST IPRN
  BEQ 1
  JSR PC,ULETN
  INC GOLN
  BR 2
1:  TST IPRV
  BEQ 3
  JSR PC,ULETV
  INC GOLV
  BR 2
3:  BR IBLOK
2:  JSR PC,PRGOL
  JSR PC,INST1
  JSR PC,STT
  CMP #21.,GOLN
  BNE 5
  JSR PC,PROIG
  BR 4
5:  CMP #21.,GOLV
  BNE 6
  JSR PC,VIIGR
  BR 4
6:  BR IBLOK
4:  RTS PC
Это локальные метки?
И как они учитываются - от ссылки на метку вперед или как?
iLavr
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Электроника МК-85

Post by Shaos »

Не - шитый код был в БК, а тут BCD, для которого ВМ2 неприспособлен (нету нативной поддержки) с поциферным вычислением, но всё равно автор молодец

P.S. Надо сравнительные тесты по скорости погонять на Casio и MK85

P.P.S. А это откуда исходник?
Вот если в ассемблерном тексте метки без букв - 1: 2: 3: и т.д.
...
Это локальные метки?
И как они учитываются - от ссылки на метку вперед или как?
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Электроника МК-85

Post by Shaos »

Shaos wrote:Не - шитый код был в БК, а тут BCD, для которого ВМ2 неприспособлен (нету нативной поддержки) с поциферным вычислением, но всё равно автор молодец

P.S. Надо сравнительные тесты по скорости погонять на Casio и MK85
Забил в оба МК-85 и CASIO вот такую программку:

Code: Select all

10 A=0
20 FOR I=0 TO 100
30 A=A+I:PRINT CSR 0;A;
40 NEXT I
В случае МК-85 правда пришлось вытащить CSR 0 из PRINT

Результаты работы:
  • 15 секунд - МК85 в обычном режиме
  • 7 секунд - CASIO (пробовал на всех трёх - CASIO FX-700P, CASIO PB-100 и RadioShack TRS-80)
  • 3 секунды - МК85 в турбо режиме
Причём у CASIO все числа видны чётко, в случае же МК-85 они не успевали толком прорисоваться на ЖКИ

P.S. Вариант с умножением:

MK-85:

Code: Select all

10 A=1:SET 5
20 FOR I=1 TO 50
30 A=A*I:CSR 0:PRINT A;
40 NEXT I
CASIO:

Code: Select all

10 A=1:SET E5
20 FOR I=1 TO 50
30 A=A*I:PRINT CSR 0;A;
40 NEXT I
На самом деле МК-85 позволял и до 100 бежать, но вот CASIO спотыкался (т.к. экспонента там не может быть больше 99) - поэтому уменьшил до 50 шагов в обоих случаях

Результаты:
  • 20 секунд - МК85 в обычном режиме
  • 5 секунд - CASIO
  • 4 секунды - МК85 в турбо режиме
т.е. судя по всему у разработчиков МК-85 просто была задача обогнать по быстродействию CASIO (хотя бы в турбо-режиме) и остановиться...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Электроника МК-85

Post by Lavr »

Shaos wrote:А это откуда исходник?
Вот если в ассемблерном тексте метки без букв - 1: 2: 3: и т.д.
...
Это локальные метки?
И как они учитываются - от ссылки на метку вперед или как?
Этот исходник был в приложении к кросс-ассемблеру 1801...
Поскольку с "каноническим" синтаксисом мы так и не определились (не увидел я в своих
примерах ни префикса '^', ни '.radix'), я решил "причесать" дизассемблированный текст
Монитора под синтаксис из примеров к кросс-ассемблеру.
Синтаксис процентов так на 95 совпадает с тем, что выдал дизассемблер.

Ну и увидел я в примерах эти метки без букв - 1: 2: 3: и т.д.
Если заменить 1: на М1:, то компилируется тоже нормально.

Другое дело, что диапазон действия этих меток - 1: 2: 3: и т.д. мне не совсем понятен.
Они "только вперед" или по какому принципу?
iLavr
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Электроника МК-85

Post by Lavr »

Shaos wrote:
Lavr wrote:префикс ^X - полюбому "не айс", мне лично не нравится...
Узнал - это был ассемблер PDPXASM
Вот тут пишут, что "уши" этих префиксов торчат всё же из MACRO-11:
префиксная форма из MACRO-11
^xabcd, ^habcd - 16-ричное число
^d9999 - десятичное число
^b1111 - двоичное число
^o7777 - восьмеричное число (просто до кучи, чтобы всё было)
^f12.3 - число с плавающей точкой однословное.
^rABC- три символа в кодировке RADIX-50
iLavr
SAA
Senior
Posts: 136
Joined: 12 Jul 2016 21:30

Re: Электроника МК-85

Post by SAA »

Lavr wrote:Вот тут пишут, что "уши" этих префиксов торчат всё же из MACRO-11:
префиксная форма из MACRO-11
^xabcd, ^habcd - 16-ричное число
Видел ^X только в какой то "свежей" версии RT-11 с софтом. Шестнадцатеричка не из мира PDP вообще. Негласно - общаться в хекс с PDP-шником не стоит :) можно обидеть :)
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Электроника МК-85

Post by Lavr »

SAA wrote:Шестнадцатеричка не из мира PDP вообще.
Негласно - общаться в хекс с PDP-шником не стоит :) можно обидеть :)
Это лирика. :-? HEX - формат представления чисел ничуть не хуже других.
Вполне люди его используют в "мире PDP":
Titus wrote:(числа в командах перевел в восьмиричный вид, для восьмиричников, адреса команд и коды команд не переводил):

Code: Select all

02DE 0BDF FFFE TST (#177776) 
02E2 00A0 NOP 
02E4 4460 BIC (R1)+,-(R0) 
02E6 0BDF FF66 TST (#177546) 
02EA 00A0 NOP 
02EC 5448 OR (R1)+,(R0) 
02EE 0203 BNE $02F6 
02F0 0BDF 0001 TST (#000001) 
02F4 00A0 NOP 
02F6 5448 OR (R1)+,(R0) 
02F8 F000 NOP * 
02FA 5448 OR (R1)+,(R0) 
02FC 0BDF F560 TST (#172540) 
0300 00A0 NOP 
0302 5448 OR (R1)+,(R0)
На мой взгляд, так давно надо HEX - формат внедрить во все разработки, связанные с 1801хх.
А то сильно морочит голову эта восьмиричность, которая хороша только в конструировании команд
без ассемблера. Но кто сейчас работает без ассемблера? Да никто...

Ну и поскольку весь процессор напоминает урезанный 8086 без сегментов, то альтернативные привычные
мнемоники aka Intel тоже было бы не грех ввести...
Вот BNE $02F6 - это что такое? Это Brunch Not Equal... Чорт побери! Это же JNZ 02F6H ! :lol:
Я уверен - это только прибавило бы популярности этим камням!
iLavr
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Электроника МК-85

Post by Shaos »

Lavr wrote:Ну и увидел я в примерах эти метки без букв - 1: 2: 3: и т.д.
Если заменить 1: на М1:, то компилируется тоже нормально.

Другое дело, что диапазон действия этих меток - 1: 2: 3: и т.д. мне не совсем понятен.
Они "только вперед" или по какому принципу?
Я там вижу две метки 1:

Можно предположить, что их область действия от одной полноценной метки до другой, т.е. первый 1: можно заменить на RUN_1: (кстати где на неё переход?) а второй 1: на IBLOK_1:
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Электроника МК-85

Post by Lavr »

Shaos wrote:Я там вижу две метки 1:

Можно предположить, что их область действия от одной полноценной метки до другой, т.е. первый 1: можно заменить на RUN_1: (кстати где на неё переход?) а второй 1: на IBLOK_1:
Вопрос как раз и возник про диапазон действия этих меток - 1: 2: 3: .
Я решил их позаменять на "нормальные" и некоторые стало непонятно как заменить - откуда их вызвали?

Возможно, я некорректно вырезал ассемблерный кусок для показа, но вот тогда весь файл.
PINGPONG.ASM
Кстати, попробуй компильни его своей "пофикшенной версией pdp11asm" - посмотрим,
насколько совместим синтаксис...
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Электроника МК-85

Post by Shaos »

Ок, попробую, но боюсь 1: 2: 3: он не прожуёт...
Я тут за главного - если что шлите мыло на me собака shaos точка net