私はAT & T構文でアセンブリ言語を学んでいます。後でそれを扱うために、ターミナルからいくつかの文字列を読みたいと思います。 私はsystemcall readを使いたいですが、後で文字列がどこに格納されているのかはわかりません。誰も私の弦を見つける方法を教えてもらえますか?sys_readの後に格納される文字列はどこですか?
-1
A
答えて
1
これは、the 2nd arg you passed to read(2)
が指すバッファに格納されています。マーガレット・ブルームのコメントとして
、x86-64のi386のLinuxはecx
で第二int 0x80
引数を渡しながら、Linuxは、rsi
に第二syscall
引数を渡します。詳細については、システムコール/ ABIの上x86タグwikiのセクションを参照してください。無効なポインタを渡した場合
、read
はeax
で-EFAULT
を返し、どこでも、何も格納しません。 (システムコールに不正なポインタを渡すことからsegfaultを取得しないでください)。
は、すべてのシステムがあなたのコードが行う呼び出しを見ることにstrace(strace ./a.out
)の下で、あなたのプログラムを実行します。
関連する問題
- 1. 定数の文字列はどこに格納されますか?
- 2. 文字列定数はどこに格納されていますか?
- 3. C++の文字列はどのように格納されていますか?
- 4. Reactでは、レンダリング後に格納されるインラインスタイルはどこですか
- 5. はどのように "Pythonで文字列に格納されている「\ b」が文字?である
- 6. 文字列に格納された文字 - ランダム化されたときに別の文字列変数に格納する方法
- 7. 一意の文字列を格納するコレクションはどれですか?
- 8. 文字列をレジスタに格納する
- 9. ローカルストレージに文字列を格納する
- 10. R:別の配列の文字列で配列に格納された文字列を一致させる
- 11. コレクションには文字列が格納されません
- 12. Matlabの配列に数字で分割した後に文字列を格納
- 13. Java - 配列の最後の文字を格納する
- 14. 文字列に格納された名前で変数にアクセスするには?
- 15. 文字列に格納されたユニバーサル文字(html)を印刷するC++
- 16. セッションに格納されているASP.NET、スレッド、接続文字列
- 17. 各文字の数をPHPの文字列に格納する
- 18. 文字列に格納されたJson値をクラス値に割り当ててからSQLに格納する
- 19. ガベージ文字が配列に格納されています
- 20. App Engineに格納される文字列の最大長はどれですか?
- 21. SuspensionManager.SessionStateに文字列以外の文字を格納する
- 22. 文字列変数に文字列変数を格納することはできますか? (Java)
- 23. 重複文字列を文字列配列に格納できますか?
- 24. Lucene.NETに文字列のリストを格納
- 25. ある文字列の文字を配列に格納する方法は?
- 26. Jasmin ByteCode文字列を格納する
- 27. 文字列を格納するSQL
- 28. JSONレスポンスを文字列に格納し、その文字列をローカルに格納する方法ios objective c
- 29. CLOB列にバイナリ文字列を格納できますか?
- 30. Cで多次元配列に文字列を格納するにはどうすればよいですか?
コードが表示されますか?質問の下にある[編集]をクリックし、コードを貼り付けて質問を保存します。 –
は、通常、システムコールを行う前に、あなたは*のECX *または(プラットフォームに応じて)* RSI *文字列が書き込まれるバッファへのポインタに配置する必要があります。 –
どのオペレーティングシステムをプログラミングしていますか? – fuz