User Tag List

Страница 10 из 19 ПерваяПервая ... 67891011121314 ... ПоследняяПоследняя
Показано с 91 по 100 из 187

Тема: Нужна помощь с запуском 1806ВМ2

  1. #91

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,508
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от radist108 Посмотреть сообщение
    Собственно, проблема: если в адресе 000000 ПЗУ я прописываю значение 000001
    Адрес в PC (как и в первом слове вектра прерываний) должен быть чётным

    - - - Добавлено - - -

    И такое впечатление, что перепутаны ПЗУ младшего и старшего байта - тогда объяснимо, почему в PC пишется 400

    - - - Добавлено - - -

    Как мысль вслух - учитывая быстродействие современных ЭСППЗУ, вполне можно сделать вариант на одном байтовом ПЗУ

    Этот пользователь поблагодарил Hunta за это полезное сообщение:

    radist108(25.03.2022)

  2. #91
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #92

    Регистрация
    13.07.2018
    Адрес
    г. Переславль-Залесский
    Сообщений
    710
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    45
    Поблагодарили
    41 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В случае нечётного адреса либо прерывание(PDP-11)... Либо игнор последнего бита(LSI-11)...
    Как в случае 1806ВМ2 - не ведаю точно
    1801ВМ2-игнор бита. Так что скорее всего адрес 1 воспримется как 0
    Но по канону - адрес должен быть чётным.
    Нечётный адрес используют только для байтовых инструкций, либо для определения типа процессора или просто грязный код, но на 1801ВМ3 таковой уже не прокатит, будет прерывание. Есть игрушки, кои идут на 1801ВМ2, но на 1801ВМ3 трапаются. Можно свой обработчик повесить
    Последний раз редактировалось Alex; 25.03.2022 в 12:53.

    Этот пользователь поблагодарил Alex за это полезное сообщение:

    radist108(25.03.2022)

  4. #93

    Регистрация
    14.11.2017
    Адрес
    г. Санкт-Петербург
    Сообщений
    131
    Спасибо Благодарностей отдано 
    59
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    8 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    И такое впечатление, что перепутаны ПЗУ младшего и старшего байта - тогда объяснимо, почему в PC пишется 400
    Данные из ячеек читаются корректно и в соответствии с записью в ПЗУ. Я много раз проверял. Подписал на рисунке

    - - - Добавлено - - -

    Цитата Сообщение от Alex Посмотреть сообщение
    Так что скорее всего адрес 1 воспримется как 0
    Почему же тогда с записи в ПЗУ 000001 программа стартует с 000400, а с записи 000010 стартует с адреса 004000? (измерено)

  5. #94

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,508
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    001 * 400 -> 400
    010 * 400 -> 4000

    Поменять местами ПЗУ не пробовали?

    - - - Добавлено - - -

    240*400 -> 1 010 000 000 000 000 120000 CMPB R0, R0 - никаких проблем при выполнении не будет и перейдёт к следующей ячейке

    Этот пользователь поблагодарил Hunta за это полезное сообщение:

    radist108(25.03.2022)

  6. #95

    Регистрация
    14.11.2017
    Адрес
    г. Санкт-Петербург
    Сообщений
    131
    Спасибо Благодарностей отдано 
    59
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    8 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Поменять местами ПЗУ не пробовали?
    Придется. Я бы это сделал сразу, но доказательством того, что ПЗУ находятся на своих местах, служит выдача на шину данных значения 000340 с адреса 000002

  7. #96

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,508
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Как я уже написал - такое ВПЕЧАТЛЕНИЕ. Я не утверждаю это. И проверить достаточно просто - поменять местами ПЗУ в панельках и посмотреть, какой адрес будет выставляться на шину процессорм.

    - - - Добавлено - - -

    Если перепутаны местами именно данные - вполне возможно. И если это так - по прикидками - проц должен выставить после первых двух действий на шину адрес или 0 или 1. Если выставит 0, то будет завис - так как 000001, считанный из ячейки 000000 - это команда WAIT, а с учётом приоритета 7 - никто прервать проц не сможет. А вот если выставит 0000001 - тут я даже не скажу, что будет - это надо знатоков ВМ2 трясти

    Этот пользователь поблагодарил Hunta за это полезное сообщение:

    radist108(25.03.2022)

  8. #97

    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    2,321
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    225
    Поблагодарили
    177 сообщений
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Коллеги, вы что-то путаете. Откуда вообще мог взяться адрес 000001 ? Нулевой адресный бит НЕ ДОЛЖЕН поступать на шину адреса памяти. Единственное место, где он используется для адресации памяти, это блокировка записи "неадресованного" байта при байтовой записи. Пишете четный байт, А0 блокирует запись нечетного; пишете нечетный - А0 блокирует запись четного. Ну, и еще вызывает на "больших" машинках Trap to 4 при попытке обращения к слову по нечетному адресу. И все. А то, что некоторые умельцы, используя тот факт, что LSI-11/03 и LSI-11/23 игнорируют обращение к слову по нечетному адресу, подсовывают туда что-то другое - это ни разу не правильное действие, в нормальных машинках этим не пользуются. Хотя бы из тех соображений, что перейди ты на машинку посерьезнее, и сразу же прилетит птица Обломинго. Хотя бы замени ВМ2 на ВМ3, и все, приплыли.

    А при чтении байта по любому адресу, хоть четному, хоть нечетному, читается слово целиком, а процессор, по внутреннему значению бита А0 (а не тому,который выставлен на шину), разбирается, откуда ему брать байт - из [15:8] или из [7:0]. Ну, а при чтении слова по нечетному адресу, младшие машинки LSI-11 просто игнорируют А0, а старшие делают Trap to 4.

    - - - Добавлено - - -

    Другими словами говоря, у PDP-11 не 64 К байт адресуемой памяти, а именно 32 К слов. Да, с дополнительной возможностью доступа к отдельным байтам, тем не менее! В машинках общего назначения из них 28К отводится под память, 4К - под страницу ввода-вывода. В контроллерных приложениях, естественно, можно сделать и по-другому... НО память у них, по-любому, СЛОВНАЯ!
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

    Этот пользователь поблагодарил AFZ за это полезное сообщение:

    radist108(25.03.2022)

  9. #98

    Регистрация
    14.11.2017
    Адрес
    г. Санкт-Петербург
    Сообщений
    131
    Спасибо Благодарностей отдано 
    59
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    8 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AFZ Посмотреть сообщение
    Пишете четный байт, А0 блокирует запись нечетного; пишете нечетный - А0 блокирует запись четного.
    А как же тогда писать слово целиком?

    - - - Добавлено - - -

    Вообще адрес 000001 я внёс чисто для теста. Посмотреть, откуда начнётся чтение ПЗУ

  10. #99

    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    2,321
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    225
    Поблагодарили
    177 сообщений
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от radist108 Посмотреть сообщение
    А как же тогда писать слово целиком?
    Командой записи слова. А0 берется во внимание только при записи БАЙТА.
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  11. #100

    Регистрация
    13.07.2018
    Адрес
    г. Переславль-Залесский
    Сообщений
    710
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    45
    Поблагодарили
    41 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    PDP-11 - словная машина с длинной слова 16-бит...
    И счётчик команд(R7 или PC) может быть только чётным. По сему там должен быть 0...
    А что у нас по адресу 0... Инструкция с кодом 000001 WAIT
    При этом слово состояния процессора 340 или 1110 0000.
    У процессора высокий приоритет... и висим...
    Это ежели всё работает как задумано...
    Тогда откуда 400 берётся? Тут Huta прав, если байты перепутаны - 1 в 400 и превращается, а 10 в 4000 по восьмеричному...
    А что у нас по адресу 400??? или 4000???
    Возможно влетели в какую-то особенность именно 1806ВМ2, но врядли, так как он почти копия 1801ВМ2. Но это слово "ПОЧТИ"...
    Насколько я помню, детально реверсу подвергли именно 1801ВМ2. На 1806ВМ2 столь детально не исследовали. Хотя могу и ошибаться...

Страница 10 из 19 ПерваяПервая ... 67891011121314 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Нужна помощь
    от sevol в разделе Для начинающих
    Ответов: 2
    Последнее: 03.08.2010, 08:26
  2. Нужна помощь!!!!
    от Biozoom в разделе Барахолка (архив)
    Ответов: 30
    Последнее: 28.06.2010, 13:00
  3. Нужна помощь
    от VNN_KCS в разделе Программирование
    Ответов: 78
    Последнее: 26.06.2010, 21:38
  4. Нужна помощь!!!!!
    от Alegator в разделе Несортированное железо
    Ответов: 2
    Последнее: 30.05.2010, 15:44
  5. Нужна помощь
    от Sonic в разделе Несортированное железо
    Ответов: 0
    Последнее: 06.02.2007, 12:12

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •