nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 12:44



Reply to topic  [ 70 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next
Эмуляция КР580ВВ79 
Author Message
God
User avatar

Joined: 13 Nov 2010 04:06
Posts: 1345
Reply with quote
Post 
По ВВ79 остаётся всё же несколько неясным один вопрос. Как известно, блок индикации может работать в режиме выдачи дешифрированного адреса счётчика сканирования (можно подключить 4 индикатора), в режиме 8-разрядного индикатора и в режиме 16-разрядного (оба - с выдачей недешифрированного счётчика сканирования на выводы 32-35). Значит ли это, что при 8-разрядном индикаторе старший разряд счётчика сканирования всё время находится в нулевом состоянии и клавиатура должна иметь половинный размер по сравнению с режимом 16-разрядного индикатора? Или же счётчик выдаёт все 4 разряда, но индикация на 8-разрядном индикаторе осуществляется лишь в течение половины времени сканирования? Что-то в доступной литературе ответа в явном виде не нашёл.


28 Sep 2012 01:39
Profile
Devil

Joined: 26 May 2003 06:57
Posts: 859
Reply with quote
Post 
Матрица клавиатуры в любом случае не больше 8х8, так что трёх младших бит недешифрированного счётчика сканирования вполне достаточно. В режиме 16 разрядов, за один проход индикации, клавиатура будет просканирована дважды.

_________________
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/


28 Sep 2012 02:05
Profile WWW
God
User avatar

Joined: 13 Nov 2010 04:06
Posts: 1345
Reply with quote
Post 
Ну да, я как-то упустил, что для клавиатуры и нужно лишь три разряда от счётчика сканирования. Тогда, по всей видимости, в режиме 8-разрядного индикатора старший разряд счётчика сканирования должен быть всё время 0.


28 Sep 2012 02:29
Profile
God
User avatar

Joined: 13 Nov 2010 04:06
Posts: 1345
Reply with quote
Post 
b2m, а нельзя ли на твоём сайте к online-ассемблеру припаять ещё справа и столбец контрольных сумм по алгоритму РК?


28 Sep 2012 04:32
Profile
Devil

Joined: 26 May 2003 06:57
Posts: 859
Reply with quote
Post 
Если только опционально. Сейчас можно копировать из окна дампа online-ассемблера в окно дампа отладчика эмулятора, а если добавить что-либо, эмулятор не поймёт :)

Напомнишь алгоритм КС? Неохота в биосе копаться...

_________________
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/


28 Sep 2012 04:41
Profile WWW
God
User avatar

Joined: 13 Nov 2010 04:06
Posts: 1345
Reply with quote
Post 
b2m wrote:
Напомнишь алгоритм КС? Неохота в биосе копаться...

"...В “Радио-86РК” ... В составе стандартных подпрограмм МОНИТОРА имеется подпрограмма вычисления контрольной суммы блока. Это двухбайтовое число, причем его младший байт равен младшему байту обычной суммы всех байтов блока, а старший байт —восьмиразрядная циклическая сумма того же блока".

Взял здесь: http://retro.h1.ru/RK86/Naladka/crc.html

b2m wrote:
Если только опционально.

Можно рядом с кнопкой "ASM" сделать кнопку "ASM+КС". Как вариант.


28 Sep 2012 04:50
Profile
Devil

Joined: 26 May 2003 06:57
Posts: 859
Reply with quote
Post 
Готово. Бери и пользуйся :)
Но в биос всё равно пришлось залезть. Уж больно расплывчатое определение старшего байта КС.

_________________
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/


28 Sep 2012 06:16
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
b2m wrote:
Но в биос всё равно пришлось залезть. Уж больно расплывчатое определение старшего байта КС.

Надо же! :o А говорит, что программист. :-? Уж про младший и старший байты
КС в “Радио-86РК”- совместимых компьютерах и всем не-программистам
чётко и давно всё разжевали...

_________________
iLavr


28 Sep 2012 06:52
Profile
God
User avatar

Joined: 13 Nov 2010 04:06
Posts: 1345
Reply with quote
Post 
b2m wrote:
Готово. Бери и пользуйся :)

Спасибо! Для меня это довольно актуально! :)

П.С. Если посмотреть на тестовый пример, который находится в верхнем окошке при заходе на страничку с ассемблером, то мы видим, что он начинается с ORG 100h. В ассемблированном же коде первые команды начинаются с адреса 0000, по которому располагаются C3 07 01, то бишь JMP addr, которого в тексте программы нет. К тому же DB 'Test' получается не с 0100h, а с 0003h. Почему так? На мой взгляд, JMP в начале дампа не должно быть, а дамп должен начинаться с адреса 0100h байтами 54 65 73 74 ('Test').
Юров В.И. wrote:
...компилятор позволяет при необходимости установить счётчик адреса в нужное абсолютное значение. Это делается с помощью директивы ORG


28 Sep 2012 08:17
Profile
Devil

Joined: 26 May 2003 06:57
Posts: 859
Reply with quote
Post 
VituZz wrote:
П.С. Если посмотреть на тестовый пример, который находится в верхнем окошке при заходе на страничку с ассемблером, то мы видим, что он начинается с ORG 100h. В ассемблированном же коде первые команды начинаются с адреса 0000

Я сделал это намеренно, т.к. люди просили, чтобы дамп из окошка можно было вставлять в отладчике эмулятора. Если сделать правильные адреса, то в эмуляторе дамп вставится не там, где курсор, а ниже (в данном случае на 100h байт).

Я добавил ещё одну опцию.

VituZz wrote:
К тому же DB 'Test' получается не с 0100h, а с 0003h. Почему так? На мой взгляд, JMP в начале дампа не должно быть, а дамп должен начинаться с адреса 0100h байтами 54 65 73 74 ('Test').

Это демонстрация работы команды END, у неё есть опциональный параметр - стартовый адрес. Если его убрать, то будет так, как ты ожидаешь.

_________________
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/


28 Sep 2012 23:42
Profile WWW
God
User avatar

Joined: 13 Nov 2010 04:06
Posts: 1345
Reply with quote
Post 
Если в последней строке дампа после ассемблирования заполнены не все 16 байт, то контрольная сумма считается так, будто до конца строки нули? Может, лучше остаток строки в режиме показа контрольных сумм заполнять FFh и считать КС с их учётом? И сама КС в строке будет в своей позиции, а не сразу за байтами дампа. Ничего, что я такой нудный? :)


03 Oct 2012 00:58
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
VituZz wrote:
Если в последней строке дампа после ассемблирования заполнены не все 16 байт, то контрольная сумма считается так, будто до конца строки нули? Может, лучше остаток строки в режиме показа контрольных сумм заполнять FFh и считать КС с их учётом?

Который раз замечаю твою неприязнь к "нулям"
и странную приверженность к FF-ам! :lol:



PS. Я к тому, что выровнять до конца нулями - никак не влияет на КС, а вот
FF-ы очень даже на КС влияют. Всё та же ориентировка на ПЗУ?

_________________
iLavr


Last edited by Lavr on 03 Oct 2012 03:19, edited 1 time in total.



03 Oct 2012 02:56
Profile
God
User avatar

Joined: 13 Nov 2010 04:06
Posts: 1345
Reply with quote
Post 
Это кажется мне естественным, поскольку стёртая РФ содержит код 0FFh. Зачем лишний раз без надобности записывать-стирать ячейку? Ресурс у РФок небольшой. При наборе в EDMEM я предварительно заполняю область памяти единицами, а после уже набираю дамп. Вот и получается, что до конца 256-байтного блока EDMEM показывает FF, а соответственно, и контрольные суммы строк и всего блока учитывают это заполнение.

П.С. Что-то я в своей непроходимой дремучести никак не пойму, как вставлять дамп из окошка онлайн-ассемблера в окно отладчика. В отладчике у меня ничего не хочет вставляться, в окошке с дампом можно выделять коды, но изменить ничего нельзя ни вручную, ни вставкой.


Last edited by VituZz on 03 Oct 2012 03:23, edited 1 time in total.



03 Oct 2012 03:18
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Я так примерно и предположил чуть выше... :wink:

_________________
iLavr


03 Oct 2012 03:21
Profile
Devil

Joined: 26 May 2003 06:57
Posts: 859
Reply with quote
Post 
VituZz wrote:
П.С. Что-то я в своей непроходимой дремучести никак не пойму, как вставлять дамп из окошка онлайн-ассемблера в окно отладчика. В отладчике у меня ничего не хочет вставляться, в окошке с дампом можно выделять коды, но изменить ничего нельзя ни вручную, ни вставкой.

Видимо ты пытаешься вставить в области ПЗУ. В принципе, ПЗУ тоже можно менять, но надо выбрать его после нажатия на клавиши Ctrl+M. По умолчанию выбрано "CPU memory", т.е. то, как видит эту память процессор, а процессор не может менять ячейки ПЗУ.

_________________
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/


03 Oct 2012 03:41
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 70 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next

Who is online

Users browsing this forum: No registered users and 12 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.