Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ассемблерные вставки для работы со стеками.
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
egoistic
Здравствуйте!
Меня интересует, почему компилятор ругается на ассемблерные вставки pusha и popa. Их в IAR EWAVR 5.30 не исключили случаем, или я где-то что-то недочитал/недопонял.
Rst7
"Смешались в кучу кони, люди" (С)

Откуда pusha/popa в AVR? Это раз. Второе: зачем?
rezident
Используя язык высокого уровня (Си) нельзя произвольно работать со стеком с помощью ассемблерных вставок, за исключением законченных ассемблерных функций (подпрограмм). То бишь функция должна быть написана на ассемблере по правилам, определяемым конкретным компилятором (с учетом способов передачи аргументов и возврата результата). И если она использует стек, то перед выходом должна вернуть его в исходное (как было до вызова) состояние. В других случаях произвольные ассемблерные вставки работы со стеком чаще всего ведут к нарушению работы всей программы.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.