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

User Tag List

Страница 8 из 8 ПерваяПервая ... 45678
Показано с 71 по 78 из 78

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

  1. #71
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,560
    Спасибо Благодарностей отдано 
    1,223
    Спасибо Благодарностей получено 
    1,754
    Поблагодарили
    683 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Ал-р Посмотреть сообщение
    У нас никаких 8 нет и Fe тоже нет ...
    Да, ваша восьмиричная система жутко извращенская, поэтому я явно пишу префикс 0x перед шестнадцатиричными числами, которыми я легко оперирую, чтобы PDP-шники поняли, что это НЕ ВОСЬМЕРИЧНОЕ число)

  2. #72
    R.I.P. Аватар для hobot
    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    370
    Поблагодарили
    309 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Да, ваша восьмиричная система жутко извращенская,
    Ты флиртуешь? )
    http://www.lyceum95.ru/inform/ss_8.htm
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

  3. #73
    Veteran
    Регистрация
    06.05.2006
    Адрес
    Ливны, Орловская обл
    Сообщений
    1,169
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Он режет правду-матку, хексы рулят!

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

    По умолчанию

    Ещё один вопрос.
    Не вполне понимаю вот такой кусочек кода:
    Код:
    022 414: 020 127 CMP R1,#011 000
    022 416: 011 000
    022 420: 103 504 BCS 022 632
    Команда BCS осуществляет переход по адресу 022 632, если в результате сравнения случился перенос единицы из старшего разряда результата, т.е. бит С=1.
    При сравнении выполняется операция R1 минус 011 000.
    Теперь вопрос - в каком случае случится перенос (и произойдёт переход)?
    И то же самое, но в случае с командой BCC.
    Плохо у меня с математикой ...

    Так, по этим командам происходит сравнение чисел как беззнаковых.
    Например, R1 = 012 000.
    Тогда для двухбайтовых чисел мы получим: 012 000 - 011 000 = 001 000. Заимствования из старшего разряда не было. C=0.
    Если же, R1 = 010 000, то: 010 000 - 011 000 = 177 000. Произошло заимствование из старшего разряда. C=1.

    Полагаю, что переход по BCS произойдёт если R1 < 011 000,
    а для BCC - если R1 >= 011 000.
    Последний раз редактировалось darkstar; 30.10.2014 в 05:40.
    Нет ничего более вечного чем то, что обмотано синей изолентой

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

    По умолчанию

    Для ознакомления с кодом программы для 1801ВМ1 рекомендую поставить эмуль ДВК господина Patron - там есть пультовый режим, в котором можно набрать эти команды с клавы и проверить точно, при каких содержимых источника и приемника команды сравнения идет ветвление, и куда.

  6. #76
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,560
    Спасибо Благодарностей отдано 
    1,223
    Спасибо Благодарностей получено 
    1,754
    Поблагодарили
    683 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от darkstar Посмотреть сообщение
    Полагаю, что переход по BCS произойдёт если R1 < 011 000,
    а для BCC - если R1 >= 011 000.
    Будет все наоборот, т.к. (на сколько я помню) при вычитании и сравнении флаг переноса используется инверсный, в отличие от того же Z80.

    C – очищается, если был перенос из старшего разряда результата, в противном случае устанавливается. Перенос может произойти в том случае, если операнд источника был больше или равен нулю, а операнд приёмника – меньше нуля, или если операнды источника и приёмника были одного знака, а результат получился меньше нуля.

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

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

    По умолчанию

    MM, можно по-подробнее про пультовый режим?
    DVK Emulator уже стоит.
    Как можно напрямую ввести команды и просмотреть содержимое флагов?
    Нет ничего более вечного чем то, что обмотано синей изолентой

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

    По умолчанию

    В эмуле ДВК надо выйти в пульт и набрать циферками машкод. Например, такой текст :
    022727 123456 012345 -
    сравнить число "123456" и число "012345"
    Далее поставить необходимую команду ветвления, например ( вообще ) :
    001004
    012737 000100 177566 000000
    012737 000101 177566 000000
    Команда ( пример ) 001004 - ветвление на 4 слова вперед, если выполнится какое-то условие, в данном конкретном случае - неравенство в команде сравнения.
    Запись числа "100" в регистр "177566" означает вывод символа "@", а числа "101" - знака "А".

Страница 8 из 8 ПерваяПервая ... 45678

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

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

Эту тему просматривают: 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

Ваши права

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