Важная информация

User Tag List

Страница 5 из 8 ПерваяПервая 12345678 ПоследняяПоследняя
Показано с 41 по 50 из 78

Тема: Разбираюсь с ассемблером К1801ВМ1

  1. #41
    Member
    Регистрация
    01.11.2013
    Адрес
    г. Красноярск
    Сообщений
    45
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Patron, хитро!
    Спасибо!
    Значит, программа перейдёт на 000 000 с адресом возврата и PSW в стеке
    Нет ничего более вечного чем то, что обмотано синей изолентой

  2. #42
    Member
    Регистрация
    01.11.2013
    Адрес
    г. Красноярск
    Сообщений
    45
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Опять вопрос:
    - в каком случае может возникнуть прерывание 000 360 ?
    Нет ничего более вечного чем то, что обмотано синей изолентой

  3. #43
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от darkstar Посмотреть сообщение
    в каком случае может возникнуть прерывание 360 ?
    Это вектор приёмника порта 176560 ( резервный адрес последовательного порта на плате ДВК ).

    Последовательный порт ДВК может быть настроен или на основной адрес 177560 ( вектор 60 ), или на резервный адрес 176560 ( вектор 360 ). Настройка на резервный адрес осуществляется для совместимости с КЦГД, который занимает основной адрес/вектор терминала ДВК.

  4. #44
    Member
    Регистрация
    01.11.2013
    Адрес
    г. Красноярск
    Сообщений
    45
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Бр-р-р! Ничего не понял
    Думалось мне, что это происходит так:
    1. по сигналу VIRQ происходит векторное прерывание.
    2. если прерывание разрешено, то на шину выдаётся вектор. Например 360.
    3. процессор идёт выполнять программу, адрес которой лежит в ячейке 360.
    Как-то так.
    Нет ничего более вечного чем то, что обмотано синей изолентой

  5. #45
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от darkstar Посмотреть сообщение
    Думалось мне, что это происходит так:
    1. по сигналу VIRQ происходит векторное прерывание.
    2. если прерывание разрешено, то на шину выдаётся вектор. Например 360.
    3. процессор идёт выполнять программу, адрес которой лежит в ячейке 360.
    Значит, на вопрос: "В каком случае может возникнуть прерывание 360 ?" - правильным ответом будет: "Когда устройство, пославшее сигнал VIRQ, выставляет на шину вектор 360".

    Мне известно только одно устройство, использующее вектор 360 - это приёмник последовательного порта 176560. Но в принципе - любое устройство, пославшее сигнал VIRQ, может выдать на шину любой вектор.

  6. #46
    Member
    Регистрация
    01.11.2013
    Адрес
    г. Красноярск
    Сообщений
    45
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сорри за корявый вопрос.
    Просто я подумал - а вдруг за этим номером жёстко что-нибудь закреплено в самой структуре процессора.
    По типу как есть свои номера прерываний по случаю аварии питания или прихода сигнала IRQ и прочее...

    Тогда другой вопрос:
    Возможно ли занять область памяти, предназначенную для векторов прерываний, какими-нибудь сторонними процедурами?
    Если точно известно, что прерываний с такими векторами не возникнет?
    Просто в штатном чипе очень мало свободного места. И прерываний используется всего ничего... а в самом начале свободные ячейки пустуют...
    Последний раз редактировалось darkstar; 31.01.2014 в 07:13.
    Нет ничего более вечного чем то, что обмотано синей изолентой

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

  8. #47
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от darkstar Посмотреть сообщение
    Возможно ли занять область памяти, предназначенную для векторов прерываний, какими-нибудь сторонними процедурами?
    Да, можно вообще всю область векторов заполнить своим кодом, перепрыгивая через ячейки "работающих" векторов.

  9. #48
    Member
    Регистрация
    01.11.2013
    Адрес
    г. Красноярск
    Сообщений
    45
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Записал команды в таблицу векторов.
    Работает
    Нет ничего более вечного чем то, что обмотано синей изолентой

  10. #49
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Процессор PDP-11 ничего не знает про "таблицу векторов", точно также как и про "память" или "регистры устройств" - для него это совершенно однотипные адреса на шине.

    Если у какого-то устройства на шине достаточно много регистров с последовательными адресами - можно записать код небольшой программы прямо в эти регистры и передать туда управление.

  11. #50
    Member
    Регистрация
    01.11.2013
    Адрес
    г. Красноярск
    Сообщений
    45
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Такой вопрос. Есть команда:
    CMPB R0,(R3)+
    после выполнения этой команды куда укажет R3?

    У меня есть два варианта:
    А. Как во всех других командах R3 = R3 + 2, поскольку адреса команд бывают только чётные
    или
    Б. R3 = R3 + 1, поскольку команда байтовая.

    Какой вариант верный?
    Интуитивно склоняюсь к Б
    Последний раз редактировалось darkstar; 19.02.2014 в 11:24.
    Нет ничего более вечного чем то, что обмотано синей изолентой

Страница 5 из 8 ПерваяПервая 12345678 ПоследняяПоследняя

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

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

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

Похожие темы

  1. К1801ВМ1 vs К1801ВМ1Г, для БК0010/11
    от Alex_Vac в разделе БК-0010/0011
    Ответов: 24
    Последнее: 24.12.2014, 22:08
  2. Помогите новичку с ассемблером!
    от Ares в разделе Программирование
    Ответов: 139
    Последнее: 08.05.2014, 16:28
  3. {Украина} Куплю микросхемы к1801ВП1-037,К1801ВП1-014,К1801ВМ1
    от palsw в разделе Барахолка (архив)
    Ответов: 29
    Последнее: 05.06.2012, 14:23
  4. Ответов: 15
    Последнее: 22.12.2011, 12:01
  5. Помогите разобраться с ассемблером
    от casperzx в разделе Программирование
    Ответов: 7
    Последнее: 07.09.2010, 22:27

Ваши права

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