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

User Tag List

Страница 4 из 8 ПерваяПервая 12345678 ПоследняяПоследняя
Показано с 31 по 40 из 78

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

  1. #31
    Activist
    Регистрация
    11.08.2009
    Адрес
    Минск
    Сообщений
    234
    Спасибо Благодарностей отдано 
    21
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Команда противоположная 001514: JSR PC,@001524(R4)
    типа возврата из подпрограммы, но лучше спросите на БК-шном форуме http://bk0010.org/forum/
    Последний раз редактировалось Ал-р; 24.12.2013 в 20:22.

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

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

    По умолчанию

    Ещё одно уточнение:
    Например команда TSTB R0, или другие команды с буковкой B.
    Они ведь производят действие только над младшим байтом?
    Нет ничего более вечного чем то, что обмотано синей изолентой

  4. #33
    Moderator Аватар для MM
    Регистрация
    20.04.2013
    Адрес
    г. Павловский Посад
    Сообщений
    4,134
    Спасибо Благодарностей отдано 
    470
    Спасибо Благодарностей получено 
    519
    Поблагодарили
    412 сообщений
    Mentioned
    42 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я как человек, порядка 29 лет работающий плотно с 1801ВМ1 скажу - по инструкции - так точно, а в реале - бабка надвое сказала - не менее 1% процессоров - невменяемые по этому параметру ( ИМХО - и побольше даже ).

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

    По умолчанию

    Цитата Сообщение от darkstar Посмотреть сообщение
    Ещё одно уточнение:
    Например команда TSTB R0, или другие команды с буковкой B.
    Они ведь производят действие только над младшим байтом?
    Если аргумент регистр, то ДА ( кроме того MOVB в регистр - размножает старший бит младшего байта на старший байт ). Если аргумент - адрес памяти, то работает с тем байтом, который находится по указанному адресу ( например TSTB @#0 тестирует байт по адресу 000000, а TSTB @#1 - по адресу 000001 ).

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

    По умолчанию

    Спасибо за разъяснения! Очень помогло.
    Ещё вопрос:
    Команда RESET ведь не сбрасывает сам процессор? Только дёргает какие-то внешние линии на манер инициализации? Т.е. сбрасывает внешние устройства, и продолжает выполнение команды по слеующему адресу?
    Если так, то какие линии дёргаются и в каком порядке?
    Нет ничего более вечного чем то, что обмотано синей изолентой

  7. #36
    Moderator Аватар для MM
    Регистрация
    20.04.2013
    Адрес
    г. Павловский Посад
    Сообщений
    4,134
    Спасибо Благодарностей отдано 
    470
    Спасибо Благодарностей получено 
    519
    Поблагодарили
    412 сообщений
    Mentioned
    42 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Команда 000005 - она подает сигнал INIT на МПИ, причем оччень долго.
    Для более серьезных процессоров - сбрасывает все внутренние регистры, но там есть хитрые варианты - впрочем, к ВМ1 это не относится.

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

    По умолчанию

    Цитата Сообщение от darkstar Посмотреть сообщение
    какие линии дёргаются и в каком порядке?
    Только линия INIT ( типа, у 1801ВМ1 по команде RESET сигнал INIT устанавливается на 200 тактов и потом ещё 500 тактов процессор ничего не делает ).

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

    По умолчанию

    Всё понял. Спасибо.
    Хорошо, что внутренние регистры не сбрасываются
    Нет ничего более вечного чем то, что обмотано синей изолентой

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

    По умолчанию

    Уже спрашивал на второй странице, но требуются пояснения.
    Есть команда BPT. Она вызывает программное прерывание по вектору 14.
    Но в таблице векторов (она находится в ПЗУ, так же, как и вся программа) такая картина:
    000 000: 000 577, т.е. BR 000 400 - переход к выполнению основной программы
    000 002: 000 000
    000 004: 037 036
    000 006: 000 200
    000 010: 036 754
    000 012: 000 200
    000 014: 000 000
    000 016: 000 000
    Что в этом случае произойдёт?
    В PSW запишется 000 000 и программа будет выполняться с адреса 000 000, пока не встретит команду RTT?
    А вернётся ли из этого прерывания по команде RTI?
    Или возникнет что-то типа HALT (т.е. IRQ1)?
    Или случится прерывание по вектору 10?

    И вообще, прерывание BPT - маскируемое? Т.е. к примеру, оно игнорируется, если PSW = 000 200?
    Последний раз редактировалось darkstar; 20.01.2014 в 07:34.
    Нет ничего более вечного чем то, что обмотано синей изолентой

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

    По умолчанию

    Цитата Сообщение от darkstar Посмотреть сообщение
    Что в этом случае произойдёт?
    По команде BPT в стек будут записаны PSW и PC, в PSW будет помещено содержимое ячейки 016, а в PC будет помещено содержимое ячейки 014.

    Никаких "обязательств" по последующему выполнению команд RTI / RTT команда BPT не накладывает - только совершает действия, описанные выше.

    ---------- Post added 21.01.2014 at 00:08 ---------- Previous post was 20.01.2014 at 23:59 ----------

    Также и команду RTI можно использовать когда угодно, а не только для завершения обработки прерывания. Например, чтобы записать в PSW биты, которые невозможно изменить командой MTPS - можно сделать так:

    Код:
    	MOV	#NewPSW, -(SP)
    	MOV	#Next,   -(SP)
    	RTI
    Next:
    Последний раз редактировалось Patron; 21.01.2014 в 01:03.

Страница 4 из 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

Ваши права

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