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

User Tag List

Страница 1 из 10 12345 ... ПоследняяПоследняя
Показано с 1 по 10 из 97

Тема: Вопросы программирования на ПЭВМ "ИРИША", "ИРИША-Л" и "ИРИША-М"

  1. #1
    Banned
    Регистрация
    04.03.2010
    Адрес
    Россия. Пятигорск.
    Сообщений
    2,296
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ...
    Последний раз редактировалось Viktor2312; 01.02.2016 в 16:59.

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

  3. #2
    R.I.P.
    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Кое что уже делали
    вот ссылка
    я в ковырял там большой кусок, особенно с conout

  4. #3
    Veteran Аватар для KokaF77
    Регистрация
    22.09.2010
    Адрес
    Крымск
    Сообщений
    1,151
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Viktor2312, ты меня извини..., но это больше похоже на изучение ассемблера для ВМ80.
    Посмотри 2-ой пост в этой теме -не пожалеешь, там esl давал ссылку на свои изыскания, он проделал очень большую работу. Практически всё разложено по полочкам: видна структура BOOTM и CONOUT.
    В таблице 9.1 есть несколько ошибок, перепутаны адреса подпрограмм: "CONIN", "CONSTAT", ".AROMR".
    Цитата Сообщение от esl Посмотреть сообщение
    названия функция по красной книжке, очень похоже на правду
    кроме того что в таблице входов ошибка
    58: AROMR
    5B: CONST
    5E: CONIN

    а реально

    58: CONST
    5B: CONIN
    5E: AROMR
    Посмотри аттач к этому посту.
    Разыскиваю всё, что связано с ПЭВМ "Ириша".

  5. #4
    Veteran Аватар для KokaF77
    Регистрация
    22.09.2010
    Адрес
    Крымск
    Сообщений
    1,151
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Viktor2312, не воспринимай так близко к сердцу, помочь хочется.
    Посмотри это http://zx.pk.ru/attachment.php?attac...4&d=1295181617, esl выкладывал. Там листинги (ИДА не нужна), правда мнемоника Z80. Если подождёшь до завтра, конвертну в формат ВМ80 (софт на другом компьютере, не сподручно). Могу выложить то что сделал esl, в таком же варианте, думаю он не будет против .
    Очень хороший вариант для изучения это эмулятор b2m.
    http://bashkiria-2m.narod.ru/
    http://bashkiria-2m.narod.ru/files/emu.rar
    В нём есть встроенный отладчик, очень хороший, можно всё смотреть как в живую. И память и регистры процессора. Попробуй.

    ---------- Post added at 01:16 ---------- Previous post was at 01:14 ----------

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    Вот это оно?
    Да. В тех листингах о которых я упомянул это всё видно.
    Последний раз редактировалось KokaF77; 15.09.2011 в 01:22.
    Разыскиваю всё, что связано с ПЭВМ "Ириша".

  6. #5
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,846
    Спасибо Благодарностей отдано 
    83
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    166 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KokaF77 Посмотреть сообщение
    Очень хороший вариант для изучения это эмулятор b2m.
    http://bashkiria-2m.narod.ru/
    http://bashkiria-2m.narod.ru/files/emu.rar
    В нём есть встроенный отладчик, очень хороший, можно всё смотреть как в живую. И память и регистры процессора. Попробуй.
    Вот именно, попробуй. А чтобы облегчить тебе задачу, расскажу, как я бы делал:
    1. Запускаем эмулятор, выбираем "Иришу".
    2. В меню выбираем View/Start debugger
    3. Перемещаемся на адрес 0000 (нажать Ctrl+G, ввести в верхнее поле 0)
    4. Ставим точку останова (нажать F9)
    5. Запускаем прерванную эмуляции (нажать F5)
    6. Нажать на тулбаре красную кнопку "Reset" (или нажать Ctrl+Break), снова появится отладчик, PC будет 0000, остальные регистры не изменились, но можно перейти туда клавишей Tab и установить нули. Таким образом получим ситуацию как после включения.
    7. Нажимая клавишу F8 смотрим результат исполнения каждой команды.

    В принципе, вместо пунктов 3-6 можно просто установить все регистры в ноль, включая и PC, получится то-же самое.

    И никаких справочников не надо

  7. #6
    Veteran Аватар для KokaF77
    Регистрация
    22.09.2010
    Адрес
    Крымск
    Сообщений
    1,151
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    небольшая подпрограмма которая начинается с адреса 006FH нет случайно чего нибуд по этой подпрограмме
    В мнемонике ВМ80:
    Код:
    ROM:006F             _LDIR:
    ROM:006F
    ROM:006F 7E                          mov     a, m
    ROM:0070 12                          stax    d
    ROM:0071 23                          inx     h
    ROM:0072 13                          inx     d
    ROM:0073 0B                          dcx     b
    ROM:0074 78                          mov     a, b
    ROM:0075 B1                          ora     c
    ROM:0076 C2 6F 00                    jnz     _LDIR
    ROM:0079 C9                          ret
    В мнемонике Z80:
    Код:
    ROM:006F             _LDIR:
    ROM:006F
    ROM:006F 7E                          ld      a, (hl)
    ROM:0070 12                          ld      (de), a
    ROM:0071 23                          inc     hl
    ROM:0072 13                          inc     de
    ROM:0073 0B                          dec     bc
    ROM:0074 78                          ld      a, b
    ROM:0075 B1                          or      c
    ROM:0076 C2 6F 00                    jp      nz, _LDIR
    ROM:0079 C9                          ret
    Эта подпрограммка аналог команды пересылки LDIR микропроцессора Z80: загрузка с инкрементом до BC=0.

    Действие команды подобно пересылке блока данных при ПДП. Как для
    адресации, так и для счётчика байтов отведено по 16 бит, т.о. могут обрабатываться блоки любой
    длины и в любом месте памяти. Блоки данных могут также перекрываться. При HL=DE команда
    теряет смысл т.к. источник и приёмник идентичны. Следует обратить внимание, что при
    обработке команды сначала пересылаются данные, только затем декрементируется ВС, и на
    основании этого решается вопрос о цикличности команды, выполнять дальнейшую пересылку
    данных либо прекратить команду. После выполнения команды BC=0.
    У ВМ80 её нет, поэтому есть эта подпрограмма.

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    ... она пишет информацию в память начиная с адреса FF74H.
    Я так понял ты об этом фрагменте:
    Код:
    ROM:024B 21 97 00                    lxi     h, 0097h
    ROM:024E 01 10 00                    lxi     b, 10h
    ROM:0251 11 74 FF                    lxi     d, FF74h
    ROM:0254 CD 6F 00                    call    _LDIR
    С адреса FF74h располагается "область сохранения текущего режима ASRAR" (16 байт) программы CONOUT. Здесь заносятся в эту область начальные значения, при инициализации системы. В HL загружаем адрес откуда переслать, в DE - куда, в BC - сколько байт.

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    И ещё один вопросик я так понял, что с адреса 0000H начинается программа BOOTM и почти 8 Кбайт занимает заканчивается адресом 1BFF.
    Потом с адреса 2000H начинается CONOUT и заканчивается адресом 3FFF. А с адреса 4000H начинается ОЗУ?
    Так и есть. Только это верно при включенной нулевой карте памяти.
    По поводу BOOTM: для неё отведён диапазон адресов в ПЗУ 0000-1FFFh.

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    И все программы грузятся в ОЗУ с адреса 4000H, так как адреса ниже просто не доступны для записи, так как это ПЗУ?
    Опять же это верно для нулевой карты памяти. Она включается при старте компьютера, а так же когда необходимо обратиться к подпрограммам находящимся в ПЗУ модуля процессора. При включении других карт памяти, в этой области располагается ОЗУ. При выборе программы "МОНИТОР" в стартовом меню, включается первая карта. А в ней по адресам ниже 4000h располагается ОЗУ.

    Ниже пара карт распределения памяти из МПСиС.

    Эта попроще.
    Цитата Сообщение от KokaF77 Посмотреть сообщение
    PC2,3
    00 - ROM,RAM1,RAM2,VRAM
    01 - RAM3,RAM1,RAM2,VRAM
    10 - RAM3,RAM1,RAM2,RAMx
    11 - VRAM,RAM1,RAM2,RAM3

    RAMx - 3 страница (P0=1, P1=1), адреса 0000h-3FFFh
    Её достаточно для запуска ПЭВМ в минимальной конфигурации. А так же для работы с МСИ.

    Эта посложнее.
    PC2,3
    00 - ROM,RAM1,RAM2,VRAM
    01 - RAM3,RAM1,RAM2,VRAM
    10 - RAM3,RAM4,RAM2,RAM5
    11 - RAM3,RAM6,RAM2,RAM7
    Именно эта карта необходима для взаимодействия МП с КНГМД.
    Последний раз редактировалось KokaF77; 15.09.2011 в 17:58.
    Разыскиваю всё, что связано с ПЭВМ "Ириша".

  8. #7
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,846
    Спасибо Благодарностей отдано 
    83
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    166 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    И правильно ли я понял, что если стоит "-" тире, то это означает, что бит сброшен (равен лог.0), а если он обозначен, значет установлен (равен лог.1). Тогда если все биты регистра признаков будут установлены в состояние лог.0 будет так отображаться: ----- , а если они установлены то так: SZ(AC)PC . Бит вспомогательного переноса АС обозначил в скобочках, так как не знаю как он будет отображаться, так как на него выделено одно знакоместо, но думаю скорее всего просто "А"???
    Всё правильно. Менять значение флагов можно пробелом.
    Последний раз редактировалось Mick; 15.10.2011 в 12:46.

  9. #8
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,846
    Спасибо Благодарностей отдано 
    83
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    166 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А какими командами (или Esc-последовательностями) задаётся режим экрана для CONOUT? Через порты переключить несложно, но драйвер вывода об этом ведь не узнает.

  10. #9
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,846
    Спасибо Благодарностей отдано 
    83
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    166 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    В двух словах, можешь объяснить что значит Esc-последовательности.
    В двух словах: это такая последовательность символов, начинается кодом 1Bh (код клавиши Esc), затем буква, означающая для драйвера консоли определённую функцию, ну и параметры могут быть, заканчивающиеся иногда символом ]. Есть стандарты, VT52, VT100, но могут быть и расширения, например для управления режимом экрана.

  11. #10
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,846
    Спасибо Благодарностей отдано 
    83
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    166 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    И в итоге при записи хоть 98H, ноть 9AH у нас происходит вот такой казус
    Казус может быть и не показался бы казусом, если изменить палитру командой O1,D9. Обрати внимание на ширину пикселей случайных данных в верхней части экрана (после O98,D8).

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    Так что получается эмулятор бесполезен в плане написания программ, если требуется переключение между режимами, он всегда нам отображает содержимое как в режиме 2 (Цветной среднего разрешения, 320 х 200 точек), а содержимое регистра управления не соответствует действительности. Жалко...
    Бесполезен для людей, которые не пытались что-либо написать
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	640x320.gif 
Просмотров:	293 
Размер:	4.8 Кб 
ID:	30766  

Страница 1 из 10 12345 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 23
    Последнее: 02.02.2023, 21:21
  2. FAQ по ПЭВМ "ИРИША", "ИРИША-Л" и "ИРИША-М"
    от Viktor2312 в разделе Ириша
    Ответов: 5
    Последнее: 04.10.2016, 02:32
  3. Ответов: 14
    Последнее: 14.11.2012, 21:53
  4. Ответов: 42
    Последнее: 15.06.2012, 07:51
  5. В помощь собирающим ПЭВМ "Ириша-М". Продажа
    от Viktor2312 в разделе Барахолка (архив)
    Ответов: 13
    Последнее: 08.06.2011, 17:30

Ваши права

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