Последние темы
» Вити больше нет!автор bug19 Пн Фев 20 2023, 19:54
» Собираем оригинальный Орион 128
автор bug19 Пн Фев 20 2023, 19:47
» Проблема плющеного экрана ОРИОНА
автор kanzler Пн Ноя 28 2022, 12:05
» Орион 128 и его клоны возрождение 2019-2022 год
автор kanzler Пн Ноя 28 2022, 12:03
» Электроника КР-04. Информация, документы, фото.
автор kanzler Пн Ноя 28 2022, 12:02
» Новости форума
автор kanzler Пн Ноя 28 2022, 11:52
» Орион-128 НГМД запуск 2021 года
автор matrixplus Сб Сен 10 2022, 17:36
» ПЗУ F800 для РК86
автор ведущий_специалист Сб Сен 10 2022, 10:37
» Микропроцессорная лаборатория "Микролаб К580ИК80", УМК-80, УМПК-80 и др.
автор Электротехник Вт Июл 26 2022, 19:33
» Орион-128 SD карта в Орионе
автор matrixplus Чт Июн 02 2022, 09:00
» 7 Мая. День Радио!
автор Viktor2312 Чт Май 12 2022, 10:58
» Серия: Массовая радио библиотека. МРБ
автор Viktor2312 Ср Май 11 2022, 12:17
» Полезные книги
автор Viktor2312 Пн Май 09 2022, 15:07
» Орион 128 Стандарты портов и системной шины Х2
автор matrixplus Вс Май 08 2022, 23:08
» Орион-128 и Орион ПРО еще раз про блоки питания
автор matrixplus Вс Май 08 2022, 19:09
» Орион-128 Программаторы
автор matrixplus Вс Май 08 2022, 19:02
» Орион ПРО история сборки 2021 до 2022
автор matrixplus Вс Май 08 2022, 18:47
» Анонсы монет (New coin).
автор Viktor2312 Сб Май 07 2022, 23:11
» Хочу свой усилок для квартиры собрать не спеша
автор Viktor2312 Сб Май 07 2022, 19:33
» Амфитон 25у-002С
автор Viktor2312 Сб Май 07 2022, 09:38
» Майнер: T-Rex
автор Viktor2312 Вс Май 01 2022, 09:12
» GoWin. Изучение документации. SUG100-2.6E_Gowin Software User Guide. Среда разработки EDA.
автор Viktor2312 Пн Апр 25 2022, 01:01
» GoWin. Изучение документации. UG286-1.9.1E Gowin Clock User Guide.
автор Viktor2312 Сб Апр 23 2022, 18:22
» GoWin. Documentation Database. Device. GW2A.
автор Viktor2312 Ср Апр 20 2022, 14:08
» GOWIN AEC IP
автор Viktor2312 Ср Апр 20 2022, 12:08
Самые активные пользователи за месяц
Нет пользователей |
Поиск
Архив, всё в каше, но можно выдрать и что-то полезное.
Страница 1 из 1 • Поделиться
Архив, всё в каше, но можно выдрать и что-то полезное.
1
В эмуляторе в варианте ГМД-70 пытаюсь разобраться с загрузкой.
После старта и выбора в меню варианта "диск" грузим загрузочный сектор с адреса A000H и передаем ему управление.
Дальше у меня тупик c адреса a011h:
mvi a, 27h
out 50h ; это мы отдаем команду читать сектор, дальше ГМД должен по ТРБ запросить сектор и дорожку
call a070h ; по идее уходим в ожидание ТРБ
mov a,c
out 51h ; отдаем номер сектора и т.д.
НО, подпрограмма по a070h какая-то непонятная
a070h:
in 50h ; читаем статус (старший бит =1 когда ТРБ активен)
ral
jc a070h ; то есть гоняем цикл пока ТРБ есть
ret
По идее мы должны гонять цикл пока ТРБ нет, а как ТРБ пришел выйти из подпрограммы и пойти смело засылать номер сектора.
Где я неправ?
____________________________________
JNC спасёт мир
____________________________________
Ладно, будет тебе результат (предварительный уже на сайте).
Столкнулся с тремя непонятными вещами.
1. В загрузчике есть такой код (ожидание ТРБ):
Т.е. если старший бит установлен, то ждём, когда можно будет считать байт.
Однако в БИОСе Ириши имеем такой код:
Т.е. если старший бит не установлен, то ждём.
Сделал пока "заглушку" - старший бит то установлен, то нет.
2. Размер БИОСа ГМД 300h, загружается он по адресу 0BA00h, т.е. последний байт у него по адресу 0BCFFh. Однако в коде БИОСа есть CALL 0BD00h. Спрашивается, где ещё один сектор и что там было?
Сделал пока "заглушку" - очистку пары байтов по адресу 0003h и RET
3. Поскольку самого CP/M KokaF77 для версии дисковода ГМД не предоставил, я использовал от контроллера на ВГ75 (в котором она зашита в ПЗУ). Поскольку она независима от БИОСа, то она работает. Однако при "горячей" загрузке (например, когда нажимаем Ctrl+C, или происходит выход из программы обратно в CP/M) БИОС, после подгрузки CP/M с диска, прыгает куда-то внутрь CP/M, и очевидно, не туда, куда надо. В аналогичной ситуации БИОС контроллера на ВГ75 прыгает по адресу 0A400h, т.е. на самое начало командного процессора.
Сделал пока "заглушку" - JMP 0A400h вместо странного перехода.
---------- Post added at 19:26 ---------- Previous post was at 17:54 ----------
KokaF77, ты БИОС сам набирал, или с дискетки какой-то удалось считать? Потому как там вроде в таблице трансляции секторов ошибка есть - нету сектора 19h, но есть сектор 00h. В результате, считывается не совсем то, что записывается (а в эмуляторе номер сектора не контролируется ).
_________________________________________
А в биосе CP/M есть ещё один:
Похоже, что с загрузчиком не всё однозначно...
Есть такой вызов... по адресу BA85h, а с адреса BA80h начинается BOOT (холодный старт системы). Сказать пока ничего не могу, этого куска у меня нет, увы. В этой области, после старта системы, начиная с адреса BCF8h располагается какой-то буфер.
___________________________________________
Есть ошибка! По адресу BA6Ah должно быть 19h.
_____________________________________________
После старта и выбора в меню варианта "диск" грузим загрузочный сектор с адреса A000H и передаем ему управление.
Дальше у меня тупик c адреса a011h:
mvi a, 27h
out 50h ; это мы отдаем команду читать сектор, дальше ГМД должен по ТРБ запросить сектор и дорожку
call a070h ; по идее уходим в ожидание ТРБ
mov a,c
out 51h ; отдаем номер сектора и т.д.
НО, подпрограмма по a070h какая-то непонятная
a070h:
in 50h ; читаем статус (старший бит =1 когда ТРБ активен)
ral
jc a070h ; то есть гоняем цикл пока ТРБ есть
ret
По идее мы должны гонять цикл пока ТРБ нет, а как ТРБ пришел выйти из подпрограммы и пойти смело засылать номер сектора.
Где я неправ?
____________________________________
JNC спасёт мир
____________________________________
Ладно, будет тебе результат (предварительный уже на сайте).
Столкнулся с тремя непонятными вещами.
1. В загрузчике есть такой код (ожидание ТРБ):
- Код:
RAM:A070 ; --------------- S U B R O U T I N E ---------------------------------------
RAM:A070
RAM:A070
RAM:A070 sub_A070: ; CODE XREF: RAM:A015p
RAM:A070 ; RAM:A01Bp ...
RAM:A070 DB 50 in 50h
RAM:A072 17 ral
RAM:A073 DA 70 A0 jc sub_A070
RAM:A076 C9 ret
RAM:A076 ; End of function sub_A070
Т.е. если старший бит установлен, то ждём, когда можно будет считать байт.
Однако в БИОСе Ириши имеем такой код:
- Код:
044A: 0E 80 MVI C, 80h
044C: DB 50 IN 50h
044E: 17 RAL
044F: D2 4C 04 JNC 044Ch
0452: DB 51 IN 51h
0454: 77 MOV M,A
0455: 23 INX H
0456: 0D DCR C
0457: C2 4C 04 JNZ 044Ch
Т.е. если старший бит не установлен, то ждём.
Сделал пока "заглушку" - старший бит то установлен, то нет.
2. Размер БИОСа ГМД 300h, загружается он по адресу 0BA00h, т.е. последний байт у него по адресу 0BCFFh. Однако в коде БИОСа есть CALL 0BD00h. Спрашивается, где ещё один сектор и что там было?
Сделал пока "заглушку" - очистку пары байтов по адресу 0003h и RET
3. Поскольку самого CP/M KokaF77 для версии дисковода ГМД не предоставил, я использовал от контроллера на ВГ75 (в котором она зашита в ПЗУ). Поскольку она независима от БИОСа, то она работает. Однако при "горячей" загрузке (например, когда нажимаем Ctrl+C, или происходит выход из программы обратно в CP/M) БИОС, после подгрузки CP/M с диска, прыгает куда-то внутрь CP/M, и очевидно, не туда, куда надо. В аналогичной ситуации БИОС контроллера на ВГ75 прыгает по адресу 0A400h, т.е. на самое начало командного процессора.
Сделал пока "заглушку" - JMP 0A400h вместо странного перехода.
---------- Post added at 19:26 ---------- Previous post was at 17:54 ----------
KokaF77, ты БИОС сам набирал, или с дискетки какой-то удалось считать? Потому как там вроде в таблице трансляции секторов ошибка есть - нету сектора 19h, но есть сектор 00h. В результате, считывается не совсем то, что записывается (а в эмуляторе номер сектора не контролируется ).
_________________________________________
А в биосе CP/M есть ещё один:
- Код:
BCA9: DB 50 IN 50h
BCAB: 17 RAL
BCAC: D2 A9 BC JNC BCA9h
BCAF: C9 RET
Похоже, что с загрузчиком не всё однозначно...
2. Размер БИОСа ГМД 300h, загружается он по адресу 0BA00h, т.е. последний байт у него по адресу 0BCFFh. Однако в коде БИОСа есть CALL 0BD00h. Спрашивается, где ещё один сектор и что там было?
Есть такой вызов... по адресу BA85h, а с адреса BA80h начинается BOOT (холодный старт системы). Сказать пока ничего не могу, этого куска у меня нет, увы. В этой области, после старта системы, начиная с адреса BCF8h располагается какой-то буфер.
___________________________________________
Потому как там вроде в таблице трансляции секторов ошибка есть - нету сектора 19h, но есть сектор 00h.
Есть ошибка! По адресу BA6Ah должно быть 19h.
_____________________________________________
Viktor2312- RIP
- Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск
Re: Архив, всё в каше, но можно выдрать и что-то полезное.
2
А на рисунке 3.16 в книге косячок небольшой обозначено два резистора R39. Тот что имеет сопротивление 7,5 кОм всё правильно, а тот что имеет сопротивление 100 кОм надо переименовать как R38 идёт на вывод 3 МС D7.2 К555ТЛ2.
Viktor2312- RIP
- Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск
Re: Архив, всё в каше, но можно выдрать и что-то полезное.
3
Вот нашел у себя кусочек кода.
Может пригодится.
Остальное еще или пока не успел дизассемблировать.
Скачать IO_ForIr.asm.rar
Viktor2312- RIP
- Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск
Re: Архив, всё в каше, но можно выдрать и что-то полезное.
4
вот _Irisha_Disassm_esl.zipекспортнул из IDA
собственно тут по большому счету только toplevel вызовов приведен в хоть какой-то вид
глубже особо не копал, нужно только если детали выяснять
названия функция по красной книжке, очень похоже на правду
кроме того что в таблице входов ошибка
58: AROMR
5B: CONST
5E: CONIN
а реально
58: CONST
5B: CONIN
5E: AROMR
Скачать _Irisha_Disassm_esl.zip
Viktor2312- RIP
- Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск
Re: Архив, всё в каше, но можно выдрать и что-то полезное.
5
Немного информации:
Барбалат Ю. А., Гармаш А. В. Комплекс обучающих программ для ПЭВМ "ИРИША" (ТИТРИМЕТРИЯ). — Химический факультет МГУ Москва, 1991. — с. 69.
ПО - имеется две кассеты.
1-я кассета от авторов, на ней (если конечно удастся каким-то образом прочитать):
- Текстовый редактор IRITEXT
- FORTH INTERV (разработка авторов Ириши)
- игра STAKAN
- IBASIC
- RTV
- SMON
2-я кассета от знакомого (очевидно у него тоже была Ириша), на ней:
- Ассемблер "Ириша" (знакомый сам его написал с его слов).
Еще в тетрадке есть список ПО ПЭВМ "ИРИША" (очевидно что на тот момент уже было у авторов):
01. Резидентное ПО (в кодах, прошивках микросхем)
02. ОС "IRISHA" с утилитами POWER, DDT, CONFIG, M&O, LINK, SID
03. Бэйсик FS-III. Бэйсик = MBas + GRAFIC
04. FORTRAN (F80)
05. FORTH (разработка авторов "ИРИШИ")
06. PASCAL MT+
07. C BDS 1.50
08. Редакторы WORDSTAR, WORDMASTER, IRITEXT, графический монохромный редактор PIC (все это комплект программ "ДОКУМЕНТ")
09. D BASE II (база данных)
10. Демонстрационные программы 3-4 шт.
11. Игровые программы 3-4 шт.
Литература по ПЭВМ "ИРИША":
1. Микропроцессорные средства и системы № 1, 1986, с.61-72;
2. Микропроцессорные средства и системы № 2, 1986, с 52-62, с.65;
3. Микропроцессорные средства и системы № 3, 1986, с.53-64, с.78;
4. Микропроцессорные средства и системы № 4, 1986, с.79-89;
5. Микропроцессорные средства и системы № 6, 1987, с.56-68 (у меня есть);
6. книга "Персональный компьютер ИРИША /Барышников В. Н., Воронов М. А., Кулаков В. В. и др. - М.: Патриот, 1990. - 176 с., ил. (у меня есть).
Барбалат Ю. А., Гармаш А. В. Комплекс обучающих программ для ПЭВМ "ИРИША" (ТИТРИМЕТРИЯ). — Химический факультет МГУ Москва, 1991. — с. 69.
Последний раз редактировалось: Viktor2312 (Чт Ноя 03 2016, 14:18), всего редактировалось 1 раз(а)
Viktor2312- RIP
- Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск
Re: Архив, всё в каше, но можно выдрать и что-то полезное.
6
Вот, тут продолжая делать плату МП, обнаружил небольшую опечатку в книге - у микросхемы D30 два вывода с номером 19. Слева вывод 19 - D*5 и это правильно, а вот справа, сигнал D2, вывод 11, ошибочно обозначен тоже как девятнадцатый.
Viktor2312- RIP
- Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск
Re: Архив, всё в каше, но можно выдрать и что-то полезное.
7
Кое-что нарыл в журналах об использовании памяти...
"Использование ОЗУ
Коды МикроДОС-ИРИША и область тран-
зитных программ в части ОЗУ, соответствую-
щей карте 3 памяти, занимают сегменты с адре-
сами C000...FFFFH и 4000...7FFFH, поэтому
транзитным программам непосредственно не-
доступна область видеоОЗУ из карт 0 и 1 памя-
ти. Кроме того, в МикроДОС-ИРИША емкость
электронного диска D: на 16К меньше, чем в
ОС ИРИША (теряется содержимое последнего
трека диска D: ), а общая часть диска D: в
МикроДОС-ИРИША и в ОС ИРИША интерпре-
тируется совершенно одинаково.
Вниманию программистов. Для организации
обращений к резидентной программе CONOUT
ПЭВМ ИРИША, находящейся в нулевой карте
памяти. МикроДОС-ИРИША используется об-
ласть 003BH...005AH нулевой страницы памяти
в карте 3."
МПСиС №6, 1990г., стр.38
Viktor2312- RIP
- Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск
Re: Архив, всё в каше, но можно выдрать и что-то полезное.
8
КНГМД. Общение с памятью.
map23
mapk
Собственно, рисунки и комментарии к ним.
Рис 1. Карты памяти ЦП [2-я (голубая) и 3-я (оранжевая)] в более наглядном виде, раннее я давал ссылку на ехель-таблички.
Рис 2. Отображение на адресное пространство системной шины памяти КНГМД.
Системная шина (System BUS):
PAGE - номер страницы, сигналы P0 и P1.
ADRESS - A0,...,A15.
MAP - окошки по 16 КБ, RAMn (по мотивам обозначений из МПСиС).
CPU - тут, наверное, всё понятно. То что видит профессор...
D11 - ПЗУ с ОС CP/M.
D9, D10 - ПЗУ РОМ-диска.
bank 1 и bank 2 - ОЗУ, разбито на два банка. Каждый банк может иметь от 64 КБ (РУ5) до 256 КБ (РУ7). РУ7-ые ставятся как родные, печатка и схема модуля под это заточена.
P.S. Карта для КНГМД дана на момент инициализации ОС. После, она меняется. Да, и в процессе работы ОС дешифратор памяти, 1802ИР1, постоянно переконфигурируется.
map23
mapk
Viktor2312- RIP
- Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск
Re: Архив, всё в каше, но можно выдрать и что-то полезное.
9
Предположительно, но не точно:
на рис 12.5 в красной книжечке. Мне кажется там неправильно обозначены выводы у микросхем К573РФ2. Вывод 12 стал вдруг сигналом 4 т. е. D3, а должен идти на землю, так как это питание микросхемы. Вывод 24 - +5В
12 - GND
соответственно вывод 12 надо переименовать в 13, а вывод 13 переименовать в 14.
И сигналы ОЕ и CS перепутаны, надо местами поменять вывод 18 обозначить как 20, а вывод 20 переименовать в 18.
И вывод 21 Vpp надо к +5В подсоединить.
Viktor2312- RIP
- Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск
Re: Архив, всё в каше, но можно выдрать и что-то полезное.
10
дамп ПЗУ контроллера НГМД (вариант на WD)
Скачать KNGMD_2764_вар_на_WD.zip
Скачать Irisha_re3_rt4_вар_на_WD.zip
Скачать KNGMD_2764_вар_на_WD.zip
Скачать Irisha_re3_rt4_вар_на_WD.zip
Viktor2312- RIP
- Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск
Re: Архив, всё в каше, но можно выдрать и что-то полезное.
11
Надо подключить винчестер (простейший вариант - на 580ВВ55+ЛН1, более сложный - контроллер из кучки регистров) и написать программу. И то и другое я делал на Орионе (например, версию CP/M работающую на IDE), работало... С SD-картами аналогично: контролер от 4-х ... серии 155 (регистры, буферы) и более (как МСХ, так и по производительности), и подпрограмма чтения/записи сектора. А далее на базе этой п\п - и CP/M и что угодно.
Что IDE, что SD с точки зрения программинга и разработки схемы согласования с ПК более просты чем дисковод, т.к. имеют внутренние контролеры, и благодаря синхронизируемым с хоста алгоритмам обмена не привязаны к скорости работы носителя (тогда как для НГМД важно чтобы комп успевал за вращением диска, что в случае с i8080 не всегда так). Команды управления IDE - гуглить про ATA-команды.
ide-sch
Последний раз редактировалось: Viktor2312 (Чт Ноя 03 2016, 14:20), всего редактировалось 1 раз(а)
Viktor2312- RIP
- Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск
Re: Архив, всё в каше, но можно выдрать и что-то полезное.
12
Попрбовал вставить. Всё нормально вставляется.
Viktor2312- RIP
- Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск
Re: Архив, всё в каше, но можно выдрать и что-то полезное.
13
Собираем, делаем... Кросс-плата (КП_Ириша-М).
Итак, у нас имеется теперь в наличии кросс-плата, смотрим фото КП_01, а соответственно, можно начать запаивать её потихоньку.
Из описания самой кросс-платы можно сказать следующее: плата заводская, одностороняя, со стороны дорожек имеется паяльная маска, толщина текстолита 1,5 мм.
Итак для начала нам необходимо запаять блокировочные конденсаторы, я запаял по 0,1 мкФ, и светодиоды с ограничительными резисторами, включёнными последовательно со светодиодами. Цвета светодиодов следующие:
+5В - красный;
+12В - жёлтый;
-15В - зелёный.
И соответственно, для того чтобы избежать путаницы, провода идущие от блока питания нужно использовать таких же цветов:
красный - (+5В);
жёлтый - (+12В);
зелёный - (-15В);
чёрный - Земля (GND).
Провода подсоединяются к клеммникам, для земли (GND) использован трёх контактный клеммник (смотрим фото Клеммник_3кон), а для напряжений питания двух контактные клеммники(смотрим фото Клеммник_2кон), соответственно и проводов используется столько же, это зделано в первую очередь, для повышения надёжности, если один провод отсоеденится, то напряжение будет по второму всё равно подаваться.
Клеммники также необходимо запаять.
Сопротивления ограничивающих резисторов желательно подобрать, так чтобы через светодиод протикал его номинальный ток. У меня стоят резисторы по 1 кОм для +12В и -15В, а для +5В - 510 Ом. После запайки всего выше перечисленного необходимо проверить, подав соответствующие напряжения питания, смотрим фото КП_02 и КП_03.
Viktor2312- RIP
- Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск
Re: Архив, всё в каше, но можно выдрать и что-то полезное.
14
29.06.2011г.
Ну вот наконецтаки и закончил, я делать корзину. Позже постараюсь сделать более подробное описание процесса изготовления. А теперь стоит другая задача "имплантировать" её в корпус, который также предстоит ещё разработать с учётом габаритов и размеров блока питания.
Вот как она выглядит:
Viktor2312- RIP
- Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск
Re: Архив, всё в каше, но можно выдрать и что-то полезное.
15
Не стал создавать отдельную тему по данному устройству, а стоило бы думаю. Как никак содержит две печатные платы, кучу разъёмчиков и главное, кучу косяков в электрической принципиальной схеме. Одним словом есть, что обсудить и переварить. Здесь выкладываю, потому что эта печатная плата от ПЭВМ "ИРИША-М".
Плата полностью проверена в соответствии с электрической принципиальной схемой на рис. 6.2 из красной книжечки. И частично оптимизированна, как я это называю. В результате имеем ver1.0 готовую для заказа изготовления. Также будут конструкторы для сборки и некоторое количество собранных экземпляров.
Вот собственно плата как выглядит:
БППН_ИРИША-М_ver1.0
И расположение деталей на ней:
БППН_ИРИША-М_ver1.0_РД
Размер печатной платы 80 х 75 мм.
Во вложении архив с этими же двумя рисунками, так на всякий случай.
Плата полностью проверена в соответствии с электрической принципиальной схемой на рис. 6.2 из красной книжечки. И частично оптимизированна, как я это называю. В результате имеем ver1.0 готовую для заказа изготовления. Также будут конструкторы для сборки и некоторое количество собранных экземпляров.
Вот собственно плата как выглядит:
БППН_ИРИША-М_ver1.0
И расположение деталей на ней:
БППН_ИРИША-М_ver1.0_РД
Размер печатной платы 80 х 75 мм.
Во вложении архив с этими же двумя рисунками, так на всякий случай.
Viktor2312- RIP
- Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск
Re: Архив, всё в каше, но можно выдрать и что-то полезное.
16
Вот как выглядит печатная плата удлинителя магистрали, версии 1.0 (УМ_ver1.0):
Viktor2312- RIP
- Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск
Re: Архив, всё в каше, но можно выдрать и что-то полезное.
17
Блок питания, от одного из вариантов ПЭВМ "ИРИША".
Viktor2312- RIP
- Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск
Re: Архив, всё в каше, но можно выдрать и что-то полезное.
18
***
СТЕК.
Стек - память с определённой (упрощённой) формой адресации. В микропроцессорном устройстве на МПК КР580 стек организуется следующим образом. В оперативной памяти (ОЗУ) команды размещаются в ячейках с младшими, последовательно нарастающими адресами. Стек использует ячейки со старшими адресами и по мере заполнения стека занимаются ячейки с адресами, последовательно убывающими. Таким образом, адреса этих двух частей памяти изменяются навстречу друг другу. См. рис.:
Особенность организации стека состоит в следующем. Указатель стека SP содержит так называемый адрес входа в стек; при чтении из стека производится выборка содержимого ячейки по адресу входа в стек (по адресу, хранящемуся в SP); при записи в стек вводимое в стек число помещается в ячейку с адресом, на единицу меньшим содержимого SP; одновременно с записью и чтением изменяется содержимое SP: при записи уменьшается, а при чтении увеличивается на единицу.
Обмен со стеком производится двухбайтовыми словами, занимающими две ячейки памяти. Пусть указатель стека хранит адрес А. При вводе нового слова его байты должны быть помещены в пару соседних со входом в стек ячеек, имеющих адреса А-1 и А-2. Таким образом, ввод в стек сводится к следующей последовательности действий: содержимое SP уменьшается на единицу и по образующемуся в SP адресу помещается старший байт вводимого двухбайтового слова; затем содержимое SP вновь уменьшается на единицу и по образующемуся в нём адресу помещается младший байт вводимого слова.
Мы видим, что SP каждый раз указывает адрес последней ячейки, занятой под стек, - так называемый вход в стек.
Вывод данных из стека производится также двухбайтовыми словами. При этом каждый раз доступна для чтения лишь ячейка, адрес которой содержится в SP. Если указатель стека хранит адрес А, то байты выводимого из стека слова выбираются из ячеек памяти, имеющих адреса А и А+1. Таким образом, выбор слова из стека сводится к такой последовательности действий: чтение младшего байта выводимого слова из ячейки, адресом которой служит содержимое SP, и увеличение содержимого SP на единицу; затем чтение старшего байта выводимого слова по хранящемуся в SP адресу и увеличение содержимого SP на единицу.
О таком принципе функционирования, когда читается последняя помещённая в память информация, говорят как о принципе "последним вошёл - первым вышел". Как видим, при записи и чтении производится обращение в ячейку, адрес которой связан с содержимым SP. Это упрощает адресацию памяти, но исключает возможность обращения в произвольную ячейку памяти.
Viktor2312- RIP
- Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск
Re: Архив, всё в каше, но можно выдрать и что-то полезное.
19
Для сохранности.
b2m:
b2m:
Вот именно, попробуй. А чтобы облегчить тебе задачу, расскажу, как я бы делал:
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, получится то-же самое.
Viktor2312- RIP
- Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск
Viktor2312- RIP
- Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск
Похожие темы
» Архив сайта spetsialist-mx.ru
» Журналы по радиотехнической тематике на publ.lib.ru (Архив).
» Можно посмотреть
» Можно ли подружить ИРИШУ с дисководом ?
» Что можно извлечь при демонтаже старых CD-MP3/DVD плееров
» Журналы по радиотехнической тематике на publ.lib.ru (Архив).
» Можно посмотреть
» Можно ли подружить ИРИШУ с дисководом ?
» Что можно извлечь при демонтаже старых CD-MP3/DVD плееров
Страница 1 из 1
Права доступа к этому форуму:
Вы не можете отвечать на сообщения
|
|