Электроника МК-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 »

Вот внутренности обоих моих MK-85х:

Image

Сверху МК85 (1991), снизу МК85М (1996)

Чуть более новый МК85М показывает полосы :(

Image

Зато старичок МК85 кое-как, но показывает что ввели :idea:

Image
Я тут за главного - если что шлите мыло на 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:Приложил к дюймовой сетке:

Image
Кстати, никто так и не заметил, что сверху на вышеприведённой фотке торчит вовсе не МК-85 :no:
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

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

Post by Lavr »

А никто особо и не вглядывался, что там торчит "сверху на вышеприведённой фотке"... :wink:
Ну торчит что-то, значит Shaos так задумал.


Ты мне лучше вот чего скажи - есть какой-либо официальный стандарт ассемблера для микропроцессоров
1801ВМ1,2 ?
Я декомпилировал Монитор 3-мя разными дизассемблерами - суть получилась одинаковая (честно
сверил построчно), а вот текстовая запись - довольно разная.
Ни один из трёх вариантов Ассемблер ассемблировать сразу не хочет.
Вот я и думаю - раз уж придется чистить исходник руками, какого стандарта что ли придерживаться?
iLavr
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

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

Post by Shaos »

pdp11asm придерживайся ;)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

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

Post by Lavr »

Shaos wrote:pdp11asm придерживайся
Рад бы, но у него ни хелпа, никакого описания и разные фичи перемешаны.
iLavr
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

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

Post by Shaos »

Lavr wrote:
Shaos wrote:pdp11asm придерживайся
Рад бы, но у него ни хелпа, никакого описания и разные фичи перемешаны.
А чего там описывать то? Интерфейс командной строки :)
Директивы ассемблера сгруппированы в один файл compiler.cpp и легко понимаемы ;)

Инструкции и префиксы PDP11 применяются в лоб, т.е. переход на конкретный адрес записывается так:

Code: Select all

	jmp    @#0C0AH
а вовсе не так:

Code: Select all

	jmp    0C0AH
Мне лично в pdp11asm очень понравилась возможность вот такого трюка (который я применил для патча ПЗУ МК-85):

Code: Select all

	org     0
insert_file	"mk85.rom"

; handling keys EE and H (for hexadecimal entry)
	org	0216H
	jmp	hexinp

; typing chatacter R0 into edit buffer with support of INSERT mode
	org	0270H
	jmp	ins1

; new vectrors MODE7 and MODE8
	org	02E6H
	.word	mode7
	.word	mode8
т.е. сначала с адреса 0 подгружается старый бинарь, а потом путём указывания org-ов мы этот бинарь "патчим" :)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

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

Post by Lavr »

Shaos wrote:Директивы ассемблера сгруппированы в один файл compiler.cpp и легко понимаемы ;)
Ну так вот это как раз и надо! Как это записывают "правильно" или "по некоему стандарту".
Я же тебе говорю, что сверил построчно 3 разных исходника, полученных дизассемблерами.
И префиксы - это в общем-то фигня.
Некоторые более хитрозадумчивые вещи можно записать совершенно разными способами,
но при этом сам код один и тот же.

Вот меня в данный момент и интересует стандарт этого ассемблера процесоров 1801ВМ1,2.

Вот, к примеру, смотрю в самый последний вариант кода, полученный дизассемблером эмулятора БК-0010:

Code: Select all

0010226          BEQ        10240
0010230          MOV        #5, R5
0010234          JMP        12514
Не пишут они JMP-ы так как ты показал.

Вот предыдущий вариант, полученный другим дизассемблером:

Code: Select all

          JMP     002514
          ASR     R3
          ASR     R3
          ASR     R3
          BIC     #160000, R3
          JMP     000254
Тоже, как видишь, синтаксис другой.

Вот тебе живой пример, как один и тот же код описан разным синтаксисом:

Code: Select all

          MOV         SP, @13772
          MOV         13772, SP
          MOV        #170400, -(SP)

Code: Select all

          MOV     R6, @013772
          MOV     013772, R6
          PUSH    #170400
Нет, я, безусловно, знаю, что R6 - это и есть SP, но вопрос сейчас о синтаксисе ассемблера.
Если ты видишь, разница есть, и местами весьма существенна.
iLavr
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

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

Post by Shaos »

могу только сказать, что судя по исходникам pdp11asm понимает SP и PC и НЕ понимает R6 и R7

инструкции "push" у него тоже нету, т.е. для него надо делать через mov

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

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

Post by Lavr »

Shaos wrote: по поводу первых двух кусков - сдаётся мне, что это разные куски кода...
А я и не говорил, что они одинаковые. :o Нет такого в тексте.
Я тебе показал, что даже два различных дизассемблера не используют синтаксис типа:

Code: Select all

         jmp    @#0C0AH
Кстати, с PUSH у них тоже несколько нелогично... Если уж называть R6 - SP, то логичней было бы:

Code: Select all

          MOV         SP, @13772
          MOV         13772, SP
          PUSH       #170400
Но еще раз повторю - хотелось бы узнать, что считается "стандартом".
Тот ассемблер, которым я пользуюсь, PUSH и SP, к примеру, понимает.
iLavr
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

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

Post by Shaos »

Ну наверное стандарт это MACRO-11 вот только он безнадёжно устарел...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

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

Post by Shaos »

Я тут кстати попробовал вот эту программку в кодах:
mk85fipr.png
Источник: http://www.pisi.com.pl/piotr433/mk85fipr.png

на живом МК-85 и она вроде даже заработала :o
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

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

Post by Lavr »

Shaos wrote:Ну наверное стандарт это MACRO-11 вот только он безнадёжно устарел...
Ну я исхожу из того, что "стандарт" должен собираться на подавляющем большинстве ассемблеров этого типа.

Кстати, в этом плане, странно ты поступил, на мой взгляд:
Shaos wrote:переписываю исходники патча v27 от Петра, чтобы они стали совместимыми с pdp11asm

Раз уж есть исходники pdp11asm, не лучше ли было их допилить, чтобы понимал он "исходники патча v27 от Петра"? :wink:
iLavr
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

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

Post by Shaos »

Неа - исходники патча написаны непойми на чём

А теперь вот Пётр мне уже прислал обновление на переписанную v27 - новая команда бейсика ITOA :roll:

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

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

Post by Lavr »

Shaos wrote:Неа - исходники патча написаны непойми на чём...
Так не бывает... 8) Скорее всего он их собирал на чем-то стандартном.
Кстати, ты не спросил его - на чем?
iLavr
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

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

Post by Shaos »

Не спросил, но мне тот синтаксис не понравился, например шестнадцатиричные числа там представлены так: ^X0216
Я тут за главного - если что шлите мыло на me собака shaos точка net