Так это был не компилятор! это урод какой-то!
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Отправлено
PicoDev2
19 сентября 2004 г. 07:43
В ответ на:
хех, о библиотечных функциях вообще речи нету. В программе нет ни одного библиотечного заголовка. Тут дело в компиляторе. Я сталкивался с одним таким - сложение двухбайтных чисел делалось в подпрограмме, причём эти несчастные 4 байта копировались сначала в программный стек, затем в локальные переменные подпрограммы сложения и так же возвращались обратно. Быстродействие было просто охренеть.
отправлено m_tee 19 сентября 2004 г. 06:07
Составить ответ
|||
Конференция
|||
Архив
Ответы
сами вы уроды, самая обычная реентрантная функция. Что еще компилятору по вашему делать ? Может вы будете эту функцию вызывать из прерываний ? А быстродействие.... Нехрен для 8битных тормозных уродцев тогда на С писать, если быстродействие так нужно
—
DASM
(19.09.2004 11:50,
пустое
)
По-нашему, если компилятор хотел реентрантно складывать, ему следовало бы сохранить собственные регистры этой подпрограммы в стеке. А так они при каждом вызове тупо переписываются. Сколько бы ret подряд не было - функция будет отдавать результат последнего сложения. Собственно для устранения последствий этого бага мне приборчик и приносили
—
m_tee
(19.09.2004 13:44,
пустое
)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru