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

User Tag List

Страница 133 из 454 ПерваяПервая ... 129130131132133134135136137 ... ПоследняяПоследняя
Показано с 1,321 по 1,330 из 4535

Тема: ДВК (и всё, что с ними связано)

  1. #1321
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,824
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Получается, что при таком копировании программы в КЦГД надо сперва отключить клавиатуру последовательностью <27><91><50><104><128>?
    Вариантов может быть масса.
    Я обычно критичные части кода в явном виде защищаю ".MTPS #340".
    В данном случае можно в явном виде в 6 записать 340 (а не надеяться, что в системе он такой и есть). Но проблему с этим я объяснил

    Что касается проверки вывода - на него можно или забить (мы ничего не выводили из проги, остальное - не наша проблема), прерывания только запретить заранее приоритетом проца.

    Лично я бы делал так:

    1. прерывания устанавливал бы не через @#4, а через .TRPSET - это бы избавило меня от потребности восстанавливать его потом

    2. хандлер прерывания сделал бы отдельный из одной команды (не считая RTI) - BIS #1,2(SP). В этом случае после CLR @#адрес (или TST @#адрес) мы можем проверить наличие адреса просто командой BCS/BCC

    3. если совсем заморачиваться - проверил бы наличие foreground job - мало ли


    4. как и сказал, .MTPS #340, загрузка, .MTPS #0 (причем именно так - .MTPS, а не MTPS)



    ---------- Post added at 19:29 ---------- Previous post was at 19:25 ----------

    Цитата Сообщение от Titus Посмотреть сообщение
    Зато понимание всех остальных чисел, адресов, байтов и т.д. - тормозное в стиле 'со словарем'. Так что, имея уже некоторую практику анализа PDP-шного кода, скажу, что в шестнадцатиричном виде лично мне гораааздо удобнее)
    Ну ладно, уломал - понимание удобнее для тебя, а команды-то зачем криво писать?
    Да и шестнадцатеричные числа если на то пошло можно писать стандартным способом
    Последний раз редактировалось form; 12.11.2011 в 16:28.
    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

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

  3. #1322
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,590
    Спасибо Благодарностей отдано 
    1,240
    Спасибо Благодарностей получено 
    1,802
    Поблагодарили
    692 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Ну ладно, уломал - понимание удобнее для тебя, а команлы-то зачем криво писать?
    Да и шестнадцатеричные числа если на то пошло можно писать стандартным способом
    Команды пишу опять же 'тюнингованно', как привык на других ассемблерах, где адресация к ячейке памяти записывается, как (mem), а не как @#mem. А шестнадцатиричные числа как только не пишут. На си стандарт 0x0000, где-то пишут 0000h, на спектруме был $0000, где-то писали #0000 (хотя это неудобно, т.к. можно спутать с непосредственными данными), и т.д. Для краткости взял $, т.к. это компактнее, чем 0x.

  4. #1323
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,824
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Команды пишу опять же 'тюнингованно', как привык на других ассемблерах, где адресация к ячейке памяти записывается, как (mem), а не как @#mem. А шестнадцатиричные числа как только не пишут. На си стандарт 0x0000, на спектруме был $0000, где-то писали #0000 (хотя это неудобно, т.к. можно спутать с непосредственными данными), и т.д. Для краткости взял $, т.к. это компактнее, чем 0x.
    На PDP-11 mem бывает разный.

    MEM
    @MEM
    @#MEM

    и все три варианта делают совершенно разные вещи
    пытаться подогнать под другой проц чревато нехваткой фич того проца под который подгоняешь

    Да и другим когда код потом показываешь - как-то приличнее наверное показывать его нормальным

    А для шестнадцатеричного числа есть стандартный способ ^Xчисло на MACRO-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

  5. #1324
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,590
    Спасибо Благодарностей отдано 
    1,240
    Спасибо Благодарностей получено 
    1,802
    Поблагодарили
    692 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    На PDP-11 mem бывает разный.

    MEM
    @MEM
    @#MEM

    и все три варианта делают совершенно разные вещи
    пытаться подогнать под другой проц чревато нехваткой фич того проца под который подгоняешь

    Да и другим когда код потом показываешь - как-то приличнее наверное показывать его нормальным

    А для шестнадцатеричного числа есть стандартный способ ^Xчисло на MACRO-11.
    Я не подгонял, а адаптировал под синтаксис адресации, наиболее мне понятный. Т.к. это было для меня. Когда показывал тут, поменял шестнацатиричные числа на восьмиричные, а адресацию не трогал. Разумеется, другим нужно давать на их языке, я согласен)

  6. #1325
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,824
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Кстати на всякий случай - чтобы потом не напороться

    Код:
            MOV     1000,R1
    данная команда НЕ записывает в R1 содержимое адреса 1000 - это чтоб ошибок не наделать в будущем
    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

  7. #1326
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,590
    Спасибо Благодарностей отдано 
    1,240
    Спасибо Благодарностей получено 
    1,802
    Поблагодарили
    692 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Кстати на всякий случай - чтобы потом не напороться

    Код:
            MOV     1000,R1
    данная команда НЕ записывает в R1 содержимое адреса 1000 - это чтоб ошибок не наделать в будущем
    Что же она делает?)

  8. #1327
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,824
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Что же она делает?)
    Она записывает в относительный адрес 1000 на момент компиляции.
    Для простой программы SAV он совпадет с реальным. А вот если код будет перемещен или будет вунтри оверлея (или скажем драйвера устройства), адрес будет совершенно другим.

    А вот синтакс @#1000 гарантирует, что всегда будет именно 1000.

    Это впрочем нужно для программирования. Для дизассемблирования (правильной) программы как правило не существенно ибо там адрес подставится нужный
    Последний раз редактировалось form; 12.11.2011 в 16:49.
    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

  9. #1328
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,590
    Спасибо Благодарностей отдано 
    1,240
    Спасибо Благодарностей получено 
    1,802
    Поблагодарили
    692 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Она записывает в относительный адрес 1000 на момент компиляции.
    Для простой программы SAV он совпадет с реальным. А вот если код будет перемещен или будет вунтри оверлея (или скажем драйвера устройства), адрес будет совершенно другим.

    А вот синтакс @#1000 гарантирует, что всегда будет именно 1000.
    Ну, так это понятно. К абсолютным адресам я так и обращаюсь @#. В перемещаемых программах так не прокатит. Недавно как раз писал перемещаемую для PPU.

  10. #1329
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,824
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Ну, так это понятно. К абсолютным адресам я так и обращаюсь @#. В перемещаемых программах так непрокатит. Недавно как раз писал перемещаемую для PPU.
    Скажем так, не всегда прокатит
    Для программ загружаемых в PPU через PRUN к примеру очень даже прокатит
    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

  11. #1330
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,590
    Спасибо Благодарностей отдано 
    1,240
    Спасибо Благодарностей получено 
    1,802
    Поблагодарили
    692 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Скажем так, не всегда прокатит
    Для программ загружаемых в PPU через PRUN к примеру очень даже прокатит
    Не знаю, что такое PRUN)

Страница 133 из 454 ПерваяПервая ... 129130131132133134135136137 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Видеорежимы и работа с ними
    от icebear в разделе Программирование
    Ответов: 23
    Последнее: 26.07.2005, 12:55
  2. Видеорежимы и работа с ними
    от icebear в разделе Несортированное железо
    Ответов: 3
    Последнее: 21.07.2005, 11:49
  3. Ответов: 0
    Последнее: 25.06.2005, 23:14

Ваши права

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