問題タブ [addressing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
assembly - ベースのインデックス モードから間接アドレッシング モードへの変換 (x86 アセンブリ)
Ubuntu で x86 AT&T アセンブリを使用しています。
ベース インデックス モードなどの複雑な間接アドレッシング モードを単純な間接アドレッシング モードに書き換える必要があります。
たとえば、次のスニペットを見てください。
この行movb %dl, dict(%eax)
は、インデックス付きアドレス指定に基づいていると思います。それが何をするかというdict+%eax
と、それを取得して逆参照し、そこに配置%dl
するということですよね?
単純な間接アドレッシングにするために、次のように記述しました。
ご覧のとおり、最初に追加dict
し%eax
て結果を配置し%eax
ました。次に、次の行で結果を逆参照します。
これは上記と同じように機能するはずですよね?
それもコンパイルされますが、実行すると、新しいmovb
行でセグメンテーション違反が発生します。
なぜこれが機能しないのですか?
64-bit - レジスタのサイズはプロセッサのパフォーマンスにどのように影響しますか?
私は今日、このトピックに頭を悩ませようとしてインターネットを飛び回っています。ということで、ここまででわかったこと。では、レジスタのサイズが大きいほど、プロセッサが処理できる命令は大きくなりますか?
見積もり:
ワード サイズと呼ばれることもあるレジスタのサイズは、コンピュータが任意の時点で処理できるデータの量を示します。
質問 1:
これは、RAM の扱いに関してどのように説明されますか? この場合、なぜ 32 ビット プロセッサは情報の処理に不慣れであったり遅くなったりするのでしょうか?
また、アドレス指定という用語。そのため、64 ビット プロセッサは RAM 内の 2^64 の異なる場所を「アドレス指定」できますが、32 ビット プロセッサは 2^32 しか処理できません。
質問 2:
アドレッシングとはどういう意味ですか? また、より多くの場所に対応できる機能がより役立つのはなぜでしょうか?
質問 3:
これらの 2 つのポイント、1) アドレス指定可能なロケーションの数、および 2) 命令サイズはどのように関連していますか?
私の質問が混乱しないことを願っています。RAM の参照と例、および 32 ビットと 64 ビットの比較が説明に記載されているとよいでしょう。
assembly - "CMPL" -> ベース モードから間接アドレッシング モードへ
だから私はこのファイルに取り組んでいます。複雑なアドレス指定モードを単純なアドレス指定モードに変換する必要があります。
やりきった
の中へ
すべてのケースで問題なく動作します。
しかし、私は同じことをすることはできません
比較は移動と同じではないことを理解しています。しかし、最後の行の単純なバージョンがどのように見えるか、誰か知っていますか? 事前にThx
assembly - Yasm および MSVC 2013 リンカー: Win64 での RIP
「Linux 用の 64 ビット Intel アセンブリ言語プログラミングの概要」を読み、学習のために Yasm と MS Visual Studio 2013 を使用してコードを Windows に移植しています。第 7 章に、switch の例があります。
そして、リンカーから取得しました:
ただし、何が起こっているのかを理解しようとしましたが、x64 アーキテクチャのアドレス指定の問題であることを理解しています。だから私は自分のコードを次のように変更しました:
そして、コードは機能しました。しかし、質問があります。このコードは、リンカーとして gcc または ld を使用して Linux で動作するはずです。なぜコードを変更する必要があったのですか?
python - 単語のリストを含む Python 分割文字列
アドレス文字列を分割しようとしています
それはより良い方法で行うことができますか
作ろうとしていた
"fulladdress = "213 house rd apt 1011"
私は手に入れたい"213 house rd 1011"
うまくいきませんでした。何かが足りない気がする