Радио Рк-86

Обсуждаем цифровые устройства...
Аватара пользователя
uldemir
Друг Кота
Сообщения: 7359
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Re: Радио Рк-86

Сообщение uldemir »

Жалко там нет исходников. Так можно было бы спортировать на те микросхемы, что есть под рукой.
Реклама
Аватара пользователя
Ратмир
Друг Кота
Сообщения: 8865
Зарегистрирован: Чт янв 20, 2011 19:54:19
Откуда: Уфа

Re: Радио Рк-86

Сообщение Ратмир »

uldemir писал(а):Жалко там нет исходников.
да только 48 или 88 мегу надо :dont_know: под другие не катит :(
хотя в магазинах их полно :))
"Мы так жить будем, что наши внуки нам завидовать будут" В.С. Черномырдин
Изображение
Реклама
Аватара пользователя
Bear2011
Друг Кота
Сообщения: 13253
Зарегистрирован: Ср апр 06, 2011 09:58:13
Откуда: Кузбасс

Re: Радио Рк-86

Сообщение Bear2011 »

Кстати по поводу МОНИТОРа на 32 странице есть дизассеблированный текст без комментариев uldemir выкладывал
http://radiokot.ru/forum/viewtopic.php? ... 9#p1249959
Аватара пользователя
Ратмир
Друг Кота
Сообщения: 8865
Зарегистрирован: Чт янв 20, 2011 19:54:19
Откуда: Уфа

Re: Радио Рк-86

Сообщение Ратмир »

Bear2011 писал(а): есть дизассеблированный текст без комментариев uldemir выкладывал
http://radiokot.ru/forum/viewtopic.php? ... 9#p1249959
Ду уж :? если в Си можно хоть немного разобраться,здесь я впадаю полный ступор, в ассемблере одни прыжки куда-то :dont_know: и куча мелких попдпрограммок,голову точно можно сломать, может petrenko подскажет где подпрограмма работы с клавиатурой? :)
нашел один комментарий
Изображение
Вложения
ввод.JPG
(34.97 КБ) 1112 скачиваний
Последний раз редактировалось Ратмир Пн окт 21, 2013 15:29:58, всего редактировалось 1 раз.
"Мы так жить будем, что наши внуки нам завидовать будут" В.С. Черномырдин
Изображение
Реклама
Эиком - электронные компоненты и радиодетали
petrenko
Друг Кота
Сообщения: 5326
Зарегистрирован: Вт фев 21, 2012 13:51:55
Откуда: Начинающий
Контактная информация:

Re: Радио Рк-86

Сообщение petrenko »

Подскажу пренепременно, только сейчас я маленько занят, к 23 часам доберусь до хаты, сообщу точки входа в подпрограммы.
И этот кусочек кода тоже постараюсь прокомментировать, разъяснить что именно там делается..
Последний раз редактировалось petrenko Пн окт 21, 2013 15:32:14, всего редактировалось 1 раз.
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста
Реклама
Аватара пользователя
Ратмир
Друг Кота
Сообщения: 8865
Зарегистрирован: Чт янв 20, 2011 19:54:19
Откуда: Уфа

Re: Радио Рк-86

Сообщение Ратмир »

petrenko писал(а):Подскажу пренепременно, к 23 часам доберусь до хаты, сообщу точки входа в подпрограммы.
Хорошо :beer: а я пока потренируюсь на emu8086
"Мы так жить будем, что наши внуки нам завидовать будут" В.С. Черномырдин
Изображение
Реклама
Аватара пользователя
uldemir
Друг Кота
Сообщения: 7359
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Re: Радио Рк-86

Сообщение uldemir »

Вот мой комментированный исходник, когда я переделывал монитор под 60к. Так что отличия уже могут быть.
Спойлер

Код: Выделить всё

; ПОДПРОГРАММА ОПРОСА СОСТОЯНИЯ КЛАВИАТУРЫ
; ВЫХОДНЫЕ ПАРАМЕТРЫ В АККУМУЛЯТОРЕ
; A=00 КЛАВИША НЕ НАЖАТА
; A=FF КЛАВИША НАЖАТА
; ПОДПРОГРАММА МОДИФИЦИРУЕТ ВСЕ ЯЧЕЙКИ
;
CNSTAT: LDA     PC55    ; КЛАВИША РУС/ЛАТ НАЖАТА?
        ANI     80H
        JZ      RLPR    ; ЕСЛИ ДА, ТО JMP
        LDA     BUFLAG  ; А БЫЛА НАЖАТА ?
        ORA     A
        RNZ
RLPR:   PUSH    H
        LHLD    LASTKY  ; ЧИТАЕМ КОД ПОСЛЕДНЕЙ КЛАВИШИ
        CALL    SCAN    ; ОПРАШИВАЕМ КЛАВИАТУРУ
        CMP     L       ; СРАВНИВАЕМ С ТЕМ ЧТО БЫЛО
        MOV     L,A
        JZ      OLDKOD  ; КОД ТОТ-ЖЕ - ПОДАВЛЯЕМ ДРЕБЕЗГ
NEWKOD: MVI     A,01H   ; КОД НОВЫЙ, НАЖАТИЕ ПЕРВОЕ
        STA     PRNFLG
        MVI     H,15H   ; ИНИЦИИРУЕМ СЧЕТЧИК ПОДАВЛ. ДРЕБЕЗГА
QUT1:   XRA     A
QUT2:   SHLD    LASTKY  ; ПИШЕМ НОВЫЙ КОД
        POP     H
        STA     BUFLAG  ; И ВОЗВРАЩАЕМ 0
        RET
OLDKOD: DCR     H       ; УМЕНЬШАЕМ СЧЕТЧИК ПОДАВИТЕЛЯ
        JNZ     QUT1
        INR     A       ; СРОК ВЫШЕЛ.
        JZ      QUT2    ; ЕСЛИ ДЛЯ НЕНАЖАТОЙ КНОПКИ
        INR     A
        JZ      RUSLAT  ; ЕСЛИ ДЛЯ РУС/ЛАТ
        PUSH    B
        LXI     B,SNDKEY; ДЛЯ ОСТАЛЬНЫХ КЛАВИШ:
        CALL    L92     ; ВЫДАТЬ ЗВУК
        POP     B
        LDA     PRNFLG
        MVI     H,0E0H  ; ИНИЦИИРУЕМ СЧЕТЧИК ЗАДЕРЖКИ ДЛЯ
        DCR     A       ; АВТОПОВТОРА.
        STA     PRNFLG
        JZ      WTSECN
        MVI     H,40H   ; ИЛИ ПЕРИОД АВТОПОВТОРА.
WTSECN: MVI     A,0FFH  ; И ВОЗВРАЩАЕМ ПРИЗНАК НАЖАТИЯ.
        JMP     QUT2
RUSLAT: LDA     PC55    ; ОПРАШИВАЕМ РУС/ЛАТ
        ANI     80H
        JZ      RUSLAT  ; ПОКА НАЖАТА.
        LDA     REGR    ; ОТПУСТИЛИ...
        CMA             ; ТОГДА ИНВЕРТИРУЕМ РЕГИСТР
        STA     REGR
        JMP     NEWKOD
;
; ПОДПРОГРАММА ВВОДА СИМВОЛА С КЛАВИАТУРЫ
; ОЖИДАЕТ НАЖАТИЕ НА КЛАВИШУ И ВОЗВРАЩАЕТ
; В АККУМУЛЯТОРЕ КОД СИМВОЛА
; МОДИФИЦИРУЕТ ЯЧЕЙКУ ФЛАГА НАЖАТИЯ НА
; КЛАВИШУ
;
CONIN:  CALL    CNSTAT  ; ОПРОСИТЬ СОСТОЯНИЕ КЛАВИАТУРЫ
        ORA     A
        JZ      CONIN   ; ЖДАТЬ, ЕСЛИ НЕ НАЖАТА
        XRA     A
        STA     BUFLAG  ; ЗАПИСАТЬ ПРИЗНАК ОПУСТОШЕНИЯ БУФЕРА
        LDA     LASTKY  ; ПРОЧИТАТЬ КОД ИЗ БУФЕРА.
        RET
;
; ПОДПРОГРАММА ОПРОСА СОСТОЯНИЯ КЛАВИАТУРЫ
; ОПРАШИВАЕТ МАТРИЦУ. РЕЗУЛЬТАТ ВОЗВРАЩАЕТ
; В АККУМУЛЯТОРЕ:
; A=0FF - НЕ НАЖАТА
; A=0FE - РУС/LAT
; ИНАЧЕ КОД КЛАВИШИ
; ЯЧЕЙКИ НЕ МОДИФИЦИРУЕТ, РАБОТАЕТ С ЖЕЛЕЗОМ
;
SCAN:   LDA     PC55    ;
        ANI     80H     ; ПРОВЕРЯЕТ РУС/ЛАТ
        JNZ     CONT1
        MVI     A,0FEH  ; ЕСЛИ НАЖАТА,ТО ВОЗВР.0FEH
        RET
CONT1:  XRA     A
        STA     PA55    ; НА ВСЕ ГОРИЗОНТАЛИ ВЫДАТЬ 0
        STA     PC55    ; ПОГАСИТЬ СВЕТОДИОД
        LDA     REGR    ; КАКОЙ ТЕКУЩИЙ РЕГИСТР?
        ANI     01H
        ORI     06H
        STA     PU55    ; ЗАЖЕЧЬ СВЕТОДИОД В СООТВ. С ЯЧЕЙКОЙ
        LDA     PB55    ; ПРОЧИТАТЬ ВЕРТИКАЛЬНЫЕ ШИНЫ
        INR     A
        JNZ     PRESS
        DCR     A       ; ЕСЛИ  НЕ НАЖАТЫ, ТО ВОЗВР. 0FFH
        RET
PRESS:  PUSH    H       ; СКАНИРУЕМ МАТРИЦУ
        MVI     L,01H   ; H - СКОЛЬКО, L - ЧТО
        MVI     H,07H
SCNCYC: MOV     A,L
        RRC             ; СДВИГАЕМ ВПРАВО
        MOV     L,A     ; И ВЫВОДИМ НА ГОРИЗОНТАЛЬ 0
        CMA
        STA     PA55
        LDA     PB55    ; ЧИТАЕМ ВЕРТИКАЛЬНЫЕ ШИНЫ
        CMA
        ORA     A
        JNZ     WTPRSS     ; ЕСЛИ НАЖАТА, ТО ВЫВАЛИВАЕМСЯ
        DCR     H
        JP      SCNCYC
QNPRSS: MVI     A,0FFH  ; НЕНАЖАТА? ЗНАЧИТ ПОКАЗАЛОСЬ...
        POP     H       ; ВОЗВРАЩАЕМ 0FFH
        RET
WTPRSS: MVI     L,20H   ; H - # ВЕРТИКАЛИ. ПРОВ. УСТОЙЧИВОСТЬ
WTCYC:  LDA     PB55    ; ЕЩЕ РАЗ ПРОЧИТАЛИ,
        CMA
        ORA     A
        JZ      QNPRSS  ; ЧЕРТ, ВСЕ-ТАКИ ПОКАЗАЛОСЬ.
        DCR     L
        JNZ     WTCYC
        MVI     L,08H
CLCOD:  DCR     L       ; ВЫЧИСЛЯЕМ КОД КЛАВИШИ
        RLC
        JNC     CLCOD
        MOV     A,H
        MOV     H,L
        MOV     L,A     ; H- #HOR, L=A- #VERT.
        CPI     01H     ; ВЕРТИКАЛЬ ДЛЯ ДОП.КЛАВИАТУРЫ?
        JZ      DOPKEY  ; A=1
        JC      EXTKEY  ; A=0     0000VVV
        RLC             ;         000VVV0
        RLC             ;         00VVV00
        RLC             ;         0VVV000
        ADI     20H     ;       + 0010000
        ORA     H       ;         0VVVHHH
        CPI     5FH     ; ЕСЛИ СКАН-КОД = 5F
        JNZ     NOSPKY  ; ТО ЭТО ВСЕГДА ПРОБЕЛ
        MVI     A,20H
        POP     H
        RET
;               ТАБ,LF ,CR ,BSP,<- ,UP ,-> ,DOW
TABL1:  DB      09H,0AH,0DH,7FH,08H,19H,18H,1AH
;               HOM,ERA,ESC,F1 ,F2 ,F3 ,F4 ,F5 , А ЭТО ЗАЧЕМ?
TABL2:  DB      0CH,1FH,1BH,00H,01H,02H,03H,04H,05H
EXTKEY: MOV     A,H
        LXI     H,TABL2
        JMP     CLCTAB  ; ВЫБИРАЕМ ТАБЛИЦУ ПЕРЕКОДИРОВКИ
DOPKEY: MOV     A,H
        LXI     H,TABL1
CLCTAB: ADD     L       ; ВЫБРАЛИ ТАБЛИЦУ
        MOV     L,A     ; ВЫЧИСЛЯЕМ. В Н И М А Н И Е ! ! !
        MOV     A,M     ; ПЕРЕНОС В СТ. БАЙТ НЕ ПРОИЗВОДИТСЯ
        CPI     40H     ; ЕСЛИ СИМВОЛ НЕ "ЗБ",ТО ВОЗВРАЩАЕМСЯ
        POP     H
        RC
        PUSH    H
NOSPKY: MOV     L,A     ; КОД В "L"
        LDA     PC55    ; ЧИТАЕМ УПР. КЛАВИШИ
        MOV     H,A     ; И СОХРАНЯЕМ В "H"
        ANI     40H     ; ВЫДЕЛЯЕМ "CTRL"
        JNZ     NOCTRL
        MOV     A,L
        CPI     40H     ; КОД НЕ БУКВЕННЫЙ?
        JM      SHNOPR  ; ИДЕМ СМОТРЕТЬ "SHIFT"
        ANI     1FH
        POP     H
        RET
NOCTRL: LDA     REGR    ; CTRL НЕ НАЖАТА
        ORA     A       ; ЧИТАЕМ РЕГИСТР
        JZ      BASREG  ; ЕСЛИ LAT, ТО JMP
        MOV     A,L
        CPI     40H     ; КОД НЕ БУКВЕННЫЙ?
        JM      BASREG  ; ТОГДА ОБХОДИМ МАСКИРОВАНИЕ
        ORI     20H
        MOV     L,A
BASREG: MOV     A,H     ; "SHIFT" НАЖАТ ?
        ANI     20H
        JNZ     SHNOPR
        MOV     A,L     ; ДА? ТО ПЕРЕВОРАЧИВАЕМ 6-Й РАЗРЯД
        CPI     40H     ; ДЛЯ БУКВЕННЫХ КЛАВИШ.
        JM      NOLIT
        MOV     A,L
        XRI     20H
        POP     H       ; И ВОЗВРАЩАЕМСЯ.
        RET
NOLIT:  MOV     A,L     ; ЕСЛИ ЦИФРОВАЯ, ТО ОТНИМАЕМ 10H
        ANI     2FH
        MOV     L,A
SHNOPR: MOV     A,L     ; ЕСЛИ БУКВЕННЫЙ, ТО ВОЗВРАЩАЕМСЯ
        CPI     40H
        POP     H
        RP
        PUSH    H
        MOV     L,A
        ANI     0FH
        CPI     0CH
        MOV     A,L
        JM      CYFR    ; ЕСЛИ КЛАВИШИ ВЕРХНЕГО РЯДА,
        XRI     10H     ; ТО ВОЗВРАТ, ИНАЧЕ ПЕРЕВЕРНУТЬ
CYFR:   POP     H
        RET
Аватара пользователя
Ратмир
Друг Кота
Сообщения: 8865
Зарегистрирован: Чт янв 20, 2011 19:54:19
Откуда: Уфа

Re: Радио Рк-86

Сообщение Ратмир »

uldemir Вопрос если можно, какой объем занимает Монитор?, и возможно его изменение в сторону увеличения, т.е. увеличение размера самой программы.
"Мы так жить будем, что наши внуки нам завидовать будут" В.С. Черномырдин
Изображение
Аватара пользователя
uldemir
Друг Кота
Сообщения: 7359
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Re: Радио Рк-86

Сообщение uldemir »

Монитор занимает одну ПЗУ ёмкостью 2 килобайта. В своё время тоже мучился с этой проблемой. Первое решение - выкинуть ненужное: команды X и, соответственно, упростил команду G. Так как для отладки пользовался другими средствами. Потом еще чего-то... А потом сделал так что можно было использовать 2 ПЗУ по 2 килобайта. Один чисто с функциями ввода-вывода, а второй, с программой монитор. Правда монитор мне особо не был нужен, так как я грузил CP/M и работал уже в нём. Или ФОРТ.

Увлёкся. А по делу - увеличить можно всё... Проблема в другом - кто это будет поддерживать.
Аватара пользователя
Ратмир
Друг Кота
Сообщения: 8865
Зарегистрирован: Чт янв 20, 2011 19:54:19
Откуда: Уфа

Re: Радио Рк-86

Сообщение Ратмир »

Я про изменения которые предложил petrenko, для адаптации моей "супер" клавиатуры :))
нашел на первой странице твой пост :))
Вообще-то пару лет назад у меня тож был бздык - делал один проектик и для него надо было кошерную РК (без доработок) - так вот самая большая проблема для меня оказалась - клавиатура.
"Мы так жить будем, что наши внуки нам завидовать будут" В.С. Черномырдин
Изображение
Аватара пользователя
uldemir
Друг Кота
Сообщения: 7359
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Re: Радио Рк-86

Сообщение uldemir »

Удастся уместить или нет - трудно сказать, пока не будет точно ясно какие изменения нужно внести. А вторую ПЗУ добавить проблемы нет. Собственно, даже можно найти и воткнуть вместо РФ2 - 27C32. И тогда просто завести туда еще одну линию адреса. А для второй ПЗУ надо делать дополнительный дешифратор (для него потребуется одна микросхема типа ЛА3).
Rokl
Друг Кота
Сообщения: 5232
Зарегистрирован: Пт авг 25, 2006 09:26:19
Откуда: Москва

Re: Радио Рк-86

Сообщение Rokl »

uldemir писал(а): Собственно, даже можно найти и воткнуть вместо РФ2 - 27C32. И тогда просто завести туда еще одну линию адреса. А для второй ПЗУ надо делать дополнительный дешифратор (для него потребуется одна микросхема типа ЛА3).
Для второй ПЗУ РФ2 доп дешифратор делать не надо, достаточно на ножки выбора кристалла обеих ПЗУ вывести старшую адресную линию (А13) на доп ПЗУ её нужно вывести через свободный инвертор.
А ПЗУ 2732 найти не реально. их и в то время не найти было, т.к. в Союзе их не выпускали, только в ГДР делали U2732СС.
Есть у меня одна U2732CC. Не юзаная, как раритетный экспонат держу. А вот U2704CC разломал давно по глупости, остался только корпус керамический, теперь жалею.
Rokl
Друг Кота
Сообщения: 5232
Зарегистрирован: Пт авг 25, 2006 09:26:19
Откуда: Москва

Re: Радио Рк-86

Сообщение Rokl »

Ратмир писал(а):... , как ты себе представляешь мои дальнейшие действия :dont_know:
мне проще выковорить необходимое колличество кнопок и собрать на мотажке :solder:
Так для такого случая тебе Микроком и нужен. Ассемблер есть, подключай свою хитрую клаву к ВВ55 на Микрокоме, которая на старую клавиатуру работала и ваяй драйвер, благо в энергонезависимом RAMДиске можно промежуточные варианты драйвера сохранять. Как клава заработает, оттранслируешь драйвер ассемблером на любой нужный тебе адрес и дальше придется монтировать новый монитор для РК. Благо в старом мониторе есть переход на второе ПЗУ монитора с адреса F000. с этого адреса оттранслируешь машинные коды драйвером и твоя клава будет работать с РК. Это в общем твои действия, а часности нужно смотреть по мере продвижения проекта вперед.
Или, выковыривай кнопки и ваяй обычную РКшную клаву. Герконовые кнопки отличные. С ними РКшная клава работает без дребезга, без залипаний, мягко и надежно. Клава РКшки с обычными кнопками в подметки ей не годится.
Аватара пользователя
Ратмир
Друг Кота
Сообщения: 8865
Зарегистрирован: Чт янв 20, 2011 19:54:19
Откуда: Уфа

Re: Радио Рк-86

Сообщение Ратмир »

Rokl Привет! Рад встрече :beer:
На счет Микрокома это в точку! :)) как я сам не допер :dont_know:нас молодежь все время учить надо :oops:
немного не понятно как будущий драйвер затолкать в "Монитор", но это мелочи..
теперь я хоть буду знать в каком направлении двигаться
на счет 2732 - К573РФ3 не аналог ли?
С уважением,
Ратмир
Последний раз редактировалось Ратмир Вт окт 22, 2013 18:43:54, всего редактировалось 1 раз.
"Мы так жить будем, что наши внуки нам завидовать будут" В.С. Черномырдин
Изображение
Аватара пользователя
Bear2011
Друг Кота
Сообщения: 13253
Зарегистрирован: Ср апр 06, 2011 09:58:13
Откуда: Кузбасс

Re: Радио Рк-86

Сообщение Bear2011 »

на счет 2732 - К573РФ3 не аналог ли?
Нет РФ3 16-разрядное ПЗУ с организацией 4К*16

Вы можете использовать 2764-27256 надо просто подтянуть неиспользуемые разряды к +5В или 0 "земле" Правда они 28-выводные но извратиться можно. А можно зашить в них несколько разных МОНИТОРов и переключать вручную
Аватара пользователя
Ратмир
Друг Кота
Сообщения: 8865
Зарегистрирован: Чт янв 20, 2011 19:54:19
Откуда: Уфа

Re: Радио Рк-86

Сообщение Ратмир »

В Москве кстати они есть под заказ http://www.chiptrade.ru/catalog/art_35_2732.html
только выдают на Митино :( минимум на 50 баксов
Вложения
облом.JPG
(34.64 КБ) 345 скачиваний
"Мы так жить будем, что наши внуки нам завидовать будут" В.С. Черномырдин
Изображение
petrenko
Друг Кота
Сообщения: 5326
Зарегистрирован: Вт фев 21, 2012 13:51:55
Откуда: Начинающий
Контактная информация:

Re: Радио Рк-86

Сообщение petrenko »

Добрый вечер.
Нет, РФ3 не аналог ни разу, если у Вас такие есть - "застолблю" на всякий случай все - они мне в ДВК дюже треба.
Вам найду нужные хоть наши хоть "буржуйские"..
Ратмир писал(а):Я про изменения которые предложил petrenko, для адаптации моей "супер" клавиатуры :))
нашел на первой странице твой пост..
Мои изменения не увеличат объём кода .
там вместо кусочка кода ( любезно прокомментированного "uldemir" ) :

Код: Выделить всё

SCNCYC: MOV     A,L
        RRC             ; СДВИГАЕМ ВПРАВО
        MOV     L,A     ; И ВЫВОДИМ НА ГОРИЗОНТАЛЬ 0
получится :

Код: Выделить всё

SCNCYC: MOV     A,L
        DCR A   ; уменьшаем на 1 то есть после ид3 в сущности тоже сдвигаем - "0"бит "бежит" по 16 линиям так же, как "бежал" по 8 линиям..
        MOV     L,A     ; И ВЫВОДИМ НА ГОРИЗОНТАЛЬ 0
Но и этот код можно ещё оптимизировать..

Точки входа ( как и обещал, выкладывю ) :
0F803h Ввод символа с клавиатуры - в регистре A получим код

0F812h Опрос состояния клавиатуры (A==00 )=>ни одна не нажата (A==0FFh)=>есть нажатия

0F81Bh Опрос кода нажатой клавиши (A==0FFh)=>ни одна не нажата (A==0FEh)=>"РУС/ЛАТ" другие значения - код нажатой
Для удобства разбора ниже под "спойлером" прокомментированный код из Вашего сообщения :
Спойлер

Код: Выделить всё

;============
;wwod s klaviatury 
;====
FE01: LDA 8002 ; Из-за особенностей вм80 и дешифратора выбора устройств лучше применить LDA 8282
ANI 80h ;логическое "и" A и байта 80hex==1000 0000bin то есть обнуление младших 7 бит A 
JZ FE0E ; ну а если старший бит, который не обнуляли тоже оказался "0", то "прыг" на адрес FE0E
LDA 7605 ; содержимое ячейки памяти по адресу 7605 заслать в A
ORA A ; 
RNZ ; если A не равно "0", то возврат из подпрограммы
FE0E: PUSH H ; сохранение в стек пары HL
LHLD 7609 ;загруз. содержимого ячеек памяти с адресами 7609 и 760A в пару HL
CALL FE72 ; вызов подпрограммы по адресу 
CMP L ; сравнение содерж. рег. A и L
MOV L,A ; 
JZ FE2A ; если A==0 то прыг на адрес
FE1A: MVI A,01h ; засыл 01hex в A
STA 760B ; из A в яч.памяти с адресом 760B
MVI H,15h ; засыл 15hex в рег. H
FE21: XRA A ; 
FE22: SHLD 7609 ; содержимое пары HL в яч.пам. с адресами 7609 и 760A
POP H ; извлечение-восстановление содержимого пары HL из стека
STA 7605 ; A в яч.пам. с адресом 7605
RET ; возврат из подпрограммы
FE2A: DCR H ; (HL)<=(HL-1)
JNZ FE21 ; если A не равно "0", то прыг на адрес FE21
INR A ; (A)<=(A+1)
JZ FE22 ; если A==0 ,то прыг на адрес FE22
INR A ; (A)<=(A+1)
JZ FE51 ; если A==0 ,то прыг на адрес FE51
PUSH B ; сохранение пары BC в стеке
LXI B,5003 ; загруз. в пару BC содерж.яч.пам. с адресами 5003 и 5004
CALL FD27 ; вызов подпрограммы по адресу
POP B ; извлечение-восстановление пары BC из стека
LDA 760B ; загруз. в A содерж.яч.пам. с адресом 760B
MVI H,E0h ; в рег.H байт E0hex
DCR A ;
STA 760B ; содерж.рег. A в яч.пам. с адресом 760B
JZ FE4C ; если A==0 ,то прыг на адрес
MVI H,40h ; в рег.H байт 40hex
FE4C: MVI A,FFh ; в рег.A байт FFhex
JMP FE22 ; прыг на адрес
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста
Аватара пользователя
Ратмир
Друг Кота
Сообщения: 8865
Зарегистрирован: Чт янв 20, 2011 19:54:19
Откуда: Уфа

Re: Радио Рк-86

Сообщение Ратмир »

День добрый!
к сожалению РФ3 у меня нет :dont_know:

думаю как бы не сдутся, я понимаю что знать ассемблер это нужная вещь, но чтоб мне его изучить надо кучу времени, которого у меня нет :( из меня радиолюбитель то хреновый, а программист вообще никакой :)
"Мы так жить будем, что наши внуки нам завидовать будут" В.С. Черномырдин
Изображение
Аватара пользователя
uldemir
Друг Кота
Сообщения: 7359
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Re: Радио Рк-86

Сообщение uldemir »

Тогда остаётся искать еще одну клавиатуру, чтобы дать энтузиасту, который будет себе писать и с другими поделится.
Аватара пользователя
Ратмир
Друг Кота
Сообщения: 8865
Зарегистрирован: Чт янв 20, 2011 19:54:19
Откуда: Уфа

Re: Радио Рк-86

Сообщение Ратмир »

Понял :beer: , буду изучать ассемблер
"Мы так жить будем, что наши внуки нам завидовать будут" В.С. Черномырдин
Изображение
Ответить

Вернуться в «Цифровая техника»