-
- У них организовано два стека - "настоящий" используется как стек возвратов (RSTACK), программный - как стек для данных (CSTACK). Cepгeй Бopщ(289 знак., 19.12.2009 14:11)
- Честно говоря не пойму какая разница в быстроте между этими командами, если я неиспользую внешнюю память. Ведь и стек тоже в RAM ложится. ViorDash(16 знак., 19.12.2009 14:29)
- Разница в отсутствии инструкций косвенной адресации. Для "железного" стека операция "прочитать второй от вершины байт", даже "прочитать верхний байт" - задача непростая. Против LDD R16, Y+1, LD R17,Y. - Сергей Борщ(20.12.2009 11:00)
- В подпрограмме всегда и сразу доступен стековый кадр, а в случае единого стека, как это у avr-gcc сделано, надо в начале подпрограммы, получающей параметры через стек или имеющей на стеке локальные переменные, копировать SPH:SPL в регистровую пару. А при ReAl(540 знак., 19.12.2009 14:49)
- Оба подхода в одном компиляторе организовать невозможно, они принципиально различны. BK(444 знак., 26.12.2009 09:29, )
- Плохо что в ИАРе нет возможности переключения. Придется в асме interrupt описывать. ViorDash(9 знак., 19.12.2009 18:08)
- Ну напишете на асме, сохраняя всё при помощи push. Только R29,R28 всё равно не удастся использовать, не сохранив их. А в чём проблема? 30 регистров в обработчике не хватает, а 32 хватит? - ReAl(20.12.2009 10:43)
- Да это я лоханулся. Я то думал пуш и поп могут и SFR сохранять! ViorDash(168 знак., 25.12.2009 21:09)
- Ну напишете на асме, сохраняя всё при помощи push. Только R29,R28 всё равно не удастся использовать, не сохранив их. А в чём проблема? 30 регистров в обработчике не хватает, а 32 хватит? - ReAl(20.12.2009 10:43)
- Честно говоря не пойму какая разница в быстроте между этими командами, если я неиспользую внешнюю память. Ведь и стек тоже в RAM ложится. ViorDash(16 знак., 19.12.2009 14:29)
- У них организовано два стека - "настоящий" используется как стек возвратов (RSTACK), программный - как стек для данных (CSTACK). Cepгeй Бopщ(289 знак., 19.12.2009 14:11)