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

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

Отправлено Anddy_SP 23 июня 2003 г. 10:19
В ответ на: Ответ: Так так и должно быть! 1-й параметр занимает столько регистров, сколько ему нужно. отправлено Bill 23 июня 2003 г. 10:06

т.е. он компилятор ведет свою статтистику вызовов и фиксирует передачу самого длинного параметра и соответственно устанавливает глобально размер передоваемых регистров. я попробовал сделать оба передоваемых параметров типа char дык он первый параметр разместил в r16 а второй в r17 а когда включил галочку USE ICCA90 1x calling convention сталовызываться как в документации независимо от типа переменных. А кстати провел еще эксперимент отключил всякую оптимизацию и вышеназванную галочку и параметры снова стали передоваться как в документации.

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

Ответы



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

E-mail: info@telesys.ru