-4

C および ASM で作成したソース コードに ASM 命令を移植しようとしています。命令セットを見つけて、ARMv7 の命令の使用法を理解するのを手伝ってくれる人はいますか? 実際には割り込みを処理しているので、「翻訳」したい:

iretq
int $0x80
int $0x04

私は ARMv7 ASM でプログラミングしたことがありません。

ありがとう!

4

1 に答える 1

3

対応する Intel 命令は、それぞれiretおよびintです。とはいえ、割り込み処理は CPU およびプラットフォームに大きく依存します。コマンドを 1 対 1 で変換しても、動作するプログラムが得られる可能性はほとんどありません。アプリケーションを開発している場合は、割り込みをいじるべきではありません (int 80h であっても、syscall を実行するためのより良い方法があります)。ドライバーや OS カーネルを開発している場合は、アセンブリを 1 行ずつ翻訳するのではなく、体系的に学習する必要があります。

intコマンドは、理論的にはアプリケーション コードに存在する可能性があります。割り込みを呼び出します。これは、OS と対話するための風変わりではありますが、正当な方法です。一方iret、コマンドは割り込みハンドラでのみ使用する必要があります。カーネル空間の外で使用されることはありません。

于 2013-10-27T16:15:42.050 に答える