nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 10 Dec 2018 17:02



Reply to topic  [ 200 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7, 8 ... 14  Next
Электроника МК-85 
Author Message
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17209
Location: Colorado
Reply with quote
Вот внутренности обоих моих MK-85х:

Image

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

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

Image

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

Image

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


26 Jan 2018 01:19
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17209
Location: Colorado
Reply with quote
Shaos wrote:
Приложил к дюймовой сетке:

Image

Кстати, никто так и не заметил, что сверху на вышеприведённой фотке торчит вовсе не МК-85 :no:

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


26 Jan 2018 01:21
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
А никто особо и не вглядывался, что там торчит "сверху на вышеприведённой фотке"... :wink:
Ну торчит что-то, значит Shaos так задумал.


Ты мне лучше вот чего скажи - есть какой-либо официальный стандарт ассемблера для микропроцессоров
1801ВМ1,2 ?
Я декомпилировал Монитор 3-мя разными дизассемблерами - суть получилась одинаковая (честно
сверил построчно), а вот текстовая запись - довольно разная.
Ни один из трёх вариантов Ассемблер ассемблировать сразу не хочет.
Вот я и думаю - раз уж придется чистить исходник руками, какого стандарта что ли придерживаться?

_________________
iLavr


26 Jan 2018 03:29
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17209
Location: Colorado
Reply with quote
pdp11asm придерживайся ;)

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


26 Jan 2018 10:35
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
pdp11asm придерживайся

Рад бы, но у него ни хелпа, никакого описания и разные фичи перемешаны.

_________________
iLavr


26 Jan 2018 11:25
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17209
Location: Colorado
Reply with quote
Lavr wrote:
Shaos wrote:
pdp11asm придерживайся

Рад бы, но у него ни хелпа, никакого описания и разные фичи перемешаны.

А чего там описывать то? Интерфейс командной строки :)
Директивы ассемблера сгруппированы в один файл compiler.cpp и легко понимаемы ;)

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

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


Мне лично в pdp11asm очень понравилась возможность вот такого трюка (который я применил для патча ПЗУ МК-85):
Code:
   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-ов мы этот бинарь "патчим" :)

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


26 Jan 2018 18:30
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
Директивы ассемблера сгруппированы в один файл compiler.cpp и легко понимаемы ;)

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

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

Вот, к примеру, смотрю в самый последний вариант кода, полученный дизассемблером эмулятора БК-0010:
Code:
0010226          BEQ        10240
0010230          MOV        #5, R5
0010234          JMP        12514

Не пишут они JMP-ы так как ты показал.

Вот предыдущий вариант, полученный другим дизассемблером:
Code:
          JMP     002514
          ASR     R3
          ASR     R3
          ASR     R3
          BIC     #160000, R3
          JMP     000254

Тоже, как видишь, синтаксис другой.

Вот тебе живой пример, как один и тот же код описан разным синтаксисом:
Code:
          MOV         SP, @13772
          MOV         13772, SP
          MOV        #170400, -(SP)

Code:
          MOV     R6, @013772
          MOV     013772, R6
          PUSH    #170400

Нет, я, безусловно, знаю, что R6 - это и есть SP, но вопрос сейчас о синтаксисе ассемблера.
Если ты видишь, разница есть, и местами весьма существенна.

_________________
iLavr


26 Jan 2018 20:15
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17209
Location: Colorado
Reply with quote
могу только сказать, что судя по исходникам pdp11asm понимает SP и PC и НЕ понимает R6 и R7

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

P.S. по поводу первых двух кусков - сдаётся мне, что это разные куски кода...

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


26 Jan 2018 20:43
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
по поводу первых двух кусков - сдаётся мне, что это разные куски кода...

А я и не говорил, что они одинаковые. :o Нет такого в тексте.
Я тебе показал, что даже два различных дизассемблера не используют синтаксис типа:
Code:
         jmp    @#0C0AH


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


Но еще раз повторю - хотелось бы узнать, что считается "стандартом".
Тот ассемблер, которым я пользуюсь, PUSH и SP, к примеру, понимает.

_________________
iLavr


26 Jan 2018 22:14
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17209
Location: Colorado
Reply with quote
Ну наверное стандарт это MACRO-11 вот только он безнадёжно устарел...

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


26 Jan 2018 23:11
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17209
Location: Colorado
Reply with quote
Я тут кстати попробовал вот эту программку в кодах:

Image

на живом МК-85 и она вроде даже заработала :o


Attachments:
mk-85-hello.jpg
mk-85-hello.jpg [ 111.05 KiB | Viewed 2325 times ]

_________________
:eugeek: https://twitter.com/Shaos1973
26 Jan 2018 23:28
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
Ну наверное стандарт это MACRO-11 вот только он безнадёжно устарел...

Ну я исхожу из того, что "стандарт" должен собираться на подавляющем большинстве ассемблеров этого типа.

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

Раз уж есть исходники pdp11asm, не лучше ли было их допилить, чтобы понимал он "исходники патча v27 от Петра"? :wink:

_________________
iLavr


27 Jan 2018 01:07
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17209
Location: Colorado
Reply with quote
Неа - исходники патча написаны непойми на чём

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

Я ведь там не только синтаксис правил, но и переводил комментарии с польского на английский :)

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


27 Jan 2018 02:16
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
Неа - исходники патча написаны непойми на чём...

Так не бывает... 8) Скорее всего он их собирал на чем-то стандартном.
Кстати, ты не спросил его - на чем?

_________________
iLavr


27 Jan 2018 02:44
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17209
Location: Colorado
Reply with quote
Не спросил, но мне тот синтаксис не понравился, например шестнадцатиричные числа там представлены так: ^X0216

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


27 Jan 2018 11:18
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 200 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7, 8 ... 14  Next

Who is online

Users browsing this forum: No registered users and 1 guest


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.