ラベル間の C コードから malloc によって割り当てられたメモリにコード セグメントをコピーすることで、VM を「インライン化」しようとしています。したがって、開始ラベルと終了ラベルで定義された Ops があり、次のコードで定義された命令をバッファーにコピーしてから実行したい (これが可能かどうかはわかりません)
OP_PUSH0_START:
sp += 4; *sp = 0; // I WANT THE INSTRUCTIONS OF THIS LINE COPIED TO THE BUFFER
OP_PUSH0_END:
そうするために、次のコードスニペットが機能すると思いました
void * ptr0 = &&OP_PUSH0_START;
void * ptr1 = &&OP_PUSH0_END;
while(ptr0 < ptr1)
{
buf[c++] = *ptr0;
ptr0++;
}
goto buf; //jump to start of buffer
しかし、メモリエラーが発生せずに読み取ることはできません
これを達成するためのリンクや提案があれば幸いです