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

User Tag List

Страница 16 из 28 ПерваяПервая ... 121314151617181920 ... ПоследняяПоследняя
Показано с 151 по 160 из 276

Тема: Практическое программирование в среде RT-11 на ассемблере.

  1. #151

    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    2,321
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    225
    Поблагодарили
    177 сообщений
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    А если еще вспомнить старые компиляторы MACRO-11 в которых символы R0-R5, SP, PC не были определены... Вроде в моей любимой книге Сингера советуют явно определять регистры
    Угу. Например ПЛОСовский асм (не макро, макрокоманд он не понимает). Все мои программы тех вреиен начинались: R0=%0 <CR><LF> ... R5=%5<CR><LF> R6=%6 <CR><LF> R7=%7

    С переходом на RT-11 этот список сократился до двух последних строчек - про R6 и R7. Поскольку при вызове подпрограммы я на автопилоте писал JSR R7,SUB, при выходе из П/П - RTS R7 и MOV Rn,-(R6) при сохранении регистра. А SP, PC, команды CALL и RETURN я так и не выучил.
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

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

  3. #152

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AFZ Посмотреть сообщение
    команды CALL
    DEC с этой командой вытворяет черт-те что в своих системах...
    Например если заглянуть в системные программы RSX можно увидеть (справа написано что получится в результате):
    Код:
    	CALL	$INTSV,PR5	;	JSR	R5,$INTSV
    				;	.WORD	PR5
    	CALL	$SAVNR		;	JSR	R5,$SAVNR
    	CALL	$SWSTK,EXIT	;	EMT	376
    				;	.WORD	EXIT
    И только во всех остальных случаях будет обычный JSR PC

    - - - Добавлено - - -

    Код:
            .BYTE   NOP/IOT+SWAB,EMT/BR     ;АНАЛОГ МАКРОКОМАНДЫ .EXIT В RT-11
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  4. #153

    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    374
    Поблагодарили
    311 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    AFZ, я поправлю и на свежую голову (в моём понимании) вечером отпишусь.
    Глобальной я называю метки с двойным двоеточием естественно.

    Я помню, что все исходники "взрослых программистов" на МАКРО-11 которые
    я в детстве разбирал, в шапке всегда содержали .ENABL LC, MCL и .DSABL GBL )

    В общем обсуждение интересное получается, по исходнику текущему продолжим позже.
    Лады? )

    - - - Добавлено - - -

    Насчёт 2-ух буквенности в имени драйвера я конечно знал, но видимо основательно забыл ))) Или увлёкся просто )))
    Архив программ для УК-НЦ, ДВК и БК.

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

  5. #154

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от hobot Посмотреть сообщение
    по исходнику текущему
    Держи на закуску слегка дополненный драйвер (там же). Добавлен грязный хак, запрещающий обрыв по CTRL/C (и вообще клавиатуру). При этом в стартовом файле обязательно должна быть загрузка драйвера - иначе клавиатура просто будет эффективно отключена
    Не будет работать в многотерминальном RT-11.
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  6. #155

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,250
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    639
    Поблагодарили
    415 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Драйвер реагирует только на .PRINT который печатает подсказку KMON.
    Вообще-то в KMON два .PRINT-а после которых стоит команда MOV R5,R5. Второй .PRINT обслуживает подсказки дополнительных вопросов, когда вводится команда без параметров, например ввели COPY и задаётся сначала вопрос "From?". Получается, что драйвер и на этот .PRINT будет реагировать.
    В своём драйвере AC я ограничивал диапазон, чтобы реагировало только на запрос командной строки.

  7. #156

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Вообще-то в KMON два .PRINT-а после которых стоит команда MOV R5,R5.
    Да, но в силу специфики задачи, до другого дело никогда не дойдет

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Получается, что драйвер и на этот .PRINT будет реагировать.
    Да, если бы удалось заставить KMON спросить скажем "Device?" была бы точно такая же реакция. Но в сущности именно это и требовалось - всегда попадать в определенную программу.

    - - - Добавлено - - -

    Цитата Сообщение от Alex_K Посмотреть сообщение
    В своём драйвере AC я ограничивал диапазон, чтобы реагировало только на запрос командной строки.
    Там специфика другая - нужно было насколько я помню менять именно подсказку команды
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  8. #157

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,250
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    639
    Поблагодарили
    415 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Интересно, а почему hobot-а не удовлетворил JS.SYS? Так же мой AC.SYS мог запускать SY:ACM.SAV вместо вывода приглашения.

  9. #158

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Есть и еще один нюанс который в другом драйвере мог бы резать глаза - это работа с адресами программы. Драйвер проверяет при сборке MMG$T (от этого зависит смещение до сохраненного PC перед EMT), но дальше никаких усилий по преобразованию адреса не выполняет ибо в данном конкретном случае мы имеем дело с KMON который всегда в нижней памяти

    - - - Добавлено - - -

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Интересно, а почему hobot-а не удовлетворил JS.SYS?
    Наверное когда есть исходники - всегда интересно. Опять же, я вон предложил простой способ заблокировать CTRL/C в момент загрузки
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  10. #159

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,250
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    639
    Поблагодарили
    415 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Наверное когда есть исходники - всегда интересно. Опять же, я вон предложил простой способ заблокировать CTRL/C в момент загрузки
    Исходники AC.SYS тоже есть в образе sysimage.dsk. Там тоже можно в инсталляционную процедуру вставить блокировку клавиатуры, а по SET AC ON восстанавливать разрешение прерываний. Мой во всяком случае работает и в версии 5.00.
    А по поводу исходников JS.SYS - его размер всего 2 блока, вручную дизассемблировать особого труда нет, если уж очень хочется.

  11. #160

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    вручную дизассемблировать особого труда нет, если уж очень хочется.
    А смысл? Я показал направления куда можно копать. Это все совместимо и с 5.0 (при желании можно и для 4.0 сделать, но там придется методику менять - там нет SL magic), только вместо точки входа LOAD нужно сделать подключение вручную через запуск из SET - это несложно. Пусть развлекается
    Последний раз редактировалось form; 13.12.2016 в 23:20.
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

Страница 16 из 28 ПерваяПервая ... 121314151617181920 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Арифметические процедуры на ассемблере
    от spensor в разделе Программирование
    Ответов: 27
    Последнее: 13.05.2017, 20:56
  2. Пишем на ассемблере под эмулятором
    от GM BIT в разделе Для начинающих
    Ответов: 76
    Последнее: 15.07.2016, 20:04
  3. try-catch на ассемблере z80
    от siril в разделе Программирование
    Ответов: 22
    Последнее: 30.10.2012, 21:17
  4. Продам книгу- AMIGA: программирование на ассемблере
    от Doctor Max в разделе Барахолка (архив)
    Ответов: 11
    Последнее: 01.03.2012, 00:35
  5. Подпрограмма на ассемблере в памяти?
    от jimled в разделе Программирование
    Ответов: 1
    Последнее: 29.11.2009, 06:46

Ваши права

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