問題タブ [addressing-mode]
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 - レジスタ・アドレッシング・モード vs ダイレクト・アドレッシング・モード
私はテスト用紙でこの質問に遭遇しました。それは、与えられたアドレッシングモードのどれがより速いですか? なんで?
- レジスタ・アドレッシング・モード
- ダイレクトアドレッシングモード
今私によれば、レジスタはコンピュータ内で最速のメモリ位置であるため、レジスタアドレッシングモードはより高速である必要があります。これはそれに対する正しい答えですか?
助けてください。ありがとう
assembly - NASMでのmoveax、[ebx + ecx * 4]はどういう意味ですか?
アセンブリを学び始めたばかりで、次の表現に戸惑いました。
データはどのアドレスからeaxに移動されますか?
そして、[ebx + ecx * 4]のアドレスの計算結果が何であるかわかりませんか?
assembly - オペコードのアセンブリ セグメント
私は、アセンブリ セグメントがオペコードで使用されていることに気付きました。
例:
「PTR SS:」は、EBP-30 がスタックから来ることを指定するために使用されていると思いますか? (SS: スタック セグメント) 私は正しいですか、それとも完全に間違っていますか? :) そして、上の例との違いを教えてください。
また、オペコードで使用される DS (データ セグメント) はどうですか?
assembly - 8086 アセンブリ ADD アドレッシング モード
こんにちは私は 8086 のアセンブリ コードを書いていますが、たとえば CPU がどのように区別されるのか疑問に思っています
AND AX, [メモリアドレス] および AND AX, メモリアドレス
そのアドレスの内容に置き換える必要があることを示すために [] を前後に付けていますが、CPU はそのような命令を認識しています。
00 01 1101001
値 1101001 を追加する必要があるか、アドレス 1101001 の内容を追加する必要があるかをどのように判断しますか。
複数の ADD コマンドがあり、それらのオペコードは (ADDTHECONTENTS と ADDTHEVALUE) のように異なると考えていますが、a86 ではセマンティクスを [] 構文と簡単に区別できるため、単に ADD と言うことができます。これは論理的に思えますが、それについてはよくわからないので、さまざまなアドレッシング モードに対応する命令のオペコードがたくさんあるかどうかを尋ねたかったのです。
assembly - NASMマクロ-任意のアドレッシングモードを扱う
NASMマクロを記述します。divideには2つの引数があり、任意のアドレッシングモードで符号なし整数を指定します。マクロは、最初の引数の上限を2番目の引数で割った値を計算し、その結果をレジスタedxに配置します。2番目の引数が0(実行時にテストされる)の場合、結果は0になり、「ゼロ除算」というメッセージがstdoutに出力されます。
どちらがどれであるかをどのように判断できるので、それぞれのケースを処理できますか?(;アドレスモードは、レジスタ、メモリ、およびイミディエートです。)
編集:これは私が書いた最後のコードです:ラベルなしでこのコードを書く方法は?(位置独立コード):
assembly - @アセンブラにサインインしますか?
私は情報システムのクラスの割り当てを行っていますが、教授は疑似アセンブラを使用することにしました。彼は使用しました
の
その記号はどういう意味ですか?
assembly - 奇妙なアセンブリ コード: cmp ebp, ds:dword_84B8844
IDAPro を使用して、elf ファイルを逆アセンブルします。関数 sub_8210884 で、いくつかの奇妙なコードに気付きました。
sub_8049DB6:
sub_8210884:
どのような意味です?sub_8049DB6 のローカル変数への参照だと思いますが、よくわかりません。
完全なアセンブリ コードは次のとおりです。
assembly - Masm32-アドレッシングモードと配列
アドレッシングモードで少し混乱しています。
私がこの声明を持っている場合:
EBXがベース、EDIがインデックス、+ 10はEDIにさらに10バイトを追加すると言っていますか?それで、EDIは14バイトの長さを返しますか?住所を返してEAXに入れますか?
同様に、
これは、配列内のどのインデックスでも、4バイトの長さを返すということですか?配列はインデックスごとに4バイトの長さなので、正しいですか?私は*4が何をするのか理解していないと思います!
更に、
これは、4バイトの大きさのインデックス0から始まる配列に数値100を入れることになるでしょうか?つまり、index [0] = 100、index [1] = 101、index [2] = 102?
ありがとうございました
arrays - x86 - 配列内の要素にアクセスするためのアドレッシング モード
アセンブリ言語を勉強しようとしています。アドレッシングモードを使用して次の各配列タイプの要素にアクセスする方法について、誰かが説明および/または例を挙げてもらえますか?
の配列
DWORD
構造体の配列。各構造体には 2 つ
DWORD
のが含まれます配列の配列。各配列には 10 個
DWORD
の sがあります
assembly - x86 命令の意味
現在 gdb でいくつかのコードを実行していますが、これら 2 つの命令が実際に何をするのかわかりません。誰かが私を助けてくれたら、本当に感謝しています。