これがチュートリアル サービスであり、クライアントがさまざまなアセンブリ コードをテストするだけでよく、プログラムの外部で操作 (ファイル システムの読み取りや変更など) を実行する必要がない場合、別のオプションは、選択されたアセンブリ コードのサブセットのみを許可することです。指示。特に、システム コールを実行できる命令を許可しないでください。また、限られた制御転送命令のみを許可します (たとえば、リターンなし、ユーザーのコード内で定義されたラベルのみに分岐するなど)。また、特定のレジスターにある値を出力するライブラリー呼び出しなど、出力を返すいくつかの制限された方法を提供することもできます。数値データ定義として任意のマシンコードを入力できるため、テキスト (コード) セクションでのデータ宣言を許可しないでください。
「別のオプション」と書きましたが、これはサンドボックス化など、他の回答者が提案した他のオプションに追加する必要があります。
この方法はエラーが発生しやすいため、使用する場合は慎重かつ徹底的に設計する必要があります。たとえば、一部のアセンブラでは、1 行で複数の命令を使用できます。したがって、行の最初の命令フィールドのテキストが受け入れ可能であることを確認するだけでは、その行の残りの命令を見逃すことになります。