Эмуляция КР580ВВ79
Moderator: Pyk
-
- God
- Posts: 1343
- Joined: 13 Nov 2010 04:06
По ВВ79 остаётся всё же несколько неясным один вопрос. Как известно, блок индикации может работать в режиме выдачи дешифрированного адреса счётчика сканирования (можно подключить 4 индикатора), в режиме 8-разрядного индикатора и в режиме 16-разрядного (оба - с выдачей недешифрированного счётчика сканирования на выводы 32-35). Значит ли это, что при 8-разрядном индикаторе старший разряд счётчика сканирования всё время находится в нулевом состоянии и клавиатура должна иметь половинный размер по сравнению с режимом 16-разрядного индикатора? Или же счётчик выдаёт все 4 разряда, но индикация на 8-разрядном индикаторе осуществляется лишь в течение половины времени сканирования? Что-то в доступной литературе ответа в явном виде не нашёл.
-
- Devil
- Posts: 907
- Joined: 26 May 2003 06:57
Матрица клавиатуры в любом случае не больше 8х8, так что трёх младших бит недешифрированного счётчика сканирования вполне достаточно. В режиме 16 разрядов, за один проход индикации, клавиатура будет просканирована дважды.
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
http://bashkiria-2m.narod.ru/
-
- God
- Posts: 1343
- Joined: 13 Nov 2010 04:06
-
- God
- Posts: 1343
- Joined: 13 Nov 2010 04:06
-
- Devil
- Posts: 907
- Joined: 26 May 2003 06:57
Если только опционально. Сейчас можно копировать из окна дампа online-ассемблера в окно дампа отладчика эмулятора, а если добавить что-либо, эмулятор не поймёт 
Напомнишь алгоритм КС? Неохота в биосе копаться...

Напомнишь алгоритм КС? Неохота в биосе копаться...
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
http://bashkiria-2m.narod.ru/
-
- God
- Posts: 1343
- Joined: 13 Nov 2010 04:06
"...В “Радио-86РК” ... В составе стандартных подпрограмм МОНИТОРА имеется подпрограмма вычисления контрольной суммы блока. Это двухбайтовое число, причем его младший байт равен младшему байту обычной суммы всех байтов блока, а старший байт —восьмиразрядная циклическая сумма того же блока".b2m wrote:Напомнишь алгоритм КС? Неохота в биосе копаться...
Взял здесь: http://retro.h1.ru/RK86/Naladka/crc.html
Можно рядом с кнопкой "ASM" сделать кнопку "ASM+КС". Как вариант.b2m wrote:Если только опционально.
-
- Devil
- Posts: 907
- Joined: 26 May 2003 06:57
Готово. Бери и пользуйся 
Но в биос всё равно пришлось залезть. Уж больно расплывчатое определение старшего байта КС.

Но в биос всё равно пришлось залезть. Уж больно расплывчатое определение старшего байта КС.
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
http://bashkiria-2m.narod.ru/
-
- Supreme God
- Posts: 16689
- Joined: 21 Oct 2009 08:08
- Location: Россия
-
- God
- Posts: 1343
- Joined: 13 Nov 2010 04:06
Спасибо! Для меня это довольно актуально!b2m wrote:Готово. Бери и пользуйся

П.С. Если посмотреть на тестовый пример, который находится в верхнем окошке при заходе на страничку с ассемблером, то мы видим, что он начинается с ORG 100h. В ассемблированном же коде первые команды начинаются с адреса 0000, по которому располагаются C3 07 01, то бишь JMP addr, которого в тексте программы нет. К тому же DB 'Test' получается не с 0100h, а с 0003h. Почему так? На мой взгляд, JMP в начале дампа не должно быть, а дамп должен начинаться с адреса 0100h байтами 54 65 73 74 ('Test').
Юров В.И. wrote:...компилятор позволяет при необходимости установить счётчик адреса в нужное абсолютное значение. Это делается с помощью директивы ORG
-
- Devil
- Posts: 907
- Joined: 26 May 2003 06:57
Я сделал это намеренно, т.к. люди просили, чтобы дамп из окошка можно было вставлять в отладчике эмулятора. Если сделать правильные адреса, то в эмуляторе дамп вставится не там, где курсор, а ниже (в данном случае на 100h байт).VituZz wrote:П.С. Если посмотреть на тестовый пример, который находится в верхнем окошке при заходе на страничку с ассемблером, то мы видим, что он начинается с ORG 100h. В ассемблированном же коде первые команды начинаются с адреса 0000
Я добавил ещё одну опцию.
Это демонстрация работы команды END, у неё есть опциональный параметр - стартовый адрес. Если его убрать, то будет так, как ты ожидаешь.VituZz wrote:К тому же DB 'Test' получается не с 0100h, а с 0003h. Почему так? На мой взгляд, JMP в начале дампа не должно быть, а дамп должен начинаться с адреса 0100h байтами 54 65 73 74 ('Test').
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
http://bashkiria-2m.narod.ru/
-
- God
- Posts: 1343
- Joined: 13 Nov 2010 04:06
Если в последней строке дампа после ассемблирования заполнены не все 16 байт, то контрольная сумма считается так, будто до конца строки нули? Может, лучше остаток строки в режиме показа контрольных сумм заполнять FFh и считать КС с их учётом? И сама КС в строке будет в своей позиции, а не сразу за байтами дампа. Ничего, что я такой нудный? 

-
- Supreme God
- Posts: 16689
- Joined: 21 Oct 2009 08:08
- Location: Россия
Который раз замечаю твою неприязнь к "нулям"VituZz wrote:Если в последней строке дампа после ассемблирования заполнены не все 16 байт, то контрольная сумма считается так, будто до конца строки нули? Может, лучше остаток строки в режиме показа контрольных сумм заполнять FFh и считать КС с их учётом?
и странную приверженность к FF-ам!

PS. Я к тому, что выровнять до конца нулями - никак не влияет на КС, а вот
FF-ы очень даже на КС влияют. Всё та же ориентировка на ПЗУ?
Last edited by Lavr on 03 Oct 2012 03:19, edited 1 time in total.
iLavr
-
- God
- Posts: 1343
- Joined: 13 Nov 2010 04:06
Это кажется мне естественным, поскольку стёртая РФ содержит код 0FFh. Зачем лишний раз без надобности записывать-стирать ячейку? Ресурс у РФок небольшой. При наборе в EDMEM я предварительно заполняю область памяти единицами, а после уже набираю дамп. Вот и получается, что до конца 256-байтного блока EDMEM показывает FF, а соответственно, и контрольные суммы строк и всего блока учитывают это заполнение.
П.С. Что-то я в своей непроходимой дремучести никак не пойму, как вставлять дамп из окошка онлайн-ассемблера в окно отладчика. В отладчике у меня ничего не хочет вставляться, в окошке с дампом можно выделять коды, но изменить ничего нельзя ни вручную, ни вставкой.
П.С. Что-то я в своей непроходимой дремучести никак не пойму, как вставлять дамп из окошка онлайн-ассемблера в окно отладчика. В отладчике у меня ничего не хочет вставляться, в окошке с дампом можно выделять коды, но изменить ничего нельзя ни вручную, ни вставкой.
Last edited by VituZz on 03 Oct 2012 03:23, edited 1 time in total.
-
- Supreme God
- Posts: 16689
- Joined: 21 Oct 2009 08:08
- Location: Россия
-
- Devil
- Posts: 907
- Joined: 26 May 2003 06:57
Видимо ты пытаешься вставить в области ПЗУ. В принципе, ПЗУ тоже можно менять, но надо выбрать его после нажатия на клавиши Ctrl+M. По умолчанию выбрано "CPU memory", т.е. то, как видит эту память процессор, а процессор не может менять ячейки ПЗУ.VituZz wrote:П.С. Что-то я в своей непроходимой дремучести никак не пойму, как вставлять дамп из окошка онлайн-ассемблера в окно отладчика. В отладчике у меня ничего не хочет вставляться, в окошке с дампом можно выделять коды, но изменить ничего нельзя ни вручную, ни вставкой.
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
http://bashkiria-2m.narod.ru/