9-Jul-04 10:31 Alexey Boyko wrote to George Shepelev:
AB>>> Я после x51 балдел от системы команд AVR. А я после pdp-11 долго на x51 рвотный рефлекс сдерживал :-)
GS>> Тебе бы с PDP-II для начала поработать... Ну таки ж pdp-11, а не pdp-ii. А то прозвучало как "знание языка Si builder" в одном резюме :-)
AB> Hе застал. Hо если PDP-11 сходна с msp430 тогда очень даже ничего. msp430 это в чём-то может и "пере-pdp-11", но больше "недо". У pdp-11 было 8 регистров, а не 16, как следствие - по 8 методов адресации в любой двухадресной команде как на источник, так и на приёмник, включая двойное разименование: Ri ; var @Ri ; *p (Ri)+ ; *p++ @(Ri)+ ; **pp++ -(Ri) ; *--p @-(Ri) ; **--pp X(Ri) ; p[X] @X(Ri) ; *pp[X]
Это просто совершенно не легло в "risc-овость" msp430.
# (константа) это (R7)+ aka (pc)+ var (переменная на фиксированном расстоянии от себя) это X(pc) (pc тут инкрементируется несмотря на отсутствие просьбы это сделать) abs (обращение к абсолютному адресу типа регистра устройства) @(pc)+
Ну правда на 8 регистрах никто на генераторы констант не расщедривался, поэтому да, да... все константы занимали слово в команде.
Полностью ортогональная машинка, можно сделать всё со всем, включая занесение константы в константу :-) при помощи mov (pc)+,(pc)+ и заполнение всей памяти собой при помощи mov -(pc),-(pc)
AB>>> Когда такое было? GS>> Постоянно с этим сталкиваюсь. "Хороший" сишный компилятор для AVR GS>> против грамотного программирования на ассемблере для PIC'а.
AB> Какой точный пример. А если наоборот? ;) Плохой сишный компилятор для AVR проив бездарного программирования на ассемблере для PIC-а :-) ?
wbr,