それは少し風変わりな問題かもしれませんが、誰かが私を少し助けてくれることを願っています;)。標準 C プログラムを実行したいのですが、プログラム実行中のある時点で、ローカルのスクラッチ パッド RAM に保存されている特定の数の命令を実行したいと考えています。すべてのプロセスでスクラッチパッド メモリにアクセスできます。このローカル メモリがアドレス 0x80000000 から始まると仮定して、これを次の C コード フラグメントに統合します。
int main {
int a=1;
int b=2;
int c=3;
c = a + b;
%goto address 0x80000000 and execute three instructions before continuing
%program execution here
return(0);
}
main が 0x40000000 にロードされていると仮定すると、プログラム カウンターは次の段階を経ます。
0x40000000 a=5;
0x40000004 b=2;
0x40000008 c=1;
0x4000000C c=a+b;
0x80000000 first instruction in the local scratch pad
0x80000004 second instruction in the local scratch pad
0x80000008 third instruction in the local scratch pad
0x40000010 return(0);
これを行う方法を知っている人はいますか?アセンブラのジャンプ命令を使用する必要がありますか、それとももっとエレガントなものがありますか。
どうもありがとう、アンディ