реклама на сайте
подробности

 
 
> Возврат на основную программу из ассемблерной подпрограммы, вызванной еще одной асемблерной подпрограммой.
Omnicake
сообщение Apr 18 2014, 07:05
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 56
Регистрация: 12-01-14
Из: Омск
Пользователь №: 80 002



Здравствуйте, подскажите, какой команду в THUMB инструкции ассемблера использовать, чтобы вернутся из подпрограммы на asm в main.c если сама подпрограмма была вызвана из другой? То есть путь примерно такой: main.c -> подпрограмма1.s -> подпрограмма.2.s . Нужно из подпрограммы2 прыгнуть в main.c. Ранее использовал bx lr, но тут вложение глубже. Заранее спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SSerge
сообщение Apr 18 2014, 08:53
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528



Цитата(Omnicake @ Apr 18 2014, 14:05) *
То есть путь примерно такой: main.c -> подпрограмма1.s -> подпрограмма.2.s . Нужно из подпрограммы2 прыгнуть в main.c.

А зачем? Вам же самому потом по этим граблям ходить!

Другое дело, когда в подпрограмма1 есть вызов подпрограмма2 и сразу же после него возврат.
В этом случае можно немного поэкономить, заменив две команды в самом конце подпрограмма1
BL sub2 ;вызов подпрограммы2
BX LR ;возврат из подпрограммы1 в main
тут я немного погорячился, см. ниже
на одну команду
B sub2 ;переход на подпрограмму2 с последующим возвратом из неё сразу в main


--------------------
Russia est omnis divisa in partes octo.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Omnicake   Возврат на основную программу из ассемблерной подпрограммы, вызванной еще одной асемблерной подпрограммой.   Apr 18 2014, 07:05
- - demiurg_spb   Цитата(Omnicake @ Apr 18 2014, 11:05) Здр...   Apr 18 2014, 07:50
- - Omnicake   Случай в рамке описывает сценарий, когда main тоже...   Apr 18 2014, 08:13
- - Omnicake   Немного запутался...получается если у меня будет п...   Apr 18 2014, 09:00
- - SSerge   При вызове sub1 из main адрес возврата сохраняется...   Apr 18 2014, 09:16
- - Omnicake   Все, понял. Пробежался по ссылке выше (спасибо бол...   Apr 18 2014, 09:19
|- - toweroff   Цитата(Omnicake @ Apr 18 2014, 13:19) Все...   Apr 18 2014, 10:50
|- - SSerge   Цитата(toweroff @ Apr 18 2014, 17:50) ска...   Apr 18 2014, 11:45
|- - toweroff   Цитата(SSerge @ Apr 18 2014, 15:45) Это о...   Apr 18 2014, 12:05
|- - kolobok0   Цитата(toweroff @ Apr 18 2014, 16:05) ......   Apr 18 2014, 22:24
- - ViKo   На C пишите, а в ассемблерный листинг глядите...   Apr 18 2014, 09:20
- - andrewlekar   Честно не знал, что компиляторы си умеют TCO. Тепе...   Apr 20 2014, 15:57


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th August 2025 - 09:21
Рейтинг@Mail.ru


Страница сгенерированна за 0.01395 секунд с 7
ELECTRONIX ©2004-2016