User Tag List

Страница 37 из 157 ПерваяПервая ... 333435363738394041 ... ПоследняяПоследняя
Показано с 361 по 370 из 1564

Тема: Программирование на УКНЦ как?

  1. #361

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,394
    Спасибо Благодарностей отдано 
    1,702
    Спасибо Благодарностей получено 
    2,219
    Поблагодарили
    873 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    К тому, чтобы лучше понимать программы и не городить идиотизм вроде

    Код:
    ERROR:  SEC
            RETURN
    OK:     CLC
            RETURN
    Чем советские (да и не только) программы частенько страдают
    Все же твоя таблица напоминает что-то PDP-11, а не ВМ2. Взять те же ASC и ASCH. Никаких непредсказуемых результатов в них нет. Да и в других командах непонятно, чего там непредсказуемого?

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

  3. #362

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Все же твоя таблица напоминает что-то PDP-11, а не ВМ2. Взять те же ASC и ASCH. Никаких непредсказуемых результатов в них нет. Да и в других командах непонятно, чего там непредсказуемого?
    В пределах одной отдельно взятой машины вообще непредсказуемых результатов не будет. А если тебе захочется чтобы программа работала не только на УКНЦ, но и еще где-нибудь - надо считаться с возможными вариантами. Взять те же ASH и ASHC которые по разному себя поведут в описанном случае
    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. #363

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    К тому, чтобы лучше понимать программы и не городить идиотизм вроде

    Код:
    ERROR:  SEC
            RETURN
    OK:     CLC
            RETURN
    Чем советские (да и не только) программы частенько страдают :)
    Это не идиотизм, поскольку получаемый результат соответствует ожидаемому.

    ...

    Например,
    Код:
    MTPS 0
    вместо
    Код:
    MTPS #0
    - это гораздо хуже. ( А я именно так и отличился недавно - у половины MTPS забыл решётки к числам добавить и очень потом удивлялся странному поведению программы :)

  5. #364

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

    По умолчанию

    DEC наверное не случайно ошибку Z пишет почти на все эти команды?
    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. #365

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,394
    Спасибо Благодарностей отдано 
    1,702
    Спасибо Благодарностей получено 
    2,219
    Поблагодарили
    873 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    В пределах одной отдельно взятой машины вообще непредсказуемых результатов не будет. А если тебе захочется чтобы программа работала не только на УКНЦ, но и еще где-нибудь - надо считаться с возможными вариантами. Взять те же ASH и ASHC которые по разному себя поведут в описанном случае
    Лично я не ставлю себе задачи писать на УКНЦ, чтобы это потом работало на PDP11 каких-нить. На ДВК - куда не шло. Но как справочная таблица отдельных команд, которые работаю по-разному на разных процессорах - полезно.

  7. #366

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    у половины MTPS забыл решётки к числам добавить и очень потом удивлялся странному поведению программы
    Ну это просто ошибка - всякое бывает

    ---------- Post added at 02:47 ---------- Previous post was at 02:43 ----------

    Цитата Сообщение от Titus Посмотреть сообщение
    Лично я не ставлю себе задачи писать на УКНЦ, чтобы это потом работало на PDP11 каких-нить. На ДВК - куда не шло. Но как справочная таблица отдельных команд, которые работаю по-разному на разных процессорах - полезно.
    Так для того и есть таблица. Команды собственно даны так, чтобы место заполнить. Кроме ASH и явно косячных JMP на регистр, все остальные компилятор и так посчитает ошибкой

    Куда важнее таблица признаков, особенно если будешь разбирать чьи-то программы. Далеко не всегда очевидно почему автор так уверен, что вот в этом месте скажем бит C сброшен, а в этом установлен итд. Или к примеру встречал такую ошибку - при 32битном счетчике пытались оперировать командой INC вместо нужного ADD #1.
    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. #367

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    при 32битном счетчике пытались оперировать командой INC вместо нужного ADD #1.
    Поэтому, чтобы сэкономить одно слово в обработчике прерывания таймера RT-11 - в PSW его вектора установлен бит C (в чём легко можно убедиться, выполнив в KMON команду "E 102"):

    Код:
    .E 102
    000341
    .
    а сам обработчик выглядит так:

    Код:
    LKINT::
    	ADC	$TIME+2
    	ADC	$TIME
    	RTI

  9. #368

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Поэтому, чтобы сэкономить одно слово в обработчике прерывания таймера RT-11 - в PSW его вектора установлен бит C (в чём легко можно убедиться, выполнив в KMON команду "E 102"):

    Код:
    .E 102
    000341
    .
    а сам обработчик выглядит так:

    Код:
    LKINT::
    	ADC	$TIME+2
    	ADC	$TIME
    	RTI
    Это хорошо когда есть обработчик прерываний, а если это не обработчик прерываний - там все просто: один обработчик на кучу устройств и никаких проблем (всмысле тем же способом). Но далеко не всегда такие вещи используются в прерываниях

    И здесь опять таки таблица признаков помогает. Можно к примеру сравнить R1,#1, а можно и #1,R1 и мы можем сэкономить на чем-нибудь за счет этого
    Последний раз редактировалось form; 06.12.2011 в 00:04.
    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. #369

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,394
    Спасибо Благодарностей отдано 
    1,702
    Спасибо Благодарностей получено 
    2,219
    Поблагодарили
    873 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    А как на PDP11 реализуются 32-битные сумматоры, чтобы можно было пользоваться флагом арифметического переполнения V?
    На тех процессорах, где есть команда ADC R0,R1, понятно. Просто делаешь ADD #low_byte,R0; ADC #high_byte,R1.
    А на PDP11 как? И еще раз, я имею ввиду конечный флаг V, а не результат.

  11. #370

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    А как на PDP11 реализуются 32-битные сумматоры, чтобы можно было пользоваться флагом арифметического переполнения V?
    На тех процессорах, где есть команда ADC R0,R1, понятно. Просто делаешь ADD #low_byte,R0; ADC #high_byte,R1.
    А на PDP11 как? И еще раз, я имею ввиду конечный флаг V, а не результат.
    ADC - базовая команда и есть везде.
    Что до флага V, тут он мало поможет ибо переполнение - это переход от 77777 к 100000
    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

Страница 37 из 157 ПерваяПервая ... 333435363738394041 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Программирование на Эмуляторе. Возможно ли это?
    от Toxic в разделе Программирование
    Ответов: 10
    Последнее: 20.01.2008, 19:20
  2. Программирование Altera и JTAG
    от Mikka_A в разделе Несортированное железо
    Ответов: 7
    Последнее: 18.01.2008, 09:07
  3. Программирование и софтмейк на NES
    от Splinter в разделе Nintendo
    Ответов: 7
    Последнее: 30.06.2006, 04:31

Ваши права

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