問題タブ [cmp]

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.

0 投票する
2 に答える
318 参照

assembly - アセンブリ cmp 命令

次のcmp命令は私を混乱させます:

%eax,0x18(%esp,%ebx,4)

arg1 と arg2 を比較していることは知っていますが、arg2 で括弧内のものと正確に何が起こっているのでしょうか?

ありがとう

0 投票する
3 に答える
3842 参照

bash - Bash、cmpを使用した場合にファイルが同じであることを出力する方法

cmp file1 file2ファイルが同じ場合は何もしません。では、シェルスクリプトでファイルが同じであることをどのように出力しますか?

0 投票する
1 に答える
1190 参照

string - 文字列に対する IA32 アセンブリ cmp

一部の IA32 アセンブリ コードのリバース エンジニアリングに問題があります。つまり、これらの行:

ここでは、$edxレジスタは文字列を保持しており、$eaxレジスタは同じ文字列を保持していますが、インデックス 0 の文字のみが削除されています。

ステップ 214の命令から混乱が生じsubます。文字列の先頭にある 2 つの文字が何であっても、1 になるようです。文字列の長さを比較しているのでしょうか。

さらに、2 つの文字列の呼び出しcmpは何を比較しますか?

どうもありがとう!

編集:

前に、2 つの文字列が cmp されています。

0 投票する
1 に答える
83 参照

c - cmp のアセンブリから実際のアドレスを計算する

コードをデバッグするために gdb を使用していますが、まだ初心者な ので
、実際のアドレスを取得する方法を知りたいと思っていました

%eax と比較されているものを知りたい、つまり 0x4(%rbp,%rbx,4) の内容を知りたい

0 投票する
2 に答える
1148 参照

assembly - CMP ECX、ECX を使用する理由

いくつかのアセンブリを調べていると、ラインが見えます

A==A が常に真であるとは限らないので、これは私には意味がありません。(再帰性)

これが役立つかどうかはわかりませんが、次のコンテキストで使用されます。

0 投票する
1 に答える
250 参照

assembly - なぜキャリーフラグがここに設定されたのですか?

これらのフラグ、特にキャリーとオーバーフロー フラグを使って多くの練習をしているサイトを誰か教えてもらえないかと思っていました。

とにかく私の質問はこれです。

講義ノートを見ていると、5ビットの比較が表示されます

Cmp $12、$6 になる

00110 ~ 01100 に変更可能

キャリー フラグ CF = 1 およびオーバーフロー フラグ OF = 0

Cmp $-6, $-12 は 10100 - 11010 となり、

CF =1 、オーバーフローフラグ OF = 0

オーバーフロー フラグが 0 に設定されていることを理解していると思います。これは、これらの小さな数の減算 (または見方によっては加算) により、2 ^ 5 の範囲の数値を超えることのない小さな数値が得られるためです。

キャリーはどうですか?最後のビットが最後の列/ビットから1を持ち越されたことを意味すると思いましたが、それはキャリーフラグですよね?

私が意味するのは、それが次のようなものだった場合です

それはキャリーフラグが正しく設定される方法ですか?1 は左から 2 番目の 1+1 から来ました。

私の 2 つの例では、これらは一番左の列の上にある 1 ではありません。

どうしたの?

ありがとう。

0 投票する
1 に答える
484 参照

python-2.7 - Delete Duplicate records in CSV file in python 2.7

My INPUT file:

#xA;

Output file should be:

#xA;

Means my output file should be free from duplicates. I should delete the record which is repeating based on the column 1.

Code I tried:

#xA;

Output I got:

#xA;

What am I doing wrong?

0 投票する
1 に答える
1531 参照

assembly - cmpl と jge が期待どおりに動作しない、x86

次の単純な C コードを翻訳する必要があります。

そして、それを次の GNU x86 アセンブリ コードに変換するコンパイラを作成しました。(printi と prints は、翻訳後にリンクするライブラリ関数です)。

ただし、プログラムは何も出力しません。whileのチェック式のあたりでどこか間違えたようです。

命令cmpl %edx, %eaxは、フラグを 0 ~ 5、つまり -5 に設定する必要があります。したがって、jge はそれを .CH1 に分岐しません。したがって-16(%ebp)、1 として設定する必要があり、.CH2 に入る必要があります。1!=0 として、L1 に入る必要があります。どこが間違っているのかわかりません。

0 投票する
1 に答える
4151 参照

arm - ARMで分岐せずに2つのレジスタを比較し、より大きい場合にアクションを実行する方法

私ができることがわかっている2つのレジスタr5とr6を比較しようとしています

私がやろうとしていることは

if R7 > 1 thenADD R8, R8, #1コードの異なるセクションでこれを複数回使用するため、分岐なし

より大きい場合、または分岐後に前の位置に戻ってカウントに追加できる場合は、BGT が分岐することを知っていますか?