問題タブ [carryflag]

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 に答える
794 参照

java - java short キャリーが必要かどうかを確認するにはどうすればよいですか

2 つの short 値を加算または減算する場合、キャリー条件にフラグを立てる必要があるかどうかをどのように判断できますか?

0 投票する
0 に答える
125 参照

architecture - キャリーフラグは廃止されていますか?

キャリーフラグには2つの主な用途があるようです。1)足し算/引き算の命令を連鎖させて、ネイティブサイズよりも大きい数を操作すると便利です。たとえば、8ビットアーキテクチャに32ビットintを追加します。2)条件付きブランチに使用されます。あまり一般的ではない使用法もいくつかあります(たとえば、Intelでfcomiを使用しました)。特に、キャリーフラグは、Cまたはその他の一般的な非アセンブラ言語で定義またはアクセスできません。32ビットおよび64ビットアーキテクチャは非常に一般的であり、CIで記述されたほとんどのソフトウェアは次のことを不思議に思う必要があります。

キャリーフラグは廃止されていますか?それなしで新しいアーキテクチャが登場した場合、誰がそれを見逃すでしょうか?

条件コード(フラグが述語に置き換えられるなど)としては必要ないと想定しているため、AFAICTは、add / sub / rotのチェーンにのみ使用され、シフトイン/シフトアウトの効果はなくなります。

0 投票する
4 に答える
2861 参照

c++ - キャリーフラグなしの大整数加算

アセンブリ言語では、通常、2 つのオペランドとキャリーを追加する命令があります。大きな整数の加算を実装する場合は、最小の整数をキャリーなしで加算し、次の整数をキャリー付きで加算します。キャリー フラグにアクセスできない C または C++ で効率的に行うにはどうすればよいでしょうか。いくつかのコンパイラとアーキテクチャで動作するはずなので、単純にインライン アセンブリなどを使用することはできません。

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

optimization - 「追加後のキャリーフラグのテスト」のためのOpenCLアセンブリの最適化

私のOpenCLカーネルでは、これを見つけました:

明らかに、これらの操作は、気の利いたアセンブリ命令を使用して簡単に最適化できます。でこのコードを最適化するにはどうすればよいOpenCLですか?

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

assembly - キャリーフラグを差し引く

MASM32を使用しています。

このコードで:

CFステータスフラグが設定されます。しかし、私の鉛筆と紙を使用すると、実際にはMSBからのキャリーがないことがわかります。はい、私は少数からの減算から多数のセットCFを知っています。しかし、私はなぜ知りたいですか?

このコードを使用しているため:

CFフラグは設定されません。

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

arrays - 数値を表すかのように数字の配列を追加する

次の問題があります。次のように、エントリが 0 から 9 の範囲の整数で構成される配列 X と Y が必要だとします。

これらの配列を 10 進数の数字として考えたいので、X は数字の 123 を表し、Y は数字の 709 を表します。これらの整数の合計の数字を出力するプログラムを書きたいと思います。したがって、与えられた例では、配列を出力する必要があります

123 + 709 = 832 からです。この質問のためには、X と Y が同じ長さ、つまり、それらが表す数値の桁数が同じであると仮定するだけで十分です。これを行っている間、追加中に実行されたキャリーも追跡したいと思います。したがって、この例では、出力もしたいと思います

これは、数字 9 + 3 = 12 を追加したときに 1 をキャリーする必要があったことを表していますが、他の桁の数字の追加はキャリーなしで行われたことを表しています。だから私の主な質問は

  • MATLAB を使用してこの目標を達成する簡単な方法を知っている人はいますか?

これまでのところ、私が思いついたのは、XとYとして2つの数字が与えられた次のコードです

問題は、コードが時々しか機能しないことです。たとえば、[0 0 1] の「キャリー配列」で 123 + 709 = 832 という上記の例を問題なく処理できます。しかし、入力 X = 52514 および Y = 41525 では正しい結果が得られません。だから私のフォローアップの質問は

  • 上記のコードにバグが見られる人はいますか?どうすれば修正できますか?
0 投票する
3 に答える
1204 参照

assembly - キャリービットとオーバーフロービットを使用する理由

組込みシステム入門クラスを受講しています。読んでいると、キャリー ビットとオーバーフロー ビットの実装に関する興味深い質問に遭遇しました。

キャリー ビットとオーバーフロー ビットが何であるかは知っていますが、誰かがキャリー ビットを使用する状況が思い浮かびません。私が考えた理由の1つは、メモリを整列させることでした。誰かがこの問題に光を当てることができますか?

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

math - シンプルなキャリービット

さて、私はテストのために改訂しています。改訂の質問の1つは次のとおりです。

もしも

  • R4 = FEh
  • R5 = DCh
  • R6 = ABh
  • キャリー=0

次のコードの内容Aとその後は何ですか。Carry

正解Carry = 1A = D0h

レジスタが何であるかを理解することはできますが、キャリービットの正しい答えを得ることができません。誰かが私がこれを理解するのを手伝ってもらえますか?

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

c - C は、<< または >> ビット シフトからのキャリー アバウト ビットを保持しますか?

C はシフトからのキャリーアウトを保持し、プロセッサ固有の .h で見つけることができると読みました。

これは本当ですか、それを使用する必要がありますか? または実行ビットを自分で解決する必要がありますか?