User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 1564

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

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

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

    По умолчанию

    Поведение команд, что вспомнилось...
    Тут больше чем в УКНЦ влезет, но поди не помешает
    Может забыл чего - в частности поведение EIS, но я и сам не особо помню что и как...

    Код:
    Mnem	Code	N Z V C	    Mnem	Code	N Z V C	    Непредсказуемый
    ~~~~~~~	~~~~~~~	~~~~~~~	    ~~~~~~~	~~~~~~~	~~~~~~~	    результат
    HALT	000000	- - - -	    WAIT	000001	- - - -	    ~~~~~~~~~~~~~~~~~
    RTI	000002	* * * *	    BPT		000003	* * * *	    JMP	    (Rx)+
    IOT	000004	* * * *	    RTT		000006	* * * *	    JSR	    Rx,(Ry)+
    RESET	000005	- - - -	    MFPT	000007	- - - -	    MOV	    Rx,(Rx)+
    SPL	00023L	- - - -	    NOP		000240	- - - -	    MOV	    Rx,-(Rx)
    CLC	000241	- - - 0	    CLV		000242	- - 0 -	    MOV	    Rx,@(Rx)+
    CLZ	000244	- 0 - -	    CLN		000250	0 - - -	    MOV	    Rx,@-(Rx)
    CCC	000257	0 0 0 0	    SEC		000261	- - - 1	    MOV	    PC,X
    SEV	000262	- - 1 -	    SEZ		000264	- 1 - -	    MOV	    PC,@X
    SEN	000270	1 - - -	    SCC		000277	1 1 1 1	    ASH	    #37,Rx
    BR	000400	- - - -	    BNE		001000	- - - -	    ASHC    #37,Rx
    BEQ	001400	- - - -	    BGE		002000	- - - -
    BLT	002400	- - - -	    BGT		003000	- - - -	    Прерывание 4 или 10
    BLE	003400	- - - -	    BPL		100000	- - - -	    ~~~~~~~~~~~~~~~~~~~
    BMI	100400	- - - -	    BVC		102000	- - - -	    JMP	    Rx
    BVS	102400	- - - -	    BHI		101000	- - - -	    CALL    Rx
    BLOS	101400	- - - -	    BCC		103000	- - - -	    HALT в режимах U, S
    BCS	103400	- - - -	    BHIS	103000	- - - -
    BLO	103400	- - - -	    JMP		0001DD	- - - -	    Прерывание 10
    EMT	104000	* * * *	    TRAP	104400	* * * *	    ~~~~~~~~~~~~~
    MARK	0064NN	- - - -	    JSR		004RDD	- - - -	    TSTSET  Rx
    RTS	00020R	- - - -	    SOB		077RXX	- - - -	    WRTLCK  Rx
    CSM	0070DD	- - - -	    CLR(B)	.050DD	0 1 0 0	    CSM в режиме K
    COM(B)	.051DD	* * 0 1	    INC(B)	.052DD	* * * -
    DEC(B)	.053DD	* * * -	    NEG(B)	.054DD	* * * *
    ADC(B)	.055DD	* * * *	    SBC(B)	.056DD	* * * *	    На некоторых CPU
    TST(B)	.057DD	* * 0 0	    ROR(B)	.060DD	* * * *	    SWAB не меняет V.
    ROL(B)	.061DD	* * * *	    ASR(B)	.062DD	* * * *
    ASL(B)	.063DD	* * * *	    WRTLCK	0076DD	* * 0 -
    TSTSET	0072DD	* * 0 *	    SWAB	0003DD	* * 0 0
    SXT	0067DD	- * 0 -	    MFPS	1067DD	* * 0 -
    MTPS	1064DD	* * * *	    MTPD	1066DD	* * 0 -
    MTPI	0066DD	* * 0 -	    MFPD	1065SS	* * 0 -
    MFPI	0065SS	* * 0 -	    MOV(B)	.1SSDD	* * 0 -
    CMP(B)	.2SSDD	* * * *	    BIT(B)	.3SSDD	* * 0 -
    BIC(B)	.4SSDD	* * 0 -	    BIS(B)	.5SSDD	* * 0 -
    ADD	06SSDD	* * * *	    SUB		16SSDD	* * * *
    MUL	070RSS	* * 0 *	    DIV		071RSS	* * * *
    ASH	072RSS	* * * *	    ASHC	073RSS	* * * *
    XOR	074RDD	* * 0 -
    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. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

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

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Поведение команд, что вспомнилось...
    Тут больше чем в УКНЦ влезет, но поди не помешает
    Может забыл чего - в частности поведение EIS, но я и сам не особо помню что и как...
    Что это такое и к чему?

  4. #3

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

    По умолчанию

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

    Код:
    ERROR:  SEC
            RETURN
    OK:     CLC
            RETURN
    Чем советские (да и не только) программы частенько страдают
    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. #4

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

    По умолчанию

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

    Код:
    ERROR:  SEC
            RETURN
    OK:     CLC
            RETURN
    Чем советские (да и не только) программы частенько страдают
    А городить надо так:
    Код:
    OK:     TST     (PC)+
    ERROR:  SEC
            RETURN

  6. #5

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

    По умолчанию

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

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

  7. #6

    Регистрация
    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

  8. #7

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

    По умолчанию

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

  9. #8

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

    По умолчанию

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

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

    ...

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

  10. #9

    Регистрация
    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

  11. #10

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,806
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    79 сообщений
    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

Страница 1 из 2 12 ПоследняяПоследняя

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

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

Эту тему просматривают: 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

Ваши права

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