Author |
Message |
VituZz
God
Joined: 13 Nov 2010 04:06 Posts: 1344
|
По ВВ79 остаётся всё же несколько неясным один вопрос. Как известно, блок индикации может работать в режиме выдачи дешифрированного адреса счётчика сканирования (можно подключить 4 индикатора), в режиме 8-разрядного индикатора и в режиме 16-разрядного (оба - с выдачей недешифрированного счётчика сканирования на выводы 32-35). Значит ли это, что при 8-разрядном индикаторе старший разряд счётчика сканирования всё время находится в нулевом состоянии и клавиатура должна иметь половинный размер по сравнению с режимом 16-разрядного индикатора? Или же счётчик выдаёт все 4 разряда, но индикация на 8-разрядном индикаторе осуществляется лишь в течение половины времени сканирования? Что-то в доступной литературе ответа в явном виде не нашёл.
|
28 Sep 2012 01:39 |
|
|
b2m
Devil
Joined: 26 May 2003 06:57 Posts: 892
|
Матрица клавиатуры в любом случае не больше 8х8, так что трёх младших бит недешифрированного счётчика сканирования вполне достаточно. В режиме 16 разрядов, за один проход индикации, клавиатура будет просканирована дважды.
_________________Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
|
28 Sep 2012 02:05 |
|
|
VituZz
God
Joined: 13 Nov 2010 04:06 Posts: 1344
|
Ну да, я как-то упустил, что для клавиатуры и нужно лишь три разряда от счётчика сканирования. Тогда, по всей видимости, в режиме 8-разрядного индикатора старший разряд счётчика сканирования должен быть всё время 0.
|
28 Sep 2012 02:29 |
|
|
VituZz
God
Joined: 13 Nov 2010 04:06 Posts: 1344
|
b2m, а нельзя ли на твоём сайте к online-ассемблеру припаять ещё справа и столбец контрольных сумм по алгоритму РК?
|
28 Sep 2012 04:32 |
|
|
b2m
Devil
Joined: 26 May 2003 06:57 Posts: 892
|
Если только опционально. Сейчас можно копировать из окна дампа online-ассемблера в окно дампа отладчика эмулятора, а если добавить что-либо, эмулятор не поймёт
Напомнишь алгоритм КС? Неохота в биосе копаться...
_________________Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
|
28 Sep 2012 04:41 |
|
|
VituZz
God
Joined: 13 Nov 2010 04:06 Posts: 1344
|
"...В “Радио-86РК” ... В составе стандартных подпрограмм МОНИТОРА имеется подпрограмма вычисления контрольной суммы блока. Это двухбайтовое число, причем его младший байт равен младшему байту обычной суммы всех байтов блока, а старший байт —восьмиразрядная циклическая сумма того же блока". Взял здесь: http://retro.h1.ru/RK86/Naladka/crc.html
Можно рядом с кнопкой "ASM" сделать кнопку "ASM+КС". Как вариант.
|
28 Sep 2012 04:50 |
|
|
b2m
Devil
Joined: 26 May 2003 06:57 Posts: 892
|
Готово. Бери и пользуйся
Но в биос всё равно пришлось залезть. Уж больно расплывчатое определение старшего байта КС.
_________________Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
|
28 Sep 2012 06:16 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Надо же! А говорит, что программист. Уж про младший и старший байты
КС в “Радио-86РК”- совместимых компьютерах и всем не-программистам
чётко и давно всё разжевали...
_________________ iLavr
|
28 Sep 2012 06:52 |
|
|
VituZz
God
Joined: 13 Nov 2010 04:06 Posts: 1344
|
Спасибо! Для меня это довольно актуально! П.С. Если посмотреть на тестовый пример, который находится в верхнем окошке при заходе на страничку с ассемблером, то мы видим, что он начинается с ORG 100h. В ассемблированном же коде первые команды начинаются с адреса 0000, по которому располагаются C3 07 01, то бишь JMP addr, которого в тексте программы нет. К тому же DB 'Test' получается не с 0100h, а с 0003h. Почему так? На мой взгляд, JMP в начале дампа не должно быть, а дамп должен начинаться с адреса 0100h байтами 54 65 73 74 ('Test').
|
28 Sep 2012 08:17 |
|
|
b2m
Devil
Joined: 26 May 2003 06:57 Posts: 892
|
Я сделал это намеренно, т.к. люди просили, чтобы дамп из окошка можно было вставлять в отладчике эмулятора. Если сделать правильные адреса, то в эмуляторе дамп вставится не там, где курсор, а ниже (в данном случае на 100h байт). Я добавил ещё одну опцию.
Это демонстрация работы команды END, у неё есть опциональный параметр - стартовый адрес. Если его убрать, то будет так, как ты ожидаешь.
_________________Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
|
28 Sep 2012 23:42 |
|
|
VituZz
God
Joined: 13 Nov 2010 04:06 Posts: 1344
|
Если в последней строке дампа после ассемблирования заполнены не все 16 байт, то контрольная сумма считается так, будто до конца строки нули? Может, лучше остаток строки в режиме показа контрольных сумм заполнять FFh и считать КС с их учётом? И сама КС в строке будет в своей позиции, а не сразу за байтами дампа. Ничего, что я такой нудный?
|
03 Oct 2012 00:58 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Который раз замечаю твою неприязнь к "нулям"
и странную приверженность к FF-ам!
PS. Я к тому, что выровнять до конца нулями - никак не влияет на КС, а вот FF-ы очень даже на КС влияют. Всё та же ориентировка на ПЗУ?
_________________ iLavr
Last edited by Lavr on 03 Oct 2012 03:19, edited 1 time in total.
|
03 Oct 2012 02:56 |
|
|
VituZz
God
Joined: 13 Nov 2010 04:06 Posts: 1344
|
Это кажется мне естественным, поскольку стёртая РФ содержит код 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 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Я так примерно и предположил чуть выше...
_________________ iLavr
|
03 Oct 2012 03:21 |
|
|
b2m
Devil
Joined: 26 May 2003 06:57 Posts: 892
|
Видимо ты пытаешься вставить в области ПЗУ. В принципе, ПЗУ тоже можно менять, но надо выбрать его после нажатия на клавиши Ctrl+M. По умолчанию выбрано "CPU memory", т.е. то, как видит эту память процессор, а процессор не может менять ячейки ПЗУ.
_________________Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
|
03 Oct 2012 03:41 |
|