私はコンパイラを書くことにしたので、OS APIがどのように動作するのか不思議でした。 C/C++で何かをしているなら、おそらくAPIを呼び出すでしょう。 C/C++では非常に上手く見えますが、アセンブリ時にどのようにコンパイルされているかは非常に混乱しています。彼らは割り込みを発行し、メモリアドレスに書き込み、レジスタに書き込んだり割り込みを発行しますか(BIOS APIの仕組み、OS APIがそうであればわかりません)低レベルのOS APIはどのように機能しますか?
-1
A
答えて
2
自分の質問に答えるために申し訳ありませんが、私は私の書いている場合ことを意味し、単に標準C呼び出しです私は(少なくともWindowsの場合)
どうやらOSのAPIを探していたましたコンパイラ私は自分自身のAPIシステムを実装する必要があります。
+2
あなた自身の質問に答えるのは大丈夫です。 – fuz
+0
さて、よく自分の質問に答えることについて謝罪している誰かを見つけたので、私はそれをやろうと思っていた –
関連する問題
- 1. どのようにカフカの低レベルのプロセッサのAPIで、MS
- 2. 待機/通知はどのようにJVMレベルで機能しますか?
- 3. "APIレベルアナライザ"ツールはどのように機能しますか?
- 4. どのように低レベルのネットワークプログラミングを_できますか?
- 5. Dozer Java APIはどのように機能しますか?
- 6. amazon apiはどのように機能しますか?
- 7. API 24 AccessibilityService.dispatchGesture()メソッドはどのように機能しますか?
- 8. Instagram APIはどのように機能しますか?
- 9. アレイは一般的にどのように低レベルで動作しますか?
- 10. QEMUのゲストOSでネットワーキングはどのように機能しますか?
- 11. SQL Server分離レベルはどのようにビューで機能しますか?
- 12. ワイヤレス低レベルAPI?
- 13. ストリーミングTwitter API - どのように機能しますか?
- 14. Datastore低レベルのAPI - クエリの複数値のプロパティ - FilterOperator.INが機能しない
- 15. logstash kv {}機能はどのように機能しますか?
- 16. WatchKit:ディクテーション機能はどのように機能しますか?
- 17. 機能はどのように機能しますか?
- 18. 高レベルで、どのようにgradle同期がAndroidで機能しますか?
- 19. ArrayAccessはどのように機能しますか?
- 20. iPhone OSでのマルチスレッドはどのように機能しますか?どうやって使うの?
- 21. Webファームのハングファイアはどのように機能しますか?
- 22. Twitter APIの署名は実際にどのように機能しますか?
- 23. 低レベルのWindowsキーフックが機能しなくなるのはなぜですか?
- 24. 低レベルの弾性検索が正しく機能しない
- 25. .jsonファイルはAPI呼び出しでどのように機能しますか?
- 26. Mac Webダッシュボードアプリはどのように機能しますか?
- 27. OSレベルでスリープはどのように実装されていますか?
- 28. SysInternalのProcessMonitorはどのように機能しますか?
- 29. reddit api投票機能はどのように使用しますか?
- 30. PDOトランザクションAPIはどのように機能しますか?ここ
あなたの質問悲しいことに、低レベルのプログラミングに基本的な知識の偉大な欠如を意味します。自分のコンパイラを書くことを検討する前に、このトピックに関する良い本または2点を得て、これらのトピックについて学ぶことをお勧めします。 –
ここで関連する用語は、「呼び出し規約」です(関数の引数がどのように渡され、戻り値が返され、どのレジスタがclobberedで、どのレジスタがそうでないかについて)。より一般的には、ABI(APIのようにBinary)は、物事がどのように組み立てて相互作用するかを記述します。 [x86タグwiki](http://stackoverflow.com/tags/x86/info)には、ABIとは何かに関する良いリンクがあり、x86/x86-64で使用される一般的な仕様の公式仕様へのリンクWindowsとは異なり、安定していて、通常のglibcラッパーなしで直接使用できるLinuxシステムコールABIのようなもの) –
実際にWindowsに興味があることはわかっていますが、それは最も関連性の高い重複のようです。呼び出し規約が設計されている理由の説明については、http://stackoverflow.com/questions/8335582/why-does-ia-32-have-a-non-intuitive-caller-and-callee-register-saving-conventionを参照してください。彼らのやり方。また、SO docsの[x86 Linux 32ビットアセンブリHello World、純粋なシステムコール(libcなし)を参照](http://stackoverflow.com/documentation/x86/1164/introduction-to-x86/19078/x86-linux) -hello-world-example)を使用します。 –