Думаю тут дело не в компиляторе а в процессоре(+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено misyachniy 20 августа 2003 г. 13:29
В ответ на: (+) отправлено S_agent 20 августа 2003 г. 13:04

В 51 ядре нет эффективных команд для работы со стеком.


push param1
push param2
call func

Доступится к переменным можно так
mov R0,SP
dec R0
dec R0
mov P1,@R0

чтобы вернутся по RET нужно или перемещать адрес возврата
в памяти или использовать jmp @A+DPTR.
То есть проблемы со скоростью работы или вложенностью процедур
В MSP430 наверное такое проще реализовать
add #4, SP ; очистить стек
br -4(SP) ; вернутся в программу

Я не специалист по написанию компиляторов,
но знаю: "Даже самая красиваю девушка не может дать больше чем имеет"
;-)))



Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru