Я могу настроить процессор ARM для Возрастающего направления роста Стека?

попробуйте

<%= System.Web.HttpUtility.HtmlDecode(yourEncodedHtmlFromYouDatabase) %>

подробнее здесь @ MSDN онлайн .

НТН!

5
задан Community 23 May 2017 в 11:44
поделиться

3 ответа

Ну, процессоры ARM не поддерживают стек напрямую, но они есть инструкции, разработанные с учетом этого: LDM и STM. Таким образом, если вы используете STMDB в начале функции и LDMIA в конце, вы фактически получаете полный + убывающий стек: ассемблеры, которые я помню, позволяли вам писать «STMFD» и «LDMFD» в качестве псевдонимов. («Полный» стек - это тот, в котором указатель стека указывает на последнее слово в стеке, а не на следующее используемое место)

Так что это не то, что вы можете просто перенастроить во время выполнения: хотя, если бы вы писали свой собственная операционная система с собственным соглашением о вызовах, вы можете использовать восходящий стек. Так же, вы также можете отказаться от использования R13 в качестве указателя стека - это тоже часть соглашения о вызовах. Этот выбор эффективно внедряется в реализацию каждой функции, использующей стек.

6
ответ дан 14 December 2019 в 08:59
поделиться

Хммм thumb / thumb2 может ограничивать вас в push / pop, а с thumb2 только ARM, я не знаю, можно ли в общем сказать, что вы можете пойти в обе стороны. Традиционные инструкции для рук, да, вы можете ldmia или ldmdb (увеличение после или уменьшение до) и stmdb и stmia. Как заставить компилятор C, например, подниматься по адресам, а не автоматически вниз? Не знаю.

Это похоже на прямой порядок байтов в ARM, только потому, что вы можете этого не делать, потому что это приносит с собой головную боль.

0
ответ дан 14 December 2019 в 08:59
поделиться

У вас есть функция __ user_initial_stackheap () , которая помогает вам изменить SP с помощью Stack-Start, Stack-End и перемещения кучи с помощью Heap-Start, Heap-End. Эту функцию можно использовать во время инициализации, поскольку ARM будет использовать ее для перенаправления стека и кучи.

Кроме того, у вас есть возможность использовать модель с одной областью или двумя модулями памяти [в зависимости от ваших требований]. Я использовал этот API, когда писал сценарии использования, в которых использовался ARM926EJ-S.

Этот документ помог мне во время моей разработки и может быть полезен и вам.

Надеюсь, это поможет.

-hjsblogger

1
ответ дан 14 December 2019 в 08:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: