2016-12-29 11 views
0

ARM/Thumbアーキテクチャでは、1つのCPUに16(r0〜r15)のレジスタがあります。さらに、Thumb-Instruction-Setは最初の8つのレジスタ(r0〜r7)とr13、r14、r15レジスタしか使用できませんが、最後の5つ(r8〜r12)のレジスタはまだCPUにあります。これらのHi(r8〜r12)レジスタはどのように使用できますか?Cortex-m0でHi(r8-r12)レジスタを使用するには?

最近、私はARM Cortex-M0 CPUで保護方式を設計しています。私のプロジェクトでは、いくつかの情報を格納するためにr9とr10を使用したいと思います。他の命令はこれらのレジスタを使用しないので、これらのレジスタをプッシュしポップする必要はありません。

誰も私にこれらを助けることができますか?命令セットを切り替えるのにBXまたはBLX命令を使うべきですか?

Instruction I use the r9 register

Wrong information

+0

あなたは自分のアセンブラソースファイルで '.syntax unified'文を見逃すことがあります。 –

答えて

0

のCortex-M0はThumb命令セット(およびThumb2からいくつかの命令)をサポートしています。したがって、命令セットがThumbからARMに切り替わる可能性はありません。

参考: https://en.wikipedia.org/wiki/ARM_Cortex-M#Instruction_sets

ARMのドキュメントhttp://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0040d/Bgbbfcgc.htmlから可能な用途の高レジスタについて少しヒントを提供します。

[時間が許すならば、私は代をトライアウトになるとすぐにこの記事を更新します]

関連する問題