Попробовал поставить нашу МК1 вместо двух микрух от DEC. Есть тройка проблем
– во-первых – крайние ряды для контактов на плате DEC чуть шире, чем расстояние межу линейками контактов на МК1 – приходится выгибать,
– во-вторых – крайние три контакта с обеих сторон МК1 начинаются упираться в детали и дорожки на плате – их приходится выгибать сильнее,
– в-третьих - за счёт большей длины МК1 она (со стороны тех контактов, которые остаются свободными) начинает упираться в кондёр – его приходится отгибать.
В целом – видимо из-за во-первых и где-то не контакта – МК1 не завелась… Может ещё завтра попробую...
- - - Добавлено - - -
Попался занимательный кусок кода:
или в более коротком виде:Код:660$: CLR R5 CMP R0,R1 BEQ 726$ CLR -(SP) CLR -(SP) 672$: MOVB (R0)+,R5 BIC #177770,R5 TST @SP BEQ 706$ ASH @SP,R5 706$: ADD #3,(SP)+ BIS R5,@SP TST -(SP) CMP R0,R1 BNE 672$ TST (SP)+ MOV (SP)+,R5 726$: RETURN
На беглый взгляд - в R0 - указатель на строку (восьмеричного числа), R1 - адрес её последнего байта + 1, в R5 возвращается результат.Код:660$: LET R5 := #0 IF R0 NE R1 THEN PUSH <#0, #0> REPEAT LET R5 :B= (R0)+ LET R5 := R5 OFF.BY #^C<7> IF @SP NE #0 THEN LET R5 := R5 SHIFT @SP END LET (SP)+ := (SP)+ + #3 LET @SP := @SP SET.BY R5 TST -(SP) UNTIL R0 EQ R1 POP LET R5 := (SP)+ END 726$: RETURN
Действия вроде бы понятны и логичны, но зачем такие извращения со стеком... Правда, стек у этого кода скорее всего на регистрах ДП, так то возможно как то с этим связано, но пока - не совсем понятно..





Ответить с цитированием