С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
В пределах одной отдельно взятой машины вообще непредсказуемых результатов не будет. А если тебе захочется чтобы программа работала не только на УКНЦ, но и еще где-нибудь - надо считаться с возможными вариантами. Взять те же 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
Это не идиотизм, поскольку получаемый результат соответствует ожидаемому.
...
Например,вместоКод:MTPS 0- это гораздо хуже. ( А я именно так и отличился недавно - у половины MTPS забыл решётки к числам добавить и очень потом удивлялся странному поведению программы :)Код:MTPS #0
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
Ну это просто ошибка - всякое бывает
---------- Post added at 02:47 ---------- Previous post was at 02:43 ----------
Так для того и есть таблица. Команды собственно даны так, чтобы место заполнить. Кроме 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
Это хорошо когда есть обработчик прерываний, а если это не обработчик прерываний - там все просто: один обработчик на кучу устройств и никаких проблем (всмысле тем же способом). Но далеко не всегда такие вещи используются в прерываниях
И здесь опять таки таблица признаков помогает. Можно к примеру сравнить 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
А как на PDP11 реализуются 32-битные сумматоры, чтобы можно было пользоваться флагом арифметического переполнения V?
На тех процессорах, где есть команда ADC R0,R1, понятно. Просто делаешь ADD #low_byte,R0; ADC #high_byte,R1.
А на PDP11 как? И еще раз, я имею ввиду конечный флаг V, а не результат.
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
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)